]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi: Graphical options information update.
[grub2.git] / ChangeLog
CommitLineData
ad543f12
VT
12013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2
3 * docs/grub.texi: Graphical options information update.
4 Removed outdated. Updated current. Inserted missed.
5
6176a0cd
VS
62013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * docs/grub.texi: Mention few new platform-specific commands.
9
9688cae2
VS
102013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
13 currently used so this doesn't really have any effect.
14 Reported by: Douglas Ray <dougray>
15
8154884d
VS
162013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * util/grub-mkstandalone.in: Remove needless copying since we already
19 pass the files to tar.
20
f7b69a3f
VS
212013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
24 compilation but prevents gcc from displaying messages in non-Latin
25 alphabets.
26 * conf/Makefile.common: Likewise.
27
ceca6ddf
HY
282013-10-16 Hiroyuki YAMAMORI
29
30 Handle Japanese special keys.
31 Reported by: Hiroyuki YAMAMORI.
32 Codes supplied by: Hiroyuki YAMAMORI.
33
ac48d334
VT
342013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
35
36 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
37
b2b71bff
VT
382013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
39
40 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
41 * docs/grub.texi: Likewise.
42
669fc449
VS
432013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
46 value in case of incomplete read.
47 (grub_util_fd_write): Likewise.
48
59381678
VS
492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
52
bacfefbb
VS
532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * util/grub-editenv.c (create_envblk_file): More from here ...
56 * util/editenv.c (grub_util_create_envblk_file): ... to here.
57
f7c49570
VS
582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
61 canonicalize file name before doing the rest.
62
7b83ca44
VS
632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
66 mingw32.
67
df1e64c9
VS
682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Define grub_util_is_directory/regular/special_file and
71 use OS-dependent versions rather than to rely on stat().
72
ec16e026
VS
732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * util/grub-mkimage.c: Move backend part to ...
76 * util/mkimage.c: ... here.
77
4b4eeb3c
VS
782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
79
80 Allow compilation with mingw64 albeit with warnings due to lack of
81 %llx/%llu.
82
83 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
84 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
85 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
86 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
87 on mingw64.
88 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
89
f4e0adc0
VS
902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
91
92 Remove leftover references to some of the system headers.
93
e0127364
VS
942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
97 read.
98
20d53541
VS
992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
102 of strerror.
103
5a869940
VS
1042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Split out blocklist retrieving from setup.c to
107 grub-core/osdep/blocklist.c and add windows implementation since
108 generic version doesn't work on NTFS on Windows due to aggressive
109 unflushable cache.
110
c06c7520
VS
1112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
112
113 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
114 files.
115
8f53bb3f
VS
1162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
119 Cut tailing newline. Remove arbitrary limitation. Always use
120 grub_util_tchar_to_utf8.
121
148f1007
VS
1222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
125 * tests/printf_unit_test.c (printf_test): Add %% tests.
126 Reported by: Paulo Flabiano Smorigo.
127
af3b06be
VS
1282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
131 implement fsync.
132
27f9d02e
VS
1332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * configure.ac: Check for nvlist_lookup_string in nvpair since we
136 use nvlist_lookup_string and don't use nvlist_print.
137
f6a81f0a
VS
1382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
139
140 Add wrappers around rename, unlink, mkdir, opendir, readdir and
141 closedir to handle filename charset translation.
142
d7750b32
VS
1432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * include/grub/emu/hostdisk.h: Move file operations to
146 * include/grub/emu/hostfile.h: ... here.
147
2859196e
VS
1482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
151 unicode path.
152
c018c968
VS
1532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
156
7e45abce
VS
1572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
160 and remove export.h.
161
23934da2
VS
1622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/kern/emu/error.c: Removed.
165 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
166 explicitly as it's already in libgnu.a.
167
c11ebcc8
VS
1682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
171 config-util.h include.
172
70671037
VS
1732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Split emunet into platform-dependent and GRUB-binding parts. Keep
176 platform-dependent part in kernel for easy access to OS functions.
177
25ac643a
VS
1782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
181 open/read/write.
182
69ca5876
VS
1832013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * grub-core/osdep/windows/emuconsole.c: New file.
186
d9d68ef0
AB
1872013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
188
189 * conf/Makefile.extra-dist: Add osdep/*/init.c
190
58e211cc
VS
1912013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
194
588744d0
VS
1952013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * util/grub-probe.c (probe): Separate different drives in hint-str
198 by spaces and not newlines.
199 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
200
44016e52
AB
2012013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
202
203 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
204 Handle CD-ROMs.
205
6de9ee86
VS
2062013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
207
208 Pass-through unknown E820 types. It required reorganisation of mmap
209 module.
210
f8f3f155
AB
2112013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
212
213 * Makefile.util.def: Add osdep/init.c to grub-mount files.
214
b73249d2
VS
2152013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
216
217 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
218 fseeko.
219
dac86b18 2202013-10-14 qwertial <qwertial>
221
222 * grub-core/gdb_grub.in: Fix overflow and wrong field.
223
17614b84
JM
2242013-10-14 Jon McCune <jonmccune@google.com>
225
226 * docs/grub.texi: Document new signatures possibility.
227
6de292cb
VS
2282013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
229
230 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
231
84379b61
VS
2322013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
235 missing prototype.
236 (grub_util_tchar_to_utf8): Likewise.
237
21d85db1
VS
2382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
241 * grub-core/kern/emu/main.c: Add missing include.
242 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
243 Don't call grub_util_init_nls.
244 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
245 Likewise.
246
66a1b3ee
VS
2472013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
250 stat.
251
e19bec17
VS
2522013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
255
ee8c1b29
VS
2562013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
259
bb338aaf
VS
2602013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
261
262 Add a wrapper for fopen. On unix-like systems just pass-through. On
263 windows use unicode version.
264
ae5540d3
VS
2652013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
266
267 Move set_program_name and init_nls to host_init. On windows
268 fix in this fuction console and argument charset as well.
269
4cd3c4fe
AB
2702013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
271
272 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
273 GRUB_ENABLE_CRYPTODISK.
274
275 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
276 GRUB_ENABLE_CRYPTODISK.
277 * util/grub-mkconfig_lib.in: Likewise.
278
78170f3e
CCZ
2792013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
280
281 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
282
3414b6c0
MC
2832013-10-12 Melki Christian <Christian.melki@saabgroup.com>
284
285 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
286 error when enabling debug.
287
6d0740e8
IB
2882013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
289
290 * configure.ac: Use -melf_*_obsd on openbsd.
291
ff2d4dc4
VS
2922013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
295
eac6ae82
VS
2962013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * include/grub/misc.h: Use gnu_printf rather than printf as format
299 template since our functions are independent of libc.
300
ba9baabe
VS
3012013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * util/grub-setup.c (setup): Move copying of partition table as
304 futher up as possible to avoid possible overwrite by floppy routines.
305
3062013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
307
308 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
309
145e2369
VT
3102013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
311
312 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
313 * docs/grub.texi: Likewise.
314
3530bc9d
VS
3152013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
318 it's mostly unused. Move vestiges to the callers.
319
fb9f59c3
VS
3202013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
323 version of salt and hash. Use grub_snprintf rather than snprintf.
324
9be1c255
VS
3252013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * docs/grub.texi: Fix problem with braces.
328
ed8c0887
VS
3292013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * conf/Makefile.extra-dist: Fix extra-dist list.
332 * grub-core/Makefile.core.def: Likewise.
333
f72ab14e
VS
3342013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * docs/grub.texi: Document disk names used on Windows and AROS.
337
2fe53a22
VS
3382013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
341 with AROS devs.
342 * grub-core/osdep/aros/hostdisk.c: Likewise.
343
71c1d67a
VS
3442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
345
346 Avoid including hostfile.h when not necessarry as it pulls
347 in OS-specific headers which may redefine generic names
348 like "far".
349
ad297ec7
VT
3502013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
351
352 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
353 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
354 scrollbar_bottom_pad
355 * docs/grub.texi: Likewise.
356
6e9e5dc9
VT
3572013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
358
359 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
360
761c718b
VS
3612013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
362
363 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
364
37149a2f
VS
3652013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
368 Removed.
369 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
370 Made static.
371
3837a151
VS
3722013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
375 leftover.
376
caca1c70
VS
3772013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Move OS-specific driver configuration to grub_util_fd_open. This
380 moves OS-dependent parts from kern/emu/hostdisk.c to
381 grub-core/osdep/*/hostdisk.c.
382
f7676b70
VS
3832013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * util/grub-mkimage.c (generate_image): Use size_t instead of
386 grub_size_t.
387 * util/grub-mkimagexx.c (locate_sections): Likewise.
388 (load_image): Likewise.
389
22f98db2
VS
3902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
393 size_t.
394 (grub_util_write_image): Likewise.
395
b102ce69
VS
3962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
399 get random when no RNG is available.
400 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
401
acbbe5cb
VS
4022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * include/grub/util/lvm.h: Removed.
405
2112fb3f
VS
4062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
409 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
410
79f78fbf
VS
4112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/osdep/windows/sleep.c: Add missing config.h.
414
c2e6f705
VS
4152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
418
aabe433a
VS
4192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/net/drivers/emu/emunet.c: Move to ..
422 * grub-core/osdep/linux/emunet.c: ..here.
423
9a2c903f
VS
4242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * util/ieee1275/ofpath.c: Move to ...
427 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
428 * grub-core/osdep/basic/ofpath.c: ..here.
429
4a445f58
VS
4302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Move password-querying (util-version) routines to grub-core/osdep.
433
c1ca4244
VS
4342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
435
436 Move sleep routines to grub-core/osdep.
437
672fa55e
VS
4382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
439
440 Move OS-dependent files to grub-core/osdep and document it.
441
a5b0365a
VS
4422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
445 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
446
29072e99
VS
4472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
450
f8772ea7
VS
4512013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * util/misc.c: Remove leftover inclusion of malloc.h.
454
a1a315e7
VS
4552013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * include/grub/setjmp.h: Remove leftover GRUBOF.
458
cef86fef
VS
4592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * util/raid.c: Fold into ...
462 * util/getroot_linux.c: ... here. Make all functions static.
463
c4cf25ee
VS
4642013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
467 macros to GRUB ones.
468
53a5f5c2
VT
4692013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
470
471 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
472 occasional bug. If there are too many boot entries or too low
473 scrollbar height then we need to use another formula to calculate
474 the position and size of the scrollbar thumb.
475
de300af2
VS
4762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
477
c4cf25ee 478 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 479
c5827364
VT
4802013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
481
482 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
483 * docs/grub.texi: Likewise.
484
dd2ed8b0
VT
4852013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
486
487 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
488 viewport.
489
7286c384
VT
4902013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
491
ffdfc1f3
VT
492 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
493 minimal width calculations.
7286c384 494
ea547e14
VS
4952013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * docs/grub.texi: Update note on colors on emu console.
498
b726be76
VS
4992013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
502 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
503 it's FS and not GRUB limitation.
504
a5f6ade6
VS
5052013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
508
3b0f3aa2
VS
5092013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
512
1db38304
ST
5132013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
514
515 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
516 kernels by version order.
517
fb295fc0
VS
5182013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
521
47345010
VS
5222013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
523
524 Add AROS hostdisk and getroot routines.
525
bf25f879
VS
5262013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
527
528 Make cryptodisk and diskfilter probe data retrievable programmatically
529 and not just printable.
530
24ca4512
VS
5312013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Split random retrieving code into separate files.
534
c7c177f0
VS
5352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
538 R_ARM_V4BX.
539
d71b45ae
VS
5402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
543 condition.
544 * grub-core/tests/fake_input.c: Likewise.
545 * grub-core/tests/cmdline_cat_test.c: Likewise.
546
e44b9a83
VS
5472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/video/capture.c: Do not do finalization when .fini
550 is called as there is explicit capture_end.
551
4fa60739
VS
5522013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
555 changing windows to avoid crash.
556
17c8bc37
VS
5572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
560
9d4d7977
VS
5612013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * po/exclude.pot: Add several strings to exclude.
564
0caa407c
VS
5652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
568
9ae393da
VS
5692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * autogen.sh: Add ./util/grub-gen-widthspec.c and
572 ./util/grub-gen-asciih.c to exclude list.
573
498d5033
VS
5742013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
577 and don't mark error strings for translation.
578
7d93298f
VS
5792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
582 properly in case of missing block size.
583
b2cae20c
VS
5842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/lib/arm/setjmp.S: Add missing license section.
587
3896d6b4
VS
5882013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * po/swiss.sed: Add replacement for key names and for term computer.
591
ebc1da55
VT
5922013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
593
594 * grub-core/gfxmenu/theme_loader.c: New global options for the
595 theme background image handling. desktop-image-scale-method,
596 desktop-image-h-align, desktop-image-v-align.
597 * grub-core/gfxmenu/view.c: Likewise.
598 * include/gfxmenu_view.h: Likewise.
599 * include/bitmap_scale.h: Proportional scale functions introduced.
600 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
601 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
602 cases of unexpected input variables for scale functions.
603 * docs/grub.texi: Updated documentation for new options.
604
c5739143
VS
6052013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
608
be74aeb3
VT
6092013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
610
611 * grub-core/tests/checksums.h: Corrected due to changes in
612 bilinear interpolation function.
613
d999ac72
VT
6142013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
615
616 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
617 to eliminate artefacts in bilinear interpolation.
618
2b131610
VS
6192013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/video/readers/tga.c: Support paletted tga.
622
de6e5ff8
VS
6232013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
626 incorrect cbcr setting when in color mode.
627
fa31ee9c
VS
6282013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/video/readers/png.c: Support paletted images and clean up
631 greyscale support.
632
e84f8188
VS
6332013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
636 usage of wrong table which resulted in mishandling of 4-byte
637 sequences.
638
6392013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
640
641 * grub-core/term/terminfo.c: Add Home and End key sequences.
642
d72bff09
VS
6432013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/video/readers/png.c (grub_png_decode_image_header):
646 Fix formula for computing total number of bytes.
647
29648c5d
VS
6482013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
651 image processing, fix big-endian and support grayscale.
652
4a876492
VS
6532013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
656 Correctly will with maximum transparency when using index color.
657
3ccf16df
VS
6582013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/video/readers/png.c: Support grayscale
661
6622013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
663
664 * grub-core/video/readers/jpeg.c: Support grayscale.
665
3ccf16df 6662013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
667
668 * grub-core/commands/loadenv.c: Support skipping signature check
669 and variable names filtering.
670
30b7f58f
VS
6712013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
674 * grub-core/kern/emu/hostfs.c: Likewise.
675 * util/getroot_unix.c: Likewise.
676
bab7b1eb
VS
6772013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
680 Migrate all explicit defines to this new one.
681
43b1c99d
VS
6822013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
685 grub_util_fd_strerror when using grub_util_fd_*.
686 (grub_util_fd_open_device): Likewise.
687 (grub_util_biosdisk_read): Likewise.
688 (grub_util_biosdisk_write): Likewise.
689 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
690 (grub_util_fd_strerror): Likewise.
691 (grub_util_fd_sync): Likewise.
692 (grub_util_fd_close): Likewise.
693 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
694 (grub_util_fd_close): Likewise.
695 (grub_util_fd_strerror): Likewise.
696 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
697 function proto rather than macro.
698 (grub_util_fd_sync): Likewise.
699 (grub_util_fd_open): Likewise.
700 (grub_util_fd_strerror): New proto.
701
e8fd80bc
VS
7022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
705 platforms on which it doesn't work.
706
bf645fda
VS
7072013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
710 stat immediately to where it's used.
711
5177ba14
VS
7122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * util/getroot.c (grub_util_check_block_device): Move to ...
715 * util/getroot_unix.c (grub_util_check_block_device): ... here.
716 * util/getroot.c (grub_util_check_char_device): Move to ...
717 * util/getroot_unix.c (grub_util_check_char_device): ... here.
718
9db826e1
VS
7192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
722 disk closing logic.
723
49120085
AB
7242013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
725
726 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
727
b3328b68
AB
7282013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
729
730 * docs/grub.texi (File name syntax): Document ZFS filenames
731 (/volume@snapshot/...).
732
3fff48ab
VS
7332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
736 Always return full path. Fixes a problem with mkrelpath.
737
39cfdaa9
PFS
7382013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
739
740 * util/grub-install.in: Add GPT PReP support.
741 * util/grub-probe.c (probe): Support GPT partition type.
742 (main): Support -t gpt_parttype.
743
7c680e1f 7442013-09-23 Aleš Nesrsta <starous@volny.cz>
745
746 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
747
890bdabe
MM
7482013-09-23 Massimo Maggi <me@massimo-maggi.eu>
749
750 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
751
9c262ff9
TH
7522013-09-23 Tim Hardeck <thardeck>
753
754 * util/grub.d/10_hurd.in: Filter out character for the class.
755 * util/grub.d/10_kfreebsd.in: Likewise.
756 * util/grub.d/10_linux.in: Likewise.
757 * util/grub.d/20_linux_xen.in: Likewise.
758
d755342a
MC
7592013-09-23 Melki Christian <Christian.melki@saabgroup.com>
760
761 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
762 "changed".
763
68b77707
JT
7642013-09-23 Josh Triplett <josh@joshtriplett.org>
765
766 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
767 boot partition.
768
efa68bfa
VS
7692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
772 doesn't use posix_wrap. Keep literal -fno-builtin however.
773
d9104204
VS
7742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
777
c248781a 7782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7792013-09-23 neil
780
5830df88 781 * configure.ac: Do not enable -Wmissing-noreturn as its
782 usefulness is limited and creates problems on some OS notably with
783 code generated by bison.
784
7852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7862013-09-23 neil
787
788 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 789 supported by all gcc and when it is, it's already enabled by -Wall.
790
621bed69
VS
7912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
794 desactivated use of EDID at all.
795
71764dc8 7962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7972013-09-23 neil
798
799 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
800 video if no text is available.
801
affce7d4 8022013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
8032013-09-23 neil
804
805 * configure.ac: Substitute TARGET_RANLIB.
806
8072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8082013-09-23 neil
affce7d4
VS
809
810 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
811
812 Based on patches from AROS.
813
0e8daad0 8142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 8152013-09-23 neil
0e8daad0
VS
816
817 * grub-core/Makefile.am: Override STRIP and RANLIB.
818 * configure.ac: compute TARGET_RANLIB.
819 * INSTALL: Document TARGET_RANLIB
820
821 Based on patches from AROS.
822
3f7d9c82
VS
8232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
826 that floppies are unpartitioned.
827
bca8873a
VS
8282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
831 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
832
8332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
836 less nice but more portable.
837 * grub-core/lib/posix_wrap/wchar.h: Likewise.
838
a47a78be
VS
8392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
842 for cheat_fd.
843 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
844 functions.
845 (grub_cryptodisk_cheat_insert): Likewise.
846 (grub_cryptodisk_close): Likewise.
847
e85a5d5c
VS
8482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
851 Use windows path for DEFAULT_DIRECTORY.
852
dad9fa6b
VS
8532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
856 difference was likely just gcc version, not anything mingw-related.
857
7e518ca8
VS
8582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
859
860 Use Winapi on both cygwin and mingw32 to share more code between both.
861
d68d0157
AB
8622013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
863
864 * util/grub-install.in: Add --grub-editenv option.
865 * util/grub-install_header (grub_compress_file): Explicitly check for
866 plain file to avoid cp error.
867
775b284d
AB
8682013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
869
870 * docs/grub.texi (Device syntax): Document new LVM UUID based device
871 names; fix LVM driver name (lvm, not lv).
872 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
873 names.
874
3ff4063d
VS
8752013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
878 files rather than one file with loads of #if's.
879 * util/getroot.c: Likewise.
880
287faafe
VS
8812013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
884
d1983764
VS
8852013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
888 GNU/Hurd to the list of checked PRNG.
889
15ce95c4
VS
8902013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * configure.ac: On FreeBSD use -melf_*_fbsd format.
893
207862dd 8942013-09-21 Ales Nesrsta <starous@volny.cz>
895
7c680e1f 896 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 897
63653cfd
VS
8982013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
901 * grub-core/disk/lvm.c: Add LVM UUIDs.
902 * util/getroot.c: Use LVM UUIDs whenever possible.
903
f5d3e7ef
AB
9042013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
905
906 * docs/grub.texi (Networking commands): Add documentation for
907 network related commands.
908
53c6b7d6
VS
9092013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * util/getroot.c (grub_util_open_dm): Check major rather than the name
912 to determine if device is handled by devmapper.
913 (convert_system_partition_to_system_disk): Likewise.
914 (get_dm_uuid): Don't check explicitly if device is mapped, it's
915 already done in grub_util_open_dm.
916
e70d6736
LL
9172013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
918
919 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
920 Clean up stack manipulation (sync_caches_armv*)
921
90379808
VS
9222013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * util/lvm.c: Remove since unused. Remove remaining references.
925
386701a8
VS
9262013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
927
928 Handle the case of partitioned LVM properly.
929
930 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
931 Stop on meeting LVM, mpath or DMRAID.
932 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
933 (read_device_map): Likewise.
934 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
935 device is full disk rather than erroring out on LVM and similar cases.
936
53070787
VS
9372013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
940
1bc783bd
VS
9412013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
944 4K before the end.
945 Reported by: Leif Lindholm
946
436ad5c3
PW
9472013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
9482013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
951 codes.
952
607319c9
CW
9532013-09-18 Colin Watson <cjwatson@ubuntu.com>
954
955 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
956 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
957
d404d154
DR
9582013-09-18 Douglas Ray <dougray@cpan.org>
959
960 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
961 as secure.
962
28851ef6
AN
9632013-09-18 Aleš Nesrsta <starous@volny.cz>
964
965 * docs/grub.texi: Fix broken link.
966
897c3bc6
MC
9672013-09-18 Melki Christian <Christian.melki@saabgroup.com>
968
969 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
970 to break endless loop.
971
f1630459
VS
9722013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * util/grub-fstest.c: Fix several printf formats.
975 * util/grub-mkimage.c: Likewise.
976 * util/grub-mkimagexx.c: Likewise.
977 * util/grub-script-check.c: Likewise.
978
64463dfd
VS
9792013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
982 error.
983
48972495
VS
9842013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
987
5dd5e64b
VS
9882013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
991 removed in current versions cygwin_conv_*.
992
1c1f31e5
VS
9932013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * configure.ac: Disable efiemu runtime on cygwin.
996
c546a259
VS
9972013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1000 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1001
81690478
VS
10022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1005 error message.
1006
6b87c10a
VS
10072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1010 windows variant.
1011 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1012 data.
1013
8f0baaac
VS
10142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1017 when on x86 and not cygwin.
1018 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1019 -Wl,-melf_x86_64.
1020
b224c266
VS
10212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * configure.ac: Set CPP to build one when checkoing for freetype for
1024 build.
1025
506b336b
VS
10262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1029 [!GRUB_BUILD]: Remove has_argument.
1030
8c8c87b7
VS
10312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1034 Replace with a dummy.
1035
7dc5ca13
VS
10362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * configure.ac: Don't change host_os from mingw to cygwin.
1039
c3302aa5
VS
10402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * configure.ac: Change target_os from windows to cygwin.
1043
7b780018
VS
10442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1047
1048 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1049 (build-grub-gen-asciih): Likewise.
1050 (build-grub-gen-widthspec): Likewise.
1051 * Makefile.util.def (grub-pe2elf): Remove.
1052 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1053 * configure.ac: Separate tests for build.
1054 Move ./build-grub-pe2elf to grub-core.
1055 Fix typo.
1056 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1057 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1058 defined.
1059 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1060 constants.
1061 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1062 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1063 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1064
984cfd8a
VS
10652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1068 mingw32 as well based on grub_util_get_disk_size.
1069 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1070 grub_util_get_fd_size.
1071 (sync): Removed.
1072 (fsync): Moved to ...
1073 * grub-core/kern/emu/misc.c (fsync): ... here.
1074
f82d79c9
VS
10752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * include/grub/mm.h (grub_extend_alloc): Remove.
1078 * grub-core/loader/i386/pc/plan9.c: Use own version of
1079 grub_extend_alloc with appropriate types.
1080
fd7dd66d
VS
10812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1084
43ffba7c
VS
10852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1088
3c7eac44
VS
10892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Fix dependencies on cygwin.
1092
1093 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1094 dependencies when used and defined.
1095 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1096
bdb5ba47
VS
10972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1100 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1101
ed7fbf43
VS
11022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1105 implementation available to cause compile-time rather than runtime
1106 error.
1107
fc46e9fc
VS
11082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * util/grub-fstest.c: Don't check for symlinks on windows.
1111
7f68269a
VS
11122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * INSTALL: Mention unavailability of man pages when cross-compiling.
1115
8ed358e0
VS
11162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1119 and gcry_log_bug.
1120 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1121
fc97214f
VS
11222013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * INSTALL: Document cross-compilation.
1125 * acinclude.m4: Determine whether nm support -P and --defined-only.
1126 * configure.ac: Add TARGET_ to all variables pertaining to target
1127 that don't have it yet.
1128 * gentpl.py: Likewise.
1129 * grub-core/Makefile.am: Likewise.
1130 * grub-core/genmod.sh.in: Likewise.
1131 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1132 as well.
1133
ca1fb563
IB
11342013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1135
1136 * configure.ac: Remove -Wempty-body. It's not essential and needs
1137 recent gcc.
1138
0031b229
IB
11392013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1140
1141 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1142 * util/getroot.c: Likewise.
1143
54ea2f44
VS
11442013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/disk/ahci.c: Add needed explicit cast.
1147 * grub-core/lib/backtrace.c: Likewise.
1148 * grub-core/net/ip.c: Likewise.
1149 * grub-core/net/tcp.c: Likewise.
1150 * grub-core/net/udp.c: Likewise.
1151
3c601f8c
VS
11522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1155
1d679dda
VS
11562013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * util/import_gcry.py: Add final newline in visibility.h.
1159
00c28dd9
VS
11602013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * conf/Makefile.common: Fix typo.
1163
32af299a
VS
11642013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1167
e733cf52
VS
11682013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * Makefile.am (widthspec.h): Fix typo.
1171 * util/grub-gen-widthspec.c: Likewise.
1172
c6b066f2
VS
11732013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 Move ascii.h and widthspec.h generation to a separate build-time-only
1176 tool.
1177
ad1fe3f9 11782013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1179
1180 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1181 Always fill bootdisk info and improve check for NetBSD disklabel.
1182
92a52dd4
VS
11832013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * conf/Makefile.extra-dist: Add util/bin2h.c.
1186 Reported by: floppym.
1187
b2e9d276
VS
11882013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1191
7b966834
VS
11922013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * configure.ac: Disable unifont and starfield if no freetype was found.
1195
d5c1eef1
VS
11962013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1199 on NetBSD and OpenBSD.
1200
66345b50 12012013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1202
1203 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1204
66345b50 12052013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1206
1207 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1208 reduced. Inheritant options are processed during the theme loading.
1209
66345b50 12102013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1211
1212 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1213
369508b3
AS
12142013-08-14 Avik Sil <aviksil@in.ibm.com>
1215
1216 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1217
12182013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1219
1220 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1221 using qemu.
1222
6f27a3f6
PFS
12232013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1224
1225 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1226 remove-potcdate.sed.
1227
c6ed362a
AB
12282013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1229
1230 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1231 unused attribute from pull argument.
1232
5e7d9464
AB
12332013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1234
1235 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1236 memory leak.
1237
dea55e2a
AB
12382013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1239
1240 * util/getroot.c (pull_lvm_by_command): add --separator option
1241 to vgs call to disable padding of output to 10 characters.
1242
f0b94ded
VS
12432013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1246 here ...
1247 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1248 here.
1249
b828fb5d
VS
12502013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1253 length.
1254
7c9d0c39
VS
12552013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1258 full Canadian cross. Tested with build=x86_64, host=arm,
1259 target=ppc-ieee1275.
1260
816719c8
VS
12612013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * configure.ac: Error if no $BUILD_CC could be found.
1264 Reported by: DevHC.
1265
2af2353b
VS
12662013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1269 i386-multiboot.
1270
797abd0a
VS
12712013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1274 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1275
36e87d25
CW
12762013-08-13 Colin Watson <cjwatson@ubuntu.com>
1277
1278 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1279 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1280 falling back to the partition device, otherwise a later call to this
1281 function may fail spuriously.
1282 Reported by Axel Beckert. Fixes Debian bug #708614.
1283
273349fe
GS
12842013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1285
1286 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1287
418f86c6
GS
12882013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1289
1290 Prevent shadowing of stdlib's devname(3) on BSD.
1291
1292 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1293 and devlast to diskname and disklast, respectively.
1294
c137aea0
CW
12952013-08-11 Colin Watson <cjwatson@ubuntu.com>
1296
1297 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1298
272dc8df 12992013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1300
1301 * docs/grub.texi: Introduce terminal window position options:
1302 terminal-left: terminal window's left position
1303 terminal-top: terminal window's top position
1304 terminal-width: terminal window's width
1305 terminal-height: terminal window's height
1306 terminal-border: terminal window's border width
1307 * grub-core/gfxmenu/theme-loader.c: Likewise.
1308 * include/grub/gfxmenu_view.h: Likewise.
1309 * po/exlude.pot: Likewise.
1310 * grub-core/gfxmenu/view.c: Likewise.
1311 Also updated minimal window size.
1312 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1313 * grub-core/tests/checksums.h: Update (terminal window height
1314 is adjusted now for low resolution screen)
b4743461 1315
748a4533
VS
13162013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1319 position).
1320
fca5f944
VS
13212013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * po/exclude.pot: Add few recent exceptions.
1324
4f47d809
VS
13252013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * tests/grub_func_test.in: Add unicode.pf2.
1328
a62ae90c
VS
13292013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1332 standard rather than noral color, in line with other terminals.
1333
4ed41392
VS
13342013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1337 analysis.
1338
3719fbc5
VS
13392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1342
459b1d91
VS
13432013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1346 inappropriate printf.
1347
f4e1ab9d
AB
13482013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1349
1350 * .bzrignore: Remove grub-core/lib/dtc-grub,
1351 grub-core/Makefile.libfdt.def
1352 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1353
fa471bfa
VS
13542013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * include/grub/video.h (grub_video_register): Keep double-linked as
1357 well as single-linked invariants.
1358 Reported by: qwertial.
1359
d65be02b
VS
13602013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/commands/nativedisk.c (get_uuid): Handle
1363 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1364
ba8bc620
VT
13652013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1366
1367 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1368 maximum of NW, N, NE heights instead of N's height and maximum of
1369 NW, W, SW widths instead of W's width. (So the box will be always
1370 correctly drawn)
1371
4f0ad029
GS
13722013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1373
1374 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1375 Fix misuse of variable count.
1376
43d53b72
LL
13772013-07-18 Leif Lindholm <leif.lindholm@arm.com>
13782013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
13792013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1380
43d53b72
LL
1381 New ports to arm-uboot and arm-efi.
1382 Mostly by Leif Lindholm with some additions from
1383 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1384
88f8d146
VS
13852013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1388 and not before.
1389 Reported by: Leon Drugi.
1390
3f42504c
VS
13912013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1394 Reported by: Paulo Flabiano Smorigo.
1395
d110499b
VT
13962013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1397
1398 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1399
a8674ad3
VT
14002013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1401
1402 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1403
286fe4b3
VS
14042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1407
1bd57aa3
VS
14082013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1411
7a87d69f
AB
14122013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1413
1414 * grub-core/net/bootp.c: Export net_* variables.
1415 * grub-core/net/net.c: Likewise.
1416
b2182299
VS
14172013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1420
795b3dc0
VS
14212013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1424
68714c43
VS
14252013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1428
af211bab
VS
14292013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1432
0036f02d
MM
14332013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1434
1435 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1436 <= 0.
1437
6d0ddff3
MM
14382013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1439
1440 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1441 functions.
1442
038016f4
MM
14432013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1444
1445 * grub-core/fs/zfs/zfs_lz4.c: New file.
1446 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1447
776bdce2
MM
14482013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1449
1450 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1451
c71dbd40
MM
14522013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1453
1454 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1455 (check_pool_label): Likewise.
1456 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1457
14582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1459
1460 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1461
8e67b50f
AB
14622013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1463
1464 * docs/grub.texi (Commands): Document postition parameters
1465 for menuentry command.
1466
f5ae3717
AB
14672013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1468
1469 * util/grub-mknetdir.in: Remove stray line from help output.
1470
9c28da2a
VS
14712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 Remove early sm712 init as there is no reason for it (the "watchdog"
1474 effect was due to wrong GPIO map).
1475
139072b8
VS
14762013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/commands/pcidump.c: Remove static variables.
1479
c6a61bda
VS
14802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1483
51369614
VS
14842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * configure.ac: Move delimiter after the infos.
1487
efa8640a
VS
14882013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1491
6f80a7b2
VS
14922013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1495 not filling whole 8x16 space.
1496
a2371e19
VS
14972013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1500
64fce2d8
VS
15012013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * configure.ac: Indicate which liblzma is used if any.
1504
eb272d84
PW
15052013-06-21 Paul Wise <pabs3@bonedaddy.net>
15062013-06-21 Craig Sanders <savannah@taz.net.au>
1507
1508 * util/grub-reboot.in: Document submenu usage.
1509
a9e5abee
CW
15102013-06-25 Colin Watson <cjwatson@ubuntu.com>
1511
1512 * .bzrignore: Update with a number of new test-related files.
1513
e639c204
CW
15142013-06-25 Colin Watson <cjwatson@ubuntu.com>
1515
1516 * util/grub-script-check.c: Fail on scripts containing no
1517 commands, to guard against corrupted grub-mkconfig setups that
1518 produce no useful output.
1519 * tests/grub_script_no_commands.in: New test.
1520 * Makefile.util.def (grub_script_no_commands): Add.
1521 Reported by Hans Putter. Fixes Debian bug #713886.
1522
a4c89b17
AB
15232013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1524
1525 * grub-core/disk/diskfilter.c: Forgot to remove comment
1526 from previous commit.
1527
5b06b53c
AB
15282013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1529
1530 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1531 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1532
702da5c9
AB
15332013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1534
1535 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1536
aa62a5b7
AB
15372013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1538
1539 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1540 rescan diskfilter devices until nothing new is found.
1541
4aa237c8
VS
15422013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1545
93d8479b
VS
15462013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 Don't try to detect cbfs on *-emu.
1549
837222cc
VS
15502013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1553
99c971af
VS
15542013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Add support for processed coreboot payload chainloading.
1557
e6930a45
VS
15582013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 Enable coreboot information commands even when not loaded as
1561 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1562
5027af38
VS
15632013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 Support for cbfs. Also factor out the part which is common
1566 for all archives to a separate module. This splits tar from cpio
1567 as they are very different but keeps cpio, cpio_be, odc and newc
1568 together since they're very similar.
1569
a5b55c4b
DM
15702013-06-15 David Michael <fedora.dm0@gmail.com>
1571
1572 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1573 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1574
0301a8b3
VS
15752013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * tests/grub_script_eval.in: Really add the eval test.
1578
3d84cb17
VS
15792013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Move flavour-specific parts out of common cpio.c file and
1582 rename remaining to cpio_common.c
1583
593e430c
AB
15842013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1585
1586 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1587 off new function grub_script_execute_new_scope. Change callers to use
1588 either of them as appropriate.
1589 * grub-core/commands/eval.c: New command eval.
1590 * docs/grub.texi (Commands): Document it.
1591
63c29849
AB
15922013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1593
1594 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1595 to fetch values when listing.
1596
cc284112
AB
15972013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1598
1599 Fix make dist on non-pc.
1600
16012013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1602
1603 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1604 without a device name.
1605
69544d1e
VS
16062013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Remove enable_executable_check as it's not needed anymore.
1609 Reported by: dougray.
1610
96dbe648
VS
16112013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1614 ambigouos RAID before discovering RAIDs on top of it.
1615 Reported by: bodom.
1616
ccfc0bdb
VS
16172013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Fix typo (failback vs fallback).
1620
f2587088
AB
16212013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1622
1623 * util/grub.d/30_os-prober.in: Add support for probing EFI
1624 System Partition (as of os-prober 1.58).
1625
cec5cf0c
VS
16262013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * configure.ac: Add yet another path to unifont. For parabola.
1629
e40b4596
JT
16302013-05-30 Josh Triplett <josh@joshtriplett.org>
1631
1632 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1633 handling to copy the killed characters to the kill buffer as
1634 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1635 stored as char. Eliminates UCS4 truncation and corruption
1636 observed when killing characters with Ctrl-u and yanking them
1637 back with Ctrl-y.
1638
fc4c4fdd
VS
16392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Detach optional parts of gfxterm and integrate in with coreboot init.
1642
6570b205
VS
16432013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 Move blit and fill dispatcher to appropriate files to decrease export
1646 and relocation overhead.
1647
b8323067
VS
16482013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1651 functions.
1652
3cc1878f
VS
16532013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/Makefile.am: Fix compilation problem with some
1656 automake versions.
1657
4b80e43c
VS
16582013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1661
57e0c20c
VS
16622013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1665 automake versions.
1666
4fd42c53
VS
16672013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1670 SSDT.
1671
1e908b34
RS
16722013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1673
1674 * grub-core/partmap/dfly.c: New partition map.
1675
1359e474
VS
16762013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1679 checking.
1680 Reported by: Francesco Lavra.
1681
17806392
AB
16822013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1683
1684 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1685 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1686 false conditions.
1687 * conf/Makefile.common: define dist_grubconf_DATA
1688
cdce14fa
VS
16892013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 Progressively skip menu elements on small terminals rather
1692 than crashing.
1693
c8d6cc3c
VS
16942013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1697 to avoid losing last column.
1698
a73b31ce
VS
16992013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * po/exclude.pot: Add missing string "%C".
1702
1202c764
VS
17032013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1706 after the test.
1707
50268344
VS
17082013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * util/grub-install.in: Gettextize "Not found" message.
1711
62b15edf
VS
17122013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 Fix distfiles list.
1715 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1716
17172013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1718
1719 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1720 present.
1721 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1722
709ad61b
VS
17232013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1726
d128901a
VS
17272013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1730 attribute since structure is not necessarily aligned.
1731
34b22f5c
AB
17322013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1733
1734 * docs/grub.texi (Device syntax): Clarify description of network
1735 drives.
1736
0f7e980b
VS
17372013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1740 for vasprintf presence.
1741
30b03dc2
VS
17422013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * util/grub-install.in: Handle efibootmgr presence check.
1745 Reported by: Leif Lindholm.
1746
0dc11c08
VS
17472013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1750 new strings to translate.
1751
f8024c3f
VS
17522013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1755 yet another string (pun intended) to translate.
1756
b4c1da62
VS
17572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * po/POTFILES-shell.in: Autogenerate it.
1760
0ef7478b
VS
17612013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1764
8200fa15
VS
17652013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1768 misnomer.
1769
091945b2
AB
17702013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1771
1772 * docs/grub.texi (Network): Add description of net_default_interface,
1773 net_default_ip and net_default_mac. Rewrite variables description
1774 to emphasize that they are per-interface.
1775
0e7b2e32
VS
17762013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 New test: cmdline and cat.
1779
16f7c8f6
VS
17802013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/commands/cat.c: Show UTF-8 characters.
1783
3e912fda
VS
17842013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * conf/Makefile.common: Poison float and double on non-emu.
1787
ee0220bc
VS
17882013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * configure.ac: Don't disable extended registers on emu.
1791
89e0240c
VS
17922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * configure.ac: Don't use extended registers on x86_64.
1795 Reported by: Peter Jones.
1796
e56d9637
VS
17972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/term/efi/console.c: Fix compile error.
1800
8098f655
VS
18012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 Compressed HFS+ support.
1804
16940e07
VS
18052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1808 pixel".
1809
c5dbc13d
VS
18102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 Menu color test.
1813
011f8ae8
VS
18142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/tests/setjmp_test.c: New test.
1817
2aa072d7
VS
18182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 New variables 'net_default_*' to determine MAC/IP of default interface.
1821
43fe02cb
VS
18222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * tests/gettext_strings_test.in: A test to check for strings not
1825 marked for translation.
1826
bed06142
VS
18272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * autogen.sh: Exclude unused libgcrypt files from translation.
1830
fb2666b5
VS
18312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Simplify few strings.
1834
d22840ec
VS
18352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Mark few forgotten strings for translation.
1838
e34092fd
VS
18392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1842 rather than printf.
1843
47cf82b4
VS
18442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1847 rather than printf.
1848 * grub-core/video/readers/tga.c: Likewise.
1849
1eed0e6e
VS
18502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * tests/priority_queue_unit_test.cc: New test.
1853
c5b7697b
VS
18542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1857 than printf.
1858
5945c2f8
AB
18592013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1860
1861 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1862 variable for one time boot menu entry.
1863
fa292343
B
18642013-05-05 Bean <bean123ch@gmail.com>
1865
1866 * grub-core/commands/testspeed.c: New command testspeed.
1867
310d4214
VS
18682013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Factor-out human-size printing.
1871
85002bf3
VS
18722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 Agglomerate more mallocs to speed-up gfxterm.
1875
22b06e96
VS
18762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 Speed-up gfxterm by slightly agglomerating mallocs.
1879
b7c036bc
VS
18802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 More video checks.
1883
92323d1f
VS
18842013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 Speed-up gfxterm by saving intermediate results in index+alpha
1887 format.
1888
0fb356a3
VS
18892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1892 test.
1893
44dea3f9
VS
18942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1897 line of timeout as it may contain the rest of long line.
1898
14af86e4
VS
18992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/normal/main.c: Fix freed memory dereference.
1902
03f7c8c3
VS
19032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Fix several memory leaks.
1906
c686014c
VS
19072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1910
0788a695
VS
19112013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1914
daf01d61
VS
19152013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 Fix test -a and -o precedence.
1918 Reported by: adrian15.
1919
82ae74d7
VS
19202013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1923
8cec7bd4
AB
19242013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1925
1926 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1927 and add it as source to functional_test module.
1928
aa73d688
VS
19292013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1932
c104b6f9
VS
19332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 New series of tests for gfxterm and gfxmenu.
1936
7391c4d5
VS
19372013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1940 the theme path relative to $prefix/themes.
1941
cff50118
VS
19422013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1945 Fix order bug.
1946 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1947
7c332bdc
VS
19482013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1951 descriptor.
1952
a4f9a5ff
VS
19532013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1956 grub_gfxmenu_timeout_notifications.
1957 (grub_gfxmenu_view_destroy): Likewise.
1958
b5a2114d
VS
19592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1962
a8905e8a
VS
19632013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Several fixes to ieee1275 and big-endian video.
1966
813c1622
VS
19672013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Add missing exports on mips.
1970
3f3e7326
VS
19712013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1974 if no unifont is found.
1975 Restore original keyboard.
1976
095accd1
VS
19772013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1980 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1981
50361660
VS
19822013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 First automated video test (running videotest and comparing results)
1985
cd0f6eec
VS
19862013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1989 instead of 2 to have full RGB/CMY test pattern.
1990
3f9634e5
VS
19912013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Add few more tests.
1994
583e5b64
VS
19952013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1998 ARCS. All users updated.
1999
aa7bcb99
VS
20002013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2003
95ef1a54
VS
20042013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2007
46546fc5
VS
20082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2011 Reported by: qwertial.
2012
3476e0ef
VT
20132013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2014
2015 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2016 with syntax "XXX deg"/"XXX °".
2017
96f33fed
VS
20182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Make PCI init in i386-qemu port more robust.
2021
20222013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2023
2024 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2025 cached view is reused.
2026 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2027 open boot menus.
2028
c53b4e67
VS
20292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Unify more code in grub-install_header.
2032
f7457fb2
VS
20332013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 Add few new tests.
2036
e2f27a8c
VS
20372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 Enforce disabling of firmware disk drivers when native drivers kick in.
2040
ef9d8cd5
VS
20412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/commands/nativedisk.c: Customize the list of modules on
2044 platform. Don't try to search for disks already using native drivers.
2045
f7bf6c31
VS
20462013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2049 platforms.
2050
bdc4add8
VS
20512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2054 handling of variables containing backslash.
2055
e9e46c9a
VS
20562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2059 dereference.
2060 Reported by: qwertial.
2061
0e90dee8
VS
20622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2065
e0aacf24
VS
20662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2069 dereference.
2070 Reported by: qwertial.
2071
3c0003c3
VS
20722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2075
adb7d667
VS
20762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2079
7cd0df84
VS
20802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 New command `nativedisk'.
2083
02adbb93
VS
20842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2087 * grub-core/loader/i386/bsd.c: Likewise.
2088
9fb0fd4f
VS
20892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2092
bd69257a
VS
20932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2096 grub_get_unaligned16 rather than shifts.
2097
178c2764
VS
20982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/kern/file.c: Use const char * rather than casting to
2101 non-const.
2102
eadfad24
VS
21032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/commands/probe.c: Add missing grub_device_close.
2106
9f73ebd4
VS
21072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * INSTALL: Document linguas.sh.
2110
965fa829
VS
21112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Remove POTFILES.in and regenerate it in autogen.sh.
2114
d417ddc4
VS
21152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Move --directory/--override-directorry to grub-install_header and unify.
2118
f97ec546
VS
21192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/term/morse.c: Macroify dih and dah.
2122
b2d7470c
PFS
21232013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2124
2125 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2126
141e2a78
VS
21272013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/term/ns8250.c: Systematically probe ports by writing
2130 to SR before using them.
2131
1dd70ebd
PFS
21322013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2133
2134 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2135 disks.
2136 (check_sas): Get sas_adress info.
2137
c796a107
VS
21382013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2141 ports.
2142
43168646
LD
21432013-04-27 Leon Drugi <eyak>
2144
2145 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2146 BSS clearing.
2147
e7b8fd08
VS
21482013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 Core compression test.
2151
17f9fd29
VS
21522013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 Implement grub_machine_get_bootlocation for ARC.
2155
dc2a6c8b
VS
21562013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 Improve AHCI detection and command issuing.
2159
f25a2ba6
VS
21602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 Fix pseries test.
2163
a6393224
VS
21642013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 Make 'make check' work on emu.
2167
db99fbe8
VS
21682013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Replace libcurses with our own vt100 handling for the ease of testing
2171 and decreasing prerequisites.
2172
b24ca7cd
VS
21732013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2176
63314aa4
VS
21772013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2180 compile when not needed.
2181
c1b00fff
VS
21822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * tests/pseries_test.in: New test.
2185
f93e89ef
VS
21862013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Add test to check that different boot mediums work.
2189
c4b456d3
VS
21902013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2193 ofw limited ISO support.
2194
5fe67f39
VS
21952013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * configure.ac: Fix loongson conditional.
2198
7f63a64f
VS
21992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 Enable mipsel-arc.
2202
b04b5990
VS
22032013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 Add serial on ARC platform.
2206
88d2f302
VS
22072013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2210 commit.
2211
86eb23bc
VS
22122013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * tests/partmap_test.in: Add missing double semicolon.
2215
eec3bb75
VS
22162013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * util/grub-mkrescue.in: Fix loongson filename.
2219
e0810df3
VS
22202013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * util/grub-mkrescue.in: Move all files that don't have a location
2223 set in stone under /boot/grub. Use ISO hard links rather than copies
2224 to save some space.
2225
65a6b30b
VS
22262013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2229 bogus SLOF values.
2230
6aff0107
VS
22312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 Make check work on mips-arc.
2234
5e013e56
VS
22352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * util/grub-mkrescue.in: Alias sashARCS as sash.
2238
d1989e2e
VS
22392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2242 it's serial.
2243
1a25e72c
VS
22442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * util/grub-install.in: Fix target fo qemu_mips.
2247 Fix extension on EFI.
2248
a59a9826
VS
22492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2252 in front of chosen entry to mark it even if highlighting is lost.
2253
1a40f80c
VS
22542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2257 gfxpayload=keep if cbfb is active.
2258
e343549c
VS
22592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2262
45fbd9a2
VS
22632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 Add missing video ids to coreboot and ieee1275 video.
2266
ab1440bd
VS
22672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * util/grub-mkrescue.in: Add mips-arc support.
2270
cdeb8324
VS
22712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2274
8528c879
VS
22752013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Move mips-arc link address. Previous link address was chosen
2278 in belief that RAM on SGI platforms grows down while in fact it
2279 grows up from an unusual base.
2280
17fca573
VS
22812013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2284 Fix a type which prevented CD-ROM and floppy boot.
2285
d178788e
VS
22862013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Support coreboot framebuffer.
2289
2290 * grub-core/video/i386/coreboot/cbfb.c: New file.
2291
fe4c3e7e
VS
22922013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2295 detecting too small regions.
2296
ec2dd179
VS
22972013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2300
872dac83
VS
23012013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2304 Remove dprintf.
2305 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2306
90ec4b7f
VS
23072013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2310 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2311 * grub-core/loader/powerpc/ieee1275/linux.c
2312 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2313
f32555dd
VS
23142013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2317 Look for /boot-rom as well as /rom/boot-rom.
2318
38649799
VS
23192013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2322 handling when creating text_layer failed.
2323 * grub-core/video/video.c (grub_video_create_render_target):
2324 Set result to 0 on error.
2325 (grub_video_delete_render_target): Do not dereference NULL.
2326
aeace7f7
VS
23272013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2330 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2331 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2332 (grub_linux_load64): Mask out 2 high bits.
2333
4eafa175
AB
23342013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2335
2336 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2337 more place.
2338
daaa64bd
VS
23392013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 Add support for pseries and other bootinfo machines to grub-mkrescue.
2342
2343 Tested by: Paulo Flabiano Smorigo.
2344
d0d2daa6
VS
23452013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * util/grub-mkrescue.in: Add GPT for EFI boot.
2348
b193e100
VS
23492013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2352 It improves performance in qemu.
2353
a0f8f3ac
VS
23542013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * build-aux/snippet: Add missing gnulib files.
2357
284df0e2
AB
23582013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2359
2360 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2361
740201f3
AB
23622013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2363
2364 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2365
a7e03923
PJ
23662013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
23672013-04-15 Peter Jones <pjones@redhat.com>
2368
2369 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2370 sectors.
2371 Based on patch by Peter Jones.
2372
25fc51a8
VS
23732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Fix DMRAID partition handling.
2376
88017d47
VS
23772013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * tests/grub_cmd_date.in: Skip on sparc64.
2380
fa7d914e
VS
23812013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2384 firmware error messages.
2385
cbe57a48
VS
23862013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2389 source and destination differ.
2390
21aecce0
VS
23912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2394 detection.
2395
25092d29
VS
23962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2399 match config-util.h to avoid warnings and increase compatibility.
2400
79451522 24012013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 24022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2403
2404 Add option to compress files on install/image creation.
2405
78b7d77b
VS
24062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * docs/grub-dev.texi: Rearrange menu to match the section order.
2409 Reported by: Bryan Hundven.
2410
cc2fa5ec
VS
24112013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2414
b49fe879
VS
24152013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 Move GRUB out of system area when using xorriso 1.2.9 or later.
2418
5351da81
VS
24192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * tests/grub_cmd_date.in: Add missing exit 1.
2422
c9d586ea
VS
24232013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * tests/partmap_test.in: Skip on sparc64.
2426
3f729741
VS
24272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 Support grub-shell on sparc64.
2430
8ca86b3a
VS
24312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Support mkrescue on sparc64.
2434
aa1af9bb
VS
24352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2438 Needed on OpenBIOS due to incomplete device tree.
2439
ac4fea79
VS
24402013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2443 would be otherwise excluded.
2444
24452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2446
2447 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2448 Inline name defines used only once.
2449
fe22b071
VS
24502013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 Fix memory leaks in ofnet.
2453 Reported by: Francesco Lavra.
2454
9d21381b
VS
24552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * docs/man/grub-glue-efi.h2m: Add missing file.
2458
07aec23c
VS
24592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2462
67ab8353
VS
24632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 Better support Apple Intel Macs on CD.
2466
ba44ca6d
VS
24672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Replace stpcpy with grub_stpcpy in tools.
2470
bbdd6305
VS
24712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Handle Japanese special keys.
2474 Reported by: Hiroyuki YAMAMORI.
2475 Codes supplied by: Hiroyuki YAMAMORI.
2476
8573d302
VS
24772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * util/grub-mkimage.c: Document memdisk implying --prefix.
2480
d70dbab7
VS
24812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2484 much we can do about it anyway.
2485
51a4c3e3
AN
24862013-04-12 Aleš Nesrsta <starous@volny.cz>
2487
2488 Fix handling of split transfers.
2489
92c8f58d
VS
24902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/net/http.c: Fix bad free.
2493
b7d17a49
VS
24942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2497 than buffer size.
2498
a3d566d4
VS
24992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2502
a936af56
VS
25032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * tests/util/grub-shell.in: Fix it on powerpc.
2506
51212234
VS
25072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 Turn off QEMU ACPI-way since new releases don't have shutdown port
2510 anymore.
2511
a21eec9e
VS
25122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * docs/grub.texi: Update coreboot status info.
2515
e3734b84
VS
25162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * tests/grub_cmd_date.in: New test for datetime.
2519
f9d40055
VS
25202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * tests/partmap_test.in: Fix missing qemudisk setting.
2523
dbc56d8f
VS
25242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 Support i386-ieee1275 grub-mkrescue and make check on it.
2527
a79b8a15
VS
25282013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2531 feature for it.
2532
48f39bb4
VS
25332013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2536 GRUB_CMDLINE_XEN_DEFAULT.
2537 Reported by: Marc Warne (GigaTux) <gigatux>
2538
053cfcdd
VS
25392013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 Import new gnulib.
2542
93cd84df
VS
25432013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 Use ACPI shutdown intests as traditional port was removed.
2546
f4b1fa4f
AB
25472013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2548
2549 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2550 distinction.
2551
49818a59
VS
25522013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2555 Fix few warining messages and leaks while on it.
2556
9277a306
AB
25572013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2558
2559 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2560 links under grub-core/lib/libgcrypt-grub/mpi.
2561
d5e2a158
VS
25622013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 Fix ia64-efi image generation on big-endian machines. Deduplicate
2565 some code while on it.
2566 Reported by: Leif Lindholm.
2567
18866643
AB
25682013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2569
2570 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2571 as extra_dist.
2572
ca53deb8
AB
25732013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2574
2575 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2576
d4c4b8e1
BH
25772013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2578
2579 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2580 texinfo-5.1.
2581
47043f95
VS
25822013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/normal/term.c: Few more fixes for menu entry editor
2585 rendering.
2586 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2587
a3216068
VS
25882013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/normal/term.c: Few more fixes for menu entry editor
2591 rendering.
2592 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2593
21026747
AB
25942013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2595
2596 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2597 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2598
59624ca8
AB
25992013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2600
2601 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2602 instead of hardcoding grub.mo.
2603
1f44478c
FN
26042013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2605
2606 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2607
eeada7b1
VS
26082013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2611 grub-core/disk/geli.c.
2612
132867de
VS
26132013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * util/grub-mkfont.c: Prefer enum to #define.
2616
de73de17
VS
26172013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2620
1865baa7
VS
26212013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2624
ce7d92a9
VS
26252013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2628
52eab656
VS
26292013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2632
98b23b95
VS
26332013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * include/grub/bsdlabel.h: Use enums.
2636
0467a5dd
VS
26372013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 Move GRUB_CHAR_BIT to types.h.
2640
16cc9f03
AB
26412013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2642
2643 * docs/grub.texi: Document more user commands.
2644
3152aecb
AB
26452013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2646
2647 * docs/grub.texi: Document menuentry --id option.
2648
c506fc30
FL
26492013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2650
2651 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2652
aa428238
VS
26532013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 Unify file copying setup across different install scripts. Add
2656 options for performing partial install.
2657
efe0cdda
PJ
26582013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26592013-04-04 Peter Jones <pjones@redhat.com>
2660
2661 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2662
f75835bd
VS
26632013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 Use TSC as a possible time source on i386-ieee1275.
2666
2cd5ce6c
VS
26672013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2670 Init err.
2671
c9625630
VS
26722013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * util/grub-setup.c (setup): Handle some corner cases.
2675
be008941
VS
26762013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2679
1a78d573
VS
26802013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/commands/verify.c: Save verified file to avoid it being
2683 tampered with after verification was done.
2684
db8ff59f
VS
26852013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2688 reported width by one to compensate for curesor algorithm problem.
2689
91bf46b1
VS
26902013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 Fix screen corruption in menu entry editor and simplify the code
2693 flow while on it.
2694
a7b1d693
AB
26952013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2696
2697 * util/grub-mount.c (fuse_init): Return error if fuse_main
2698 failed.
2699
31df9ad8
FL
27002013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2701
2702 * include/grub/elf.h: Add missing ARM relocation codes and fix
2703 existing ones.
2704
07f392eb
VT
27052013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2706
2707 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2708
9efd73ec 27092013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
27102013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2713 into account when calculating radius.
2714
27152013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2716
2717 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2718
4985ddaa
VT
27192013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2720
2721 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2722
8c3635ff
RS
27232013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2724
2725 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2726 missing closing bracket.
2727
74a35e69
RS
27282013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2729
2730 * INSTALL: Mention xorriso requirement.
2731
40f1c000
AB
27322013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2733
2734 * grub-core/commands/verify.c: Fix hash algorithms values for
2735 the first three hashes - they start with 1, not with 0.
2736
e75fdee4
VS
27372013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2740 Try terminating EFI services several times due to quirks in some
2741 implementations.
2742
33028f4c
CW
27432013-03-26 Colin Watson <cjwatson@ubuntu.com>
2744
2745 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2746 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2747 BankField extended opcodes.
2748 (get_sleep_type): Add minimal scope handling (just enough to
2749 handle setting the scope to the root path).
2750 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2751 * include/grub/acpi.h: Add enumeration values for Event, Device,
2752 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2753
33871a10
VT
27542013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2755
2756 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2757 memory leak.
2758
8990963a
VS
27592013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/disk/ahci.c: Give more time for AHCI request.
2762
daae8f9e
VS
27632013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2766 command.
2767
6a7fb94b
VS
27682013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Replace the region at 0 from coreboot tables to available in BSD
2771 memory map.
2772
ff99babd
VS
27732013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2776 non-BIOS platforms.
2777
30d6b1b2
VS
27782013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2781 platforms.
2782
6ccd0b31
VS
27832013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2786 handling of multi-device filesystems.
2787
23c9cc04
VS
27882013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2791 platforms.
2792
ce50dbd7
VS
27932013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 Add new 'proc' filesystem framework and put luks_script into it.
2796
d975e8d5
VS
27972013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2800 and qemu.
2801
e73ba5e8
VS
28022013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2805
92750e4c
VS
28062013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 Add ability to generate newc additions on runtime.
2809
0ec45a68
VS
28102013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2813 description.
2814
320abd43
VS
28152013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * po/POTFILES.in: Regenerate.
2818
d7a6506e
VS
28192013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/commands/verify.c (hashes): Add several hashes
2822 from the spec.
2823
8fe05def
VS
28242013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 Slight improve in USB-related boot-time checkpoints.
2827
524e2766
VS
28282013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/commands/boottime.c: Fix copyright header.
2831
cc19857a
VS
28322013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2835 coreboot tables content. Support for cbmemc.
2836
ef8810e9
VS
28372013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Fix a conflict between ports structures with 2 controllers of
2840 same kind.
2841
e9dabdfa
VS
28422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * include/grub/boottime.h: Add missing file.
2845
f6df57d2
VS
28462013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 Initialize USB ports in parallel to speed-up boot.
2849
d745dda7
VS
28502013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 Fix USB devices not being detected when requested
2853 due to delayed attach.
2854
e5a2dd7b
VS
28552013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2856
e744219b
VS
2857 Implement boot time analysis framework.
2858
28592013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2862 descriptor to just receive it as argument rather than endpoint
2863 address.
2864
5dd6f587
VS
28652013-03-19 Aleš Nesrsta <starous@volny.cz>
2866
2867 Better estimate the maximum USB transfer size.
2868
2f1071d5
VS
28692013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 Resend a packet if we got the wrong buffer in status.
2872
46ecfc49
VS
28732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2876 multiplication rather than division.
2877
ea811130
VS
28782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2881 than divisions.
2882
d2789cf0
VS
28832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2886 operations to have intended shifts and not divisions.
2887
a9c94590
VS
28882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2891 intended shifts rather than division.
2892
84cfe81b
VS
28932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2896 computation for some years before epoch. Avode confusing division
2897 while on it.
2898
21344ef6
VS
28992013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/video/i386/pc/vbe.c
2902 (grub_video_vbe_print_adapter_specific_info): Replace division by
2903 shifts.
2904
3f2b4d1a
VS
29052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Adjust types in gdb module to have intended unsigned shifts rather than
2908 signed divisions.
2909
3dac5878
VS
29102013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2913 maximum size is 4G - 1 on hfs
2914
5341c0fb
VS
29152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2918
fc3ff2a2
VS
29192013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2922 function.
2923
81455e8e
AB
29242013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2925
2926 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2927 causing gcc error with gcc 4.7.1.
2928
efd4f117
NZ
29292013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2930
2931 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2932 dereference null pointer. While the code is technically correct, gcc
2933 may eliminate a null check if pointer is already dereferenced.
2934
e11645f4
NZ
29352013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2936
2937 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2938 OOM check.
2939 * grub-core/normal/term.c (read_terminal_list): Likewise.
2940
77468368
VS
29412013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 Lift up core size limits on some platforms. Fix potential memory
2944 corruption with big core on small memory systems. Document remaining
2945 limits.
2946
f6b58fe5
VS
29472013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2950 gotoxy to 0,0.
2951
19ce697d
VS
29522013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Remove all trampoline support. Add -Wtrampolines when
2955 present. Remove symbols used for trampolines to make
2956 link fail if trampolines are present.
2957
73b5d90f
VS
29582013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2961 append out of its parent.
2962
cb758e96
VS
29632013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2966 parent.
2967
3188131f
VS
29682013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2971 all vars to a macro. All users updated.
2972
e42b2514
VS
29732013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2976 i386-ieee1275.
2977
83e1a1a1
VS
29782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2981
1d5a880f
VS
29822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2985
6e4146c4
VS
29862013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 Move to more hookless approach in IEEE1275 devices handling.
2989
99fcda8a
VS
29902013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/kern/term.c (grub_term_normal_color),
2993 (grub_term_highlight_color): Add back lost defaults.
2994
73bf57e2
VS
29952013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Make elfload not use hooks. Opt for flags and iterators instead.
2998
7f8c105f
VS
29992013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3002 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3003
396d4091
VS
30042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3007
30082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3011 hook pass-through parameter. All users updated and unnested.
3012
74a27421
VS
30132013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3016 out of its parent.
3017
b46d4213
VS
30182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/fs/hfs.c: Remove nested functions.
3021
e114c3cc
VS
30222013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3025 the context through.
3026 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3027
f9b7d780
VS
30282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * util/grub-editenv.c (list_variables): Move print_var out of its
3031 parent.
3032
ca9c2608
VS
30332013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3036 function.
3037
5d983f5f
VS
30382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/gentrigtables.c: Make tables const.
3041
3056d3e7
VS
30422013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 Remove nested functions from videoinfo iterators.
3045
e2303774
VS
30462013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3049 for 64-bit platforms.
3050
f42e3a2f
VS
30512013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3054 a FOR_CHILDREN macro.
3055
be174e5e
VS
30562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3059 platform from firmware path.
3060
0789b672
VS
30612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 Enable linux16 on non-BIOS systems for i.a. memtest.
3064
3065 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3066 correctly.
3067 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3068
005a9c32
VS
30692013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3072 Fix end of table condition.
3073
ff2b3cd9
VS
30742013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3077 out of its parent.
3078
4fc40ff8
VS
30792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/fs/jfs.c: Remove nested functions.
3082
be42d97a
VS
30832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * grub-core/fs/minix.c: Remove nested functions.
3086
99373ce4
VS
30872013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/fs/iso9660.c: Remove nested functions.
3090
5aec2afe
VS
30912013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3094 of parent function.
3095
6c69e691
VS
30962013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * util/grub-fstest.c: Remove nested functions.
3099
43c91882
VS
31002013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/loader/machoXX.c: Remove nested functions.
3103
4eb8b756
CW
31042013-02-27 Colin Watson <cjwatson@ubuntu.com>
3105
3106 Remove nested functions from disk and file read hooks.
3107
3108 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3109 (struct grub_disk): Add read_hook_data member.
3110 * include/grub/file.h (struct grub_file): Likewise.
3111 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3112 argument.
3113
3114 Update all callers.
3115
df6da5a5
AB
31162012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3117
3118 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3119 Fix off by one error in enumerating extended partitions.
3120
21aecde5
AB
31212013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3122
3123 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3124 memory leak if device name is not found.
3125
f1a19118
AB
31262013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3127
3128 * grub-core/normal/menu_entry.c (update_screen): remove
3129 unused variable `off' which caused scroll down arrow to be always shown.
3130
958bfd20
AB
31312013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3132
3133 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3134 access to unallocated memory.
3135
b7b78edb
AB
31362013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3137
3138 * Makefile.util.def: Add partmap/msdos.c to common library.
3139 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3140 * grub-core/disk/ldm.c: Check for existence of
3141 GRUB_PC_PARTITION_TYPE_LDM.
3142
28d468d6
VS
31432013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3146 sizes and display sector size.
3147
d55ffb02
VS
31482013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Implement new command cmosdump.
3151
b5ea6ce0
VS
31522013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3153
3154 Support Openfirmware disks with non-512B sectors.
3155
3156 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3157 size of the disk.
3158 * (grub_ofdisk_get_block_size): New function.
3159 * (grub_ofdisk_prepare): Use the correct block size.
3160 * (grub_ofdisk_read): Likewise.
3161 * (grub_ofdisk_write): Likewise.
3162 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3163 New proto.
3164
cc0e476f
VS
31652013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3168
c5dbdc33
VS
31692013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3172 on first error.
3173
3f078c0f
VS
31742013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3177 freeing it.
3178
66a93674
VS
31792013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 Implement USBDebug (full USB stack variant).
3182
c9f0c134
VS
31832013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3186 unless they have unexpected values.
3187
cfe1288b
VS
31882013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3191 grub_print_error.
3192
e42b9969
VS
31932013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3196 zero-out of port structure.
3197
cf94fd62
VS
31982013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3201 of extended attributes.
3202
f81ef4b5
AB
32032013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3204
3205 * util/grub-install.in: change misleading comment about
3206 device.map creation
3207
af18fdb4
VS
32082013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3211 when menu highlight color isn't set.
3212
08bcec50
M
32132013-01-27 C. Masloch <pushbx@38.de>
3214
3215 Improve FreeDOS direct loading support compatibility.
3216
3217 * include/grub/i386/relocator.h (grub_relocator16_state):
3218 New member ebp.
3219 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3220 variable.
3221 (grub_relocator16_boot): Handle %ebp.
3222 * grub-core/lib/i386/relocator16.S: Likewise.
3223 * grub-core/loader/i386/pc/freedos.c:
3224 Load BPB to pass kernel which partition to load from.
3225 Check that kernel file is not too large.
3226 Set register dl to BIOS unit number as well.
3227
7782b8a6
CW
32282013-01-22 Colin Watson <cjwatson@ubuntu.com>
3229
3230 * util/grub-reboot.in (usage): Document the need for
3231 GRUB_DEFAULT=saved.
3232 * util/grub-set-default.in (usage): Likewise.
3233 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3234
e661c180
VS
32352013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3238 than defining WORDS_BIGENDIAN manually.
3239
1c22ca9a
VS
32402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3243 invariants.
3244
d44892fe
CW
32452013-01-21 Colin Watson <cjwatson@ubuntu.com>
3246
3247 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3248 nested.
3249 (blit_comb: add_device_width): Likewise.
3250
5fdbaed1
CW
32512013-01-21 Colin Watson <cjwatson@ubuntu.com>
3252
3253 Remove nested functions from USB iterators.
3254
3255 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3256 (grub_usb_controller_iterate_hook_t): Likewise.
3257 (grub_usb_iterate): Add hook_data argument.
3258 (grub_usb_controller_iterate): Likewise.
3259 (struct grub_usb_controller_dev.iterate): Likewise.
3260
3261 Update all implementations and callers.
3262
4250985a
VS
32632013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3266 margin when not needed.
3267
7d8848f3
VS
32682013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3269
bc136973 3270 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3271
32722013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3273
bc136973
VS
3274 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3275 asterisk.
7d8848f3 3276
ed12a003
CW
32772013-01-21 Colin Watson <cjwatson@ubuntu.com>
3278
3279 Fix powerpc and sparc64 build failures caused by un-nesting memory
3280 map iterators.
3281
6a0db449
CW
32822013-01-21 Colin Watson <cjwatson@ubuntu.com>
3283
3284 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3285 parameter declarations.
3286
ccd86b21
VS
32872013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3290
822b726b
VS
32912013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Improve spkmomdem reliability by adding a separator between bytes.
3294
115c2cc1
CW
32952013-01-21 Colin Watson <cjwatson@ubuntu.com>
3296
3297 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3298 an Acer registration utility with several sightings in the wild.
3299 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3300
fc524edf
CW
33012013-01-21 Colin Watson <cjwatson@ubuntu.com>
3302
3303 Remove nested functions from filesystem directory iterators.
3304
3305 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3306 (struct grub_fs.dir): Add hook_data argument.
3307
3308 Update all implementations and callers.
3309
53d3e4e3
CW
33102013-01-21 Colin Watson <cjwatson@ubuntu.com>
3311
3312 * docs/grub.texi (Multi-boot manual config): Fix typo for
3313 "recommended".
3314
c821711f
LL
33152013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3316
3317 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3318 until after its use in generate_image.
3319
6a0debbd
CW
33202013-01-20 Colin Watson <cjwatson@ubuntu.com>
3321
3322 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3323 initrd size to addr_min, since the initrd will be allocated after
3324 this address.
3325
f41e08db
AB
33262013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3327
3328 * conf/Makefile.common: Fix autogen rules to pass definition
3329 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3330
77529e0f
LL
33312013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3332
3333 * include/grub/elf.h: Update ARM definitions based on binutils.
3334
b879aa7b
VS
33352013-01-20 Aleš Nesrsta <starous@volny.cz>
3336
3337 Split long USB transfers into short ones.
3338
8eb8284d
AB
33392013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3340
3341 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3342 is interrupted by ESC.
3343
08dad2dc
VS
33442013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * util/grub-script-check.c (main): Uniform the error message.
3347
6c724b85
CW
33482013-01-20 Colin Watson <cjwatson@ubuntu.com>
3349
3350 Remove nested functions from ELF iterators.
3351
25239370
CW
33522013-01-20 Colin Watson <cjwatson@ubuntu.com>
3353
3354 Remove nested functions from device iterators.
3355
3356 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3357 (grub_arc_iterate_devs): Add hook_data argument.
3358 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3359 (struct grub_ata_dev.iterate): Add hook_data argument.
3360 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3361 (grub_device_iterate): Add hook_data argument.
3362 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3363 (struct grub_disk_dev.iterate): Add hook_data argument.
3364 (grub_disk_dev_iterate): Likewise.
3365 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3366 Likewise.
3367 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3368 Likewise.
3369 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3370 type.
3371 (struct grub_partition_map.iterate): Add hook_data argument.
3372 (grub_partition_iterate): Likewise.
3373 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3374 (struct grub_scsi_dev.iterate): Add hook_data argument.
3375
3376 Update all callers.
3377
6c0314d6
CW
33782013-01-20 Colin Watson <cjwatson@ubuntu.com>
3379
3380 Fix typos for "developer" and "development".
3381
600dc5f1
VS
33822013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 Add license header to spkmodem-recv.c.
3385
17334a6b
VS
33862013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 Rewrite spkmodem to use PIT for timing. Double the speed.
3389
7d462559
VS
33902013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 Add new command pcidump.
3393
b78d6c32
VS
33942013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 New terminal outputs using serial: morse and spkmodem.
3397
34f71cb8
VS
33982013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 Improve bidi handling in entry editor.
3401
4542e71b
VS
34022013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3405 argument to prevent name collision.
3406
09fd6d82
CW
34072013-01-15 Colin Watson <cjwatson@ubuntu.com>
3408
3409 Remove nested functions from script reading and parsing.
3410
3411 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3412 getline_data argument, passed to getline.
3413 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3414 getline_data argument, passed to grub_parser_split_cmdline.
3415 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3416 lexerstate->getline_data to lexerstate->getline.
3417 (grub_script_lexer_init): Add getline_data argument, saved in
3418 lexerstate->getline_data.
3419 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3420 argument, passed to grub_script_parse.
3421 * grub-core/script/script.c (grub_script_parse): Add getline_data
3422 argument, passed to grub_script_lexer_init.
3423 * include/grub/parser.h (grub_parser_split_cmdline): Update
3424 prototype. Update all callers to pass appropriate getline data.
3425 (struct grub_parser.parse_line): Likewise.
3426 (grub_rescue_parse_line): Likewise.
3427 * include/grub/reader.h (grub_reader_getline_t): Add void *
3428 argument.
3429 * include/grub/script_sh.h (struct grub_lexer_param): Add
3430 getline_data member.
3431 (grub_script_parse): Update prototype. Update all callers to pass
3432 appropriate getline data.
3433 (grub_script_lexer_init): Likewise.
3434 (grub_normal_parse_line): Likewise.
3435
3436 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3437 data argument.
3438 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3439 static instead of nested. Rename to ...
3440 (grub_parser_execute_getline): ... this.
3441 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3442 data argument.
3443 * grub-core/normal/main.c (read_config_file: getline): Make static
3444 instead of nested. Rename to ...
3445 (read_config_file_getline): ... this.
3446 (grub_normal_read_line): Add unused data argument.
3447 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3448 getline): Make static instead of nested. Rename to ...
3449 (grub_script_execute_sourcecode_getline): ... this.
3450 * util/grub-script-check.c (main: get_config_line): Make static
3451 instead of nested.
3452
d0d4b8a0
CW
34532013-01-15 Colin Watson <cjwatson@ubuntu.com>
3454
3455 Remove nested functions from memory map iterators.
3456
3457 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3458 argument, passed to hook.
3459 * grub-core/kern/i386/coreboot/mmap.c
3460 (grub_linuxbios_table_iterate): Likewise.
3461 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3462 instead of nested.
3463 (grub_machine_mmap_iterate): Add hook_data argument.
3464 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3465 Add hook_data argument, passed to hook.
3466 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3467 Likewise.
3468 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3469 Likewise.
3470 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3471 Likewise.
3472 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3473 Likewise.
3474 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3475 Likewise.
3476 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3477 Likewise.
3478 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3479 (grub_machine_mmap_iterate): Likewise.
3480 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3481 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3482 prototype.
3483 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3484 Remove NESTED_FUNC_ATTR from here and from all users.
3485 (grub_mmap_iterate): Update prototype.
3486 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3487 pass appropriate hook data.
3488 (grub_machine_mmap_iterate): Likewise.
3489
3490 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3491 static instead of nested.
3492 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3493 Rename to ...
3494 (lsmmap_hook): ... this.
3495 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3496 Likewise.
3497 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3498 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3499 heap_init): Likewise.
3500 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3501 Rename to ...
3502 (mmap_iterate_hook): ... this.
3503 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3504 Likewise.
3505 * grub-core/lib/ieee1275/relocator.c
3506 (grub_relocator_firmware_get_max_events: count): Likewise.
3507 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3508 to ...
3509 (grub_relocator_firmware_fill_events_iter): ... this.
3510 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3511 hook): Likewise. Rename to ...
3512 (grub_relocator_alloc_chunk_align_iter): ... this.
3513 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3514 Rename to ...
3515 (generate_e820_mmap_iter): ... this.
3516 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3517 Rename to ...
3518 (count_hook): ... this.
3519 (grub_linux_boot: hook): Likewise. Rename to ...
3520 (grub_linux_boot_mmap_find): ... this.
3521 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3522 (grub_linux_boot_mmap_fill): ... this.
3523 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3524 hook): Likewise. Rename to ...
3525 (grub_fill_multiboot_mmap_iter): ... this.
3526 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3527 hook): Likewise. Rename to ...
3528 (count_hook): ... this.
3529 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3530 hook): Likewise. Rename to ...
3531 (grub_fill_multiboot_mmap_iter): ... this.
3532 * grub-core/loader/powerpc/ieee1275/linux.c
3533 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3534 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3535 Likewise. Rename to ...
3536 (alloc_phys_choose): ... this.
3537 (determine_phys_base: get_physbase): Likewise.
3538 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3539 find_hook): Likewise.
3540 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3541 (malloc_hook: count_hook): Likewise.
3542 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3543 Likewise. Rename to ...
3544 (lower_hook): ... this.
3545 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3546 (upper_hook): ... this.
3547 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3548 (post64_hook): ... this.
3549 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3550 Likewise. Rename to ...
3551 (lower_hook): ... this.
3552 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3553 (upper_hook): ... this.
3554 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3555 (grub_mmap_iterate: fill_hook): Likewise.
3556 (fill_mask): Pass addr and mask within a single struct.
3557 (grub_cmd_badram: hook): Make static instead of nested. Rename
3558 to ...
3559 (badram_iter): ... this.
3560 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3561 (cutmem_iter): ... this.
3562
22099030
VS
35632013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3566 delimit path in strings using quotes.
3567 * util/getroot.c (grub_guess_root_devices): Likewise.
3568 (grub_make_system_path_relative_to_its_root): Likewise.
3569 * util/grub-probe.c (probe): Likewise.
3570 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3571 (xrealpath): Likewise.
3572
4a9950ec
VS
35732013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Fix compilation with older compilers.
3576
3577 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3578 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3579 declarations.
3580 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3581 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3582 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3583 identifier with b.
3584 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3585 * include/grub/crypto.h: Add type defines.
3586 * util/import_gcrypth.sed: Remove duplicate type defines.
3587
adcc6020
VS
35882013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 New command list_trusted.
3591
3592 * grub-core/commands/verify.c (grub_cmd_list): New function.
3593
a4528937
CW
35942013-01-13 Colin Watson <cjwatson@ubuntu.com>
3595
3596 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3597 info message.
3598
ca3a7446
CW
35992013-01-13 Colin Watson <cjwatson@ubuntu.com>
3600
3601 Remove nested functions from PCI iterators.
3602
3603 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3604 passed to hook. Update all callers to pass appropriate hook data.
3605 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3606 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3607 Remove NESTED_FUNC_ATTR from here and from all users.
3608 (grub_pci_iterate): Update prototype.
3609 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3610 instead of nested. Rename to ...
3611 (grub_cs5536_find_iter): ... this.
3612 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3613 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3614 Likewise.
3615 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3616 Likewise.
3617 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3618 Likewise.
3619 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3620 Likewise.
3621 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3622 * grub-core/video/radeon_fuloong2e.c
3623 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3624 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3625 find_card): Likewise.
3626 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3627 Likewise.
3628
f8e98fee
VS
36292013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/commands/verify.c: Mark messages for translating.
3632
055b36b6
VS
36332013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3636 fatal.
3637
f7ff879b
VS
36382013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3641 fatal.
3642
36432013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3644
3645 * autogen.sh: Do not try to delete nonexistant files.
3646 * util/import_gcrypth.sed: Add some missing header removals.
3647
01323d49
CW
36482013-01-12 Colin Watson <cjwatson@ubuntu.com>
3649
3650 Clean up dangling references to grub-setup.
3651 Fixes Ubuntu bug #1082045.
3652
3653 * docs/grub.texi (Images): Refer generally to grub-install rather
3654 than directly to grub-setup.
3655 (Installing GRUB using grub-install): Remove direct reference to
3656 grub-setup.
3657 (Device map) Likewise.
3658 (Invoking grub-install): Likewise.
3659 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3660 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3661 * util/grub-install.in (usage): Likewise.
3662
3663 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3664 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3665 grub-setup.
3666 * configure.ac: Remove grub_setup output variable.
3667
3668 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3669 to grub-bios-setup.
3670 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3671 grub-setup to grub-sparc64-setup.
3672
5e3b8dcb
VS
36732013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 Import gcrypt public-key cryptography and implement signature checking.
3676
535714bd
VS
36772013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/fs/ntfs.c: Ue more appropriate types.
3680 * grub-core/fs/ntfscomp.c: Likewise.
3681 * include/grub/ntfs.h: Likewise.
3682
3e4f3566
VS
36832013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Support Apple FAT binaries on non-Apple platforms.
3686
3687 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3688 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3689 Likewise.
3690 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3691 Apple FAT binaries.
3692
4dedb13f
VS
36932013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3696 sector devices.
3697
f8861eaf
CW
36982013-01-07 Colin Watson <cjwatson@ubuntu.com>
3699
3700 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3701 explicitly zeroing elements.
3702 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3703 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3704 of elements in a structure already allocated using grub_zalloc.
3705 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3706
86065b0a
CW
37072013-01-07 Colin Watson <cjwatson@ubuntu.com>
3708
3709 * docs/grub.texi (grub_cpu): New subsection.
3710 (grub_platform): Likewise.
3711
c6f1e92f
VS
37122013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3715
f797ec85
VS
37162013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3719 divisions.
3720
033d0b4b
VS
37212013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3724 * grub-core/fs/ntfscomp.c: Likewise.
3725 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3726 (grub_ntfs_comp): Likewise.
3727
21d1b9a0
VS
37282013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3731 Rename to ...
3732 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3733 of groups_per_block. All users updated.
3734
10ca8645
VS
37352013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3738 grub_error properly.
3739 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3740 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3741
a4c3ed4c
VS
37422013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3745 always in /boot/zfs.
3746 Reported by: Yuta Satoh.
3747
0b716507
YS
37482013-01-03 Yuta Satoh <nigoro>
3749
3750 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3751 ${grub_probe}
3752
00c05e22
VS
37532013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * configure.ac: Extend -Wno-trampolines to host.
3756
dadddb76
VS
37572013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3760 entry->len = 0.
3761
54ce53ca
CW
37622013-01-03 Colin Watson <cjwatson@ubuntu.com>
3763
3764 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3765 (Invoking grub-script-check): Likewise.
3766
8912efca
CW
37672013-01-03 Colin Watson <cjwatson@ubuntu.com>
3768
3769 * docs/grub.texi (Invoking grub-mount): New section.
3770 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3771
c3fc8394
CW
37722013-01-02 Colin Watson <cjwatson@ubuntu.com>
3773
3774 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3775 test failures, so that a failing unit test correctly causes 'make
3776 check' to fail.
3777
45d26abb
CW
37782013-01-02 Colin Watson <cjwatson@ubuntu.com>
3779
3780 Fix failing printf test.
3781
3782 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3783 '$' in the correct order when collecting type information.
3784
971dd2c6
CW
37852013-01-02 Colin Watson <cjwatson@ubuntu.com>
3786
3787 * docs/grub.texi (configfile): Explain environment variable
3788 handling.
3789 (source): New section.
3790 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3791
5c67ea6c
CW
37922012-12-31 Colin Watson <cjwatson@ubuntu.com>
3793
3794 Remove several trivially-unnecessary uses of nested functions.
3795
3796 * grub-core/commands/i386/pc/sendkey.c
3797 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3798 instead of nested.
3799 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3800 Rename to ...
3801 (legacy_file_getline): ... this.
3802 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3803 Likewise.
3804 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3805 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3806 to ...
3807 (probe_dummy_iter): ... this.
3808 * grub-core/kern/i386/coreboot/mmap.c
3809 (grub_linuxbios_table_iterate: check_signature): Likewise.
3810 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3811 check_varstate): Likewise. Mark inline.
3812 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3813 an additional parameter.
3814 (find_long: fnd_long): Likewise. Pass two additional parameters.
3815 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3816 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3817 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3818 Likewise. Rename to ...
3819 (grub_cmos_find_port_iter): ... this.
3820 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3821 Rename to ...
3822 (find_rtc_iter): ... this.
3823
3824 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3825 function directly into the function body, since it is only called
3826 once.
3827
33a68ac6
CW
38282012-12-30 Colin Watson <cjwatson@ubuntu.com>
3829
3830 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3831 __attribute__ ((unused)).
3832 * grub-core/video/bochs.c (find_card): Likewise.
3833 * grub-core/video/cirrus.c (find_card): Likewise.
3834 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3835 * grub-core/video/sis315pro.c (find_card): Likewise.
3836 * grub-core/video/sm712.c (find_card): Likewise.
3837
608b647a
CW
38382012-12-28 Colin Watson <cjwatson@ubuntu.com>
3839
3840 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3841 Fixes Savannah bug #37821.
3842
fd49ceb3
CW
38432012-12-28 Colin Watson <cjwatson@ubuntu.com>
3844
3845 Apply program name transformations at build-time rather than at
3846 run-time. Fixes Debian bug #696465.
3847
3848 * acinclude.m4 (grub_TRANSFORM): New macro.
3849 * configure.ac: Create output variables with transformed names for
3850 most programs.
3851 * util/bash-completion.d/grub-completion.bash.in: Use
3852 pre-transformed variables for program names.
3853 * util/grub-install.in: Likewise.
3854 * util/grub-kbdcomp.in: Likewise.
3855 * util/grub-mkconfig.in: Likewise.
3856 * util/grub-mkconfig_lib.in: Likewise.
3857 * util/grub-mknetdir.in: Likewise.
3858 * util/grub-mkrescue.in: Likewise.
3859 * util/grub-mkstandalone.in: Likewise.
3860 * util/grub-reboot.in: Likewise.
3861 * util/grub-set-default.in: Likewise.
3862 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3863 * tests/util/grub-shell-tester.in: Remove unused assignment.
3864 * tests/util/grub-shell.in: Likewise.
3865 * util/grub.d/00_header.in: Likewise.
3866
7024b3c0
CW
38672012-12-28 Colin Watson <cjwatson@ubuntu.com>
3868
3869 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3870
3871 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3872 HAVE_RAW_DECL_GETS.
3873 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3874
e3501b13
VS
38752012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3878 Reported by: Eriks Latosheks <foresterlv>.
3879
b40c88a9
VS
38802012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * docs/grub.texi (Network): Update instructions on generating netboot
3883 image.
3884
ce96d01c
VS
38852012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3888 around device name if necessarry.
3889
0f596201
PFS
38902012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3891
3892 * util/grub-install.in: Follow the symbolic link parameter added
3893 to the file command.
3894
600d5bdb
AB
38952012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3896
3897 * util/grub-install.in: Remove stale TODO.
3898
64ebd2f4
PFS
38992012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3900
3901 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3902 dynamic allocation for the bootpath buffer.
3903
74b2fe3e
DTB
39042012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3905
3906 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3907 window too small.
3908
969b804f
VS
39092012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3912 argument rather than font name. All users updated.
3913 (grub_gfxterm_set_window): Likewise.
3914
b9f5ebd6
VT
39152012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3916
3917 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3918 from working.
3919
258f43b7
VS
39202012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * util/getroot.c (convert_system_partition_to_system_disk): Support
3923 nbd disks.
3924
cc1ce5f9
VS
39252012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3928 infinite loop on corrupted FS.
3929
e77a16ca
VS
39302012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 Fix big-endian mtime.
3933
3934 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3935 together sec and usec.
3936 (grub_ufs_dir): Use correct byteswapping for UFS time.
3937
d9c48c7b
VS
39382012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 Support big-endian UFS1.
3941
3942 * Makefile.util.def (libgrubmods): Add ufs_be.c
3943 * grub-core/Makefile.core.def (ufs1_be): New module.
3944 * grub-core/fs/ufs_be.c: New file.
3945 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3946 the file.
3947
2f9f40ba
LL
39482012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3949
3950 * include/grub/types.h: Fix functionality unaffecting typo in
3951 GRUB_TARGET_WORDSIZE conditional macro.
3952
48ff0889
PFS
39532012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3954
3955 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3956
03711240
GS
39572012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3958
3959 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3960 that /netbsd appears first (when it exists).
3961
a31b11bd
CJ
39622012-10-12 Christoph Junghans <ottxor@gentoo.org>
3963
3964 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3965 Fixes Savannah bug #37558.
3966
e8a5d5d4
CW
39672012-10-12 Colin Watson <cjwatson@ubuntu.com>
3968
3969 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3970 description of extract_entries_configfile.
3971
39722012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3973
3974 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3975 preferred_address.
3976 (grub_cmd_linux): Likewise.
3977 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3978 preferred_lifetime. Update all users.
3979
288c757d
CW
39802012-09-26 Colin Watson <cjwatson@ubuntu.com>
3981
3982 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3983 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3984
0d35da3f
CW
39852012-09-26 Colin Watson <cjwatson@ubuntu.com>
3986
3987 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3988 errors from grub-probe to /dev/null, not stdout.
3989
b78c3127
VS
39902012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3993 sector 1.
3994
473959f0
CW
39952012-09-24 Colin Watson <cjwatson@ubuntu.com>
3996
3997 * util/grub-install.in: Make the error message if $source_dir
3998 doesn't exist more useful.
3999
794c8c33
CW
40002012-09-22 Colin Watson <cjwatson@ubuntu.com>
4001
4002 Fix grub-emu build on FreeBSD.
4003
4004 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4005 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4006 headers on Linux.
4007 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4008 implementation is currently Linux-specific.
4009 * util/getroot.c (exec_pipe): Define only on Linux or when either
4010 libzfs or libnvpair is unavailable.
4011 (find_root_devices_from_poolname): Remove unused path variable.
4012
86d08fdb
CW
40132012-09-19 Colin Watson <cjwatson@ubuntu.com>
4014
4015 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4016 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4017 should fit before end == 63.
4018
735abf54
CW
40192012-09-19 Colin Watson <cjwatson@ubuntu.com>
4020
4021 * util/grub-setup.c (write_rootdev): Remove unused core_img
4022 parameter. Update all callers.
4023 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4024 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4025 GRUB_SETUP_BIOS.
4026
140acd3c
VS
40272012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4030 (grub_add_tab): New function.
4031 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4032 * util/grub.d/10_illumos.in: Likewise.
4033 * util/grub.d/10_kfreebsd.in: Likewise.
4034 * util/grub.d/10_linux.in: Likewise.
4035 * util/grub.d/10_netbsd.in: Likewise.
4036 * util/grub.d/10_windows.in: Likewise.
4037 * util/grub.d/10_xnu.in: Likewise.
4038 * util/grub.d/20_linux_xen.in: Likewise.
4039 * util/grub.d/30_os-prober.in: Likewise.
4040
7ddffdad
VS
40412012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4044 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4045 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4046 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4047 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4048 ieee1275-nocursor.
4049 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4050 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4051
4e092454
VS
40522012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4055 le-conversion.
4056 Reported by: BURETTE, Bernard.
4057
735abf54 40582012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4059
4060 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4061 from comment.
4062
dfd39dbd
CW
40632012-09-14 Colin Watson <cjwatson@ubuntu.com>
4064
4065 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4066 IEEE1275 machines. Fixes powerpc-emu compilation.
4067 * include/grub/terminfo.h: Likewise.
4068
3bfa763c
VS
40692012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4072 a const pointer.
4073 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4074 const pointer.
4075 (efiemu_set_variable): Make vendor_guid a const pointer.
4076
250e475b
VS
40772012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Don't require grub-mkconfig_lib to generate manpages for programs.
4080
4081 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4082 dependencies, don't add grub-mkconfig_lib.
4083 (program): Pass empty adddeps.
4084 (script): Pass grub-mkconfig_lib as adddeps.
4085
592fd0e4
VS
40862012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4089 * util/getroot.c (grub_find_device): Likewise.
4090 (get_mdadm_uuid): Likewise.
4091 (grub_util_is_imsm): Likewise.
4092 (grub_util_pull_device): Likewise.
4093 * util/grub-probe.c (probe): Likewise.
4094
801a3027
BG
40952012-09-10 Benoit Gschwind <gschwind>
4096
4097 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4098 (devs): Add devpath_8.
4099
c5052c81
PJ
41002012-09-08 Peter Jones <pjones@redhat.com>
4101
4102 * grub-core/Makefile.core.def (efifwsetup): New module.
4103 * grub-core/commands/efi/efifwsetup.c: New file.
4104 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4105 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4106 New define.
4107 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4108
8e832f71
JS
41092012-09-05 Jiri Slaby <jslaby@suse.cz>
4110
4111 * configure.ac: Add SuSe path.
4112
f0f55752
CW
41132012-09-05 Colin Watson <cjwatson@ubuntu.com>
4114
4115 * NEWS: Fix typo.
4116
ecadc4c2
CW
41172012-09-05 Colin Watson <cjwatson@ubuntu.com>
4118
4119 * util/import_gcry.py: Sort cipher_files, to make build system
4120 generation more deterministic.
4121
64498f25
VS
41222012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4125 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4126 (grub_set_datetime): Likewise.
4127
9cc836a2
VS
41282012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4131 warnings.
4132
bcfcea01
VS
41332012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4136
a4099485
VS
41372012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4140
265c162a
CW
41412012-09-04 Colin Watson <cjwatson@ubuntu.com>
4142
4143 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4144 required for checkouts from bzr, but it may be useful for users or
4145 distributors wishing to update translations against a tarball
4146 distribution, and it can be helpful for the tarball to be a superset
4147 of what's in bzr.
4148
3d171e95
CW
41492012-09-04 Colin Watson <cjwatson@ubuntu.com>
4150
4151 * Makefile.am (EXTRA_DIST): Add
4152 grub-core/tests/boot/linux.init-mips.S,
4153 grub-core/tests/boot/linux.init-ppc.S, and
4154 grub-core/tests/boot/linux-ppc.cfg.
4155
f2c2503e
CW
41562012-09-04 Colin Watson <cjwatson@ubuntu.com>
4157
4158 * grub-core/mmap/mips/loongson: Remove empty directory.
4159
41602012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4161
4162 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4163 gone.
4164
ab2163d5
CW
41652012-09-04 Colin Watson <cjwatson@ubuntu.com>
4166
4167 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4168 grub-sparc64-setup.
4169
ce938140
GS
41702012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4171
4172 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4173
529f58a5
GS
41742012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4175
4176 * po/POTFILES.in: Regenerated.
4177
16cf79e9
GS
41782012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4179
4180 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4181 (NetBSD): New subsection.
4182
39b27f1e 41832012-07-22 Ales Nesrsta <starous@volny.cz>
4184
4185 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4186 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4187
a885261b
VS
41882012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4191 * util/grub.d/10_hurd.in: Add missing quoting.
4192 * util/grub.d/10_illumos.in: Likewise.
4193 * util/grub.d/10_kfreebsd.in: Likewise.
4194 * util/grub.d/10_linux.in: Likewise.
4195 * util/grub.d/20_linux_xen.in: Likewise.
4196
7bd29c01
VS
41972012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 New command `lsefi'.
4200
4201 * grub-core/Makefile.core.def (lsefi): New module.
4202 * grub-core/commands/efi/lsefi.c: New file.
4203 * include/grub/efi/api.h: Add more GUIDs.
4204
ac625d8f
VS
42052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4208 (grub_bsd_elf32_hook): Likewise.
4209 (grub_bsd_elf64_size_hook): Likewise.
4210 (grub_bsd_elf64_hook): Likewise.
4211 (grub_bsd_load_elf): Likewise.
4212
e73bb801
VS
42132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4216 if hash function is unavailable.
4217 (dec_stream_header): Likewise.
4218
e81db8b5
VS
42192012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4222 filter state.
4223
d187a1c3
VS
42242012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 Fix coreboot compilation.
4227
4228 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4229 (grub_vga_text_init_real): ... this.
4230 (grub_vga_text_fini): Rename to ...
4231 (grub_vga_text_fini_real): ... this.
4232
91a05f64
VS
42332012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4236
6af96df7
VS
42372012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/lib/legacy_parse.c: Support clear and testload.
4240
4d569e12
VS
42412012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4244
073b57bb
VS
42452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4248
a706f4cc
VS
42492012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/net/tftp.c (ack): Fix endianness problem.
4252 (tftp_receive): Likewise.
4253 Reported by: Michael Davidsaver.
4254
e7850aa9
VS
42552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4258
42592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4262 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4263 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4264
35692881
VS
42652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4268 efi_mmap_size.
4269 Reported by: Stuart Hayes.
4270
c35fc5bd
VS
42712012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4274
4275 * grub-core/Makefile.core.def (mda_text): New module.
4276 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4277 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4278 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4279 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4280 here.
4281 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4282 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4283 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4284 here.
4285 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4286 to ..
4287 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4288 ... here
4289 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4290 here.
4291 * grub-core/term/i386/vga_common.c: Removed.
4292 * include/grub/i386/vga_common.h: Likewise.
4293 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4294 (grub_vga_cr_bw_read): Likewise.
4295 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4296 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4297 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4298 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4299 grub_vga_cr_read/grub_vga_cr_write.
4300 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4301
5f91f701
VS
43022012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * configure.ac: Bump version to 2.00.
4305 * grub-core/normal/main.c (features): Add feature_200_final.
4306
0c4f85f6
VS
43072012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
43082012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4309
4310 * NEWS: Fix unclarity and language mistakes.
4311
f923ad22
VS
43122012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4315 additional size to 3 pages.
4316 Reported by: Stuart Hayes.
4317
d22029ba
VS
43182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * NEWS: Add 2.00 entry.
4321
58eee08f
VS
43222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4325 put explicit "/" for empty path.
4326 (wildcard_expand): Improve dprintf.
4327
c59bdff7
VS
43282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4331 it's equal to currnode. This can happen with "" symlink.
4332
5e6a440a
YB
43332012-06-27 Yves Blusseau <blusseau@zetam.org>
4334
4335 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4336 echo shell command by printf command.
4337
73a68bcb
VS
43382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4341 the value returned by firmware is the maximal position, not diumension.
4342 (grub_terminfo_output_state): Use a more sane fallback.
4343
392a603b
VS
43442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4347
42d0867f
VS
43482012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4351 frequency to 150 MHz.
4352
489509f4
VS
43532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Apple fixes.
4356
4357 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4358 __APPLE_
4359 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4360 definition.
4361 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4362
9f3fc883
VS
43632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Handle slash in HFS label.
4366
4367 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4368 (grub_hfs_dir): Tanslate slash.
4369 (grub_hfs_label): Don't translate slash.
4370
54853fd7
VS
43712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4374 network protocol listing since it introduces problematic dependency on
4375 net module.
4376
4dc02ddf
VS
43772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4380
c50c867d
VS
43812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 Init video early on yeeloong to avoid being rebooted by watchdog.
4384
4385 * grub-core/Makefile.am (gensm712): New target.
4386 (sm712_start.S): Likewise.
4387 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4388 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4389 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4390 description.
4391 * include/grub/vga.h: Move registry definitions to...
4392 * include/grub/vgaregs.h: ... here.
4393
5f92c8a1
VS
43942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4397 signedness.
4398
e9e6f111
VS
43992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4402 platforms with firmware disk drivers in the core.
4403
754ad9eb
VS
44042012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4407 informative verbose message.
4408 (read_lv): Handle 64-bit segment size.
4409
315654c2
VS
44102012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4413
fb022c79
VS
44142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4417 character but still remove trainling spaces.
4418 (grub_fat_label): Ignore archive flag.
4419
8645f72c
VS
44202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4423 cast between linux_kernel_header and linux_kernel_params.
4424
36498496
VS
44252012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4428 type for size.
4429 (grub_raid6_recover_func_t): Likewise.
4430 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4431 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4432
0b5ea6b8
VS
44332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4436
650cfcfe
GS
44372012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4438
4439 Fix overflow.
4440
4441 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4442 [__NetBSD__]: Add explicit cast before bitshift.
4443
8a4d6a44
VS
44442012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * configure.ac: Bump to 2.00~rc1.
4447
2fb97ed3
VS
44482012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4451 half of $a0.
4452
1fa097dc
VS
44532012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
44542012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4455
4456 * docs/grub.texi: Fix search syntax.
4457 (Multi-boot manual config): Put msdos rather than GPT example.
4458 Grammar corrections.
4459
c890ba78
VS
44602012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4463
0f92dca7
VS
44642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4467
3988c4a0
VS
44682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4471 message on double free. Put the value of magic in case of mismatch.
4472
9e86d4c5
VS
44732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 Speed-up video on yeeloong.
4476
4477 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4478 add cached_ptr.
4479 (grub_video_sm712_video_fini): Unmap cached_ptr.
4480 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4481 (grub_video_sm712_set_active_render_target): Removed.
4482 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4483 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4484 sync caches.
4485
ed24c312
VS
44862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 Avoid flushing the same line multiple times on loongson.
4489
4490 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4491 Step in 32 bytes and not 1 byte.
4492 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4493 Likewise.
4494
d1718e7d
VS
44952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4498 subvolumes.
4499
982f1909
VS
45002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 Implement flow control for http.
4503
4504 * grub-core/net/http.c (parse_line): Handle response 206.
4505 (http_receive): Stall if too many packets are in the queue.
4506 (http_establish): Fix range header.
4507 (http_seek): Fix double free.
4508 (http_close): Likewise.
4509 (http_packets_pulled): New function.
4510 (grub_http_protocol): Set http_seek
4511 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4512 (ack_real): Set window depending on i_stall.
4513 (grub_net_send_tcp_packet): Likewise.
4514 (grub_net_tcp_stall): New function.
4515 (grub_net_tcp_unstall): Likewise.
4516 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4517 (grub_net_tcp_unstall): Likewise.
4518
bd407d6e
VS
45192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4522
c7564b8e
VS
45232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4526
a3706162
VS
45272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * tests/util/grub-shell.in: Fix a typo.
4530
b27069e0
VS
45312012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 Implement flow control for tftp.
4534
4535 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4536 packets but stop only if stop condition is satisfied.
4537 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4538 `stall' instead of `eof' as stop condition.
4539 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4540 (http_err): Likewise.
4541 * grub-core/net/tftp.c (ack): Replace the first argument with data
4542 instead of socket.
4543 (tftp_receive): Stall if too many packets are in wait queue.
4544 (tftp_packets_pulled): New function.
4545 (grub_tftp_protocol): Set packets_pulled.
4546 * include/grub/net.h (grub_net_packets): New field count.
4547 (grub_net_put_packet): Increment count.
4548 (grub_net_remove_packet): Likewise.
4549 (grub_net_app_protocol): New field `packets_pulled'.
4550 (grub_net): New field `stall'.
4551
6b9cfac6
VS
45522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4555 sync part to handle them.
4556
f35abd81
VS
45572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4560 * grub-core/net/drivers/ieee1275/ofnet.c
4561 (grub_ieee1275_net_config_real): Likewise.
4562
0e7ec820
VS
45632012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4566 the direct route for server/gateway.
4567
9d611a31
VS
45682012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4571 IP address to server name since we may not hame the DNS.
4572
418f45ab
VS
45732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4576 freeing random buffer on failure.
4577 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4578
44a0efc1
VS
45792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4582
531e2241
VS
45832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4586 reserved bytes.
4587 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4588 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4589 Handle malloc error correctly.
4590
cde393c9
VS
45912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4594 blocks.
4595
538478d0
VS
45962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4599 increment.
4600
9b55efe0
VS
46012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4604 none is explicitly specified.
4605
9eb832c3
VS
46062012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4609 while reallocating.
4610
d6b7c7c9
VS
46112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Respect netmask from bootp/dhcp.
4614
4615 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4616 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4617 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4618 into ...
4619 (grub_net_add_ipv4_local): ... this.
4620 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4621 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4622 (grub_net_add_ipv4_local): New proto.
4623
67caf9eb
VS
46242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4627 determining EFI memory map size.
4628
43657558
VS
46292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4632
eb6d0dd3
VS
46332012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4636 when looking for partition separator.
4637
31230544
VS
46382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4641 Escape commas.
4642
918a2517
VS
46432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Restructure FAT driver to avoid hook in label reading as it hits a
4646 GCC bug.
4647
4648 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4649 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4650 (grub_fat_iterate_dir): Split into ...
4651 (grub_fat_iterate_init): ... this, ...
4652 (grub_fat_iterate_fini): ... this, ...
4653 (grub_fat_iterate_dir_next): ... and this. All users updated.
4654
9f1d654e
VS
46552012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4658 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4659 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4660 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4661 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4662 New fields last_key and last_key_time.
4663 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4664 extended key-esc into extended key-extended key.
4665
52f0f643
VS
46662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 Avoid unnecessary memcpy of whole video buffer.
4669
4670 * grub-core/video/fb/video_fb.c (dirty): New struct.
4671 (framebuffer): Add members current_dirty and previous_dirty.
4672 (dirty): New function.
4673 (grub_video_fb_fill_rect): Update dirty.
4674 (common_blitter): Likewise.
4675 (grub_video_fb_scroll): Likewise.
4676 (doublebuf_blit_update_screen): Copy only dirty part.
4677 (doublebuf_pageflipping_update_screen): Likewise.
4678 (grub_video_fb_doublebuf_blit_init): Init dirty.
4679 (doublebuf_pageflipping_init): Likewise.
4680 (grub_video_fb_setup): Likewise.
4681
e169a180
VS
46822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4685 poll rate.
4686
48556879
VS
46872012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 Fix wildcard regexp dot and other special characters handling.
4690 Reported by: Robert Mabee.
4691
4692 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4693 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4694 (split_path): Trigger expansion on '?'.
4695 (unescape): New function.
4696 (wildcard_expand): Unescape parts copied without globbing.
4697 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4698 (grub_script_arglist_to_argv): Don't unescape expansions.
4699
0494408e
VS
47002012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * include/grub/net.h (grub_net_card): New member txbufsize.
4703 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4704 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4705 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4706 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4707 txbufsize.
4708 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4709 compatible property to check for macs. Set
4710 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4711 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4712 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4713 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4714 (send_card_buffer): Use txbuf.
4715 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4716 nested function out of the parent while on it.
4717
cc35fe8f
VS
47182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4721 presence check.
4722 (grub_ieee1275_net_config_real): Fix config pointer.
4723
970a0a09
VS
47242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4727 filename parsing to non-block devices.
4728
3e19bf87
VS
47292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4732
c62d1a0c
VS
47332012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4736 All users updated.
4737
ef76bec3
VS
47382012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4741 UUID search command even if hints probing failed.
4742
47432012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4744
4745 * po/POTFILES.in: Regenerated.
4746
70aaf305
VS
47472012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 Speed-up video on fuloong.
4750
4751 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4752 New function.
4753 (grub_pci_device_unmap_range): Handle non-cached address.
4754 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4755 add direct_ptr.
4756 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4757 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4758 (grub_video_sis315pro_set_active_render_target): Removed.
4759 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4760 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4761 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4762 sync caches.
4763 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4764 New proto.
4765
10400f0b
VS
47662012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * docs/grub.texi (Multi-boot manual config): New section.
4769
ba67e2c6
VS
47702012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 Avoid slow read-back from VRAM.
4773
4774 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4775 Move from here ...
4776 * grub-core/video/fb/video_fb.c
4777 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4778 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4779 (front_target): Remove front_target. Add pages.
4780 (grub_video_fb_init): Skip setting front_pages.
4781 (grub_video_fb_fini): Likewise.
4782 (doublebuf_blit_update_screen): Use pages.
4783 (grub_video_fb_doublebuf_blit_init): Likewise.
4784 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4785 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4786 (grub_video_fb_setup): Prefer doublebuffing.
4787
377c98cb
VS
47882012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4791 gzio.
4792
eac49cff
VS
47932012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Add loongson tests.
4796
4797 * tests/util/grub-shell.in: Handle loongson.
4798 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4799 drivers.
4800 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4801 Reboot instead of shutdown if REBOOT is defined.
4802
0321415e
VS
48032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4806 sized ports since unlike on real hardware qemu supports only 32-bit
4807 regs.
4808
3f2bdd8f
VS
48092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4812 * util/grub-mkrescue.in: Handle loongson.
4813
29a049c9
VS
48142012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4817 Set is_part appropriately.
4818 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4819 names. Canonicalize partition without full disk.
4820
4abde346
VS
48212012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 Revert usb-quiesce since it's wrong.
4824
4825 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4826 (grub_ofdisk_init): Don't do quiesce.
4827
61f1d93b
VS
48282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4831 PowerMac workaround to Xserves as well.
4832 Information supplied by: Benjamin Herrenschmidt.
4833
a09eb541
VS
48342012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 Don't assume that beginning address is also the entry point on ppc.
4837
4838 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4839 (grub_linux_boot): Use linux_entry.
4840 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4841 (grub_linux_load64): Likewise.
4842
505b3c9b
VS
48432012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4846
cbe0b4ef
VS
48472012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4850 needlessly lose the console.
4851
3006e981
VS
48522012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4855 space.
4856
4e5a96b0
VS
48572012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4858
7da036bb
VS
4859 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4860 than current grub_get_rtc() not implemented when booted with
4861 coreboot without TSC.
4862
4863 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4864 Add machine/time.h to kernel headers on loongson.
4865 * grub-core/Makefile.core.def (kernel): Remove
4866 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4867 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4868 (grub_get_rtc): Likewise.
4869 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4870 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4871 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4872 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4873 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4874 rather than installing known non-working time source.
4875 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4876 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4877 * include/grub/time.h: Don't include machine/time.h.
4878 * include/grub/efi/time.h: Removed.
4879 * include/grub/i386/efi/time.h: Likewise.
4880 * include/grub/i386/ieee1275/time.h: Likewise.
4881 * include/grub/powerpc/ieee1275/time.h: Likewise.
4882 * include/grub/sparc64/ieee1275/time.h: Likewise.
4883 * include/grub/x86_64/efi/time.h: Likewise.
4884
48852012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4888
4889 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4890 value.
4891 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4892 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4893 with dotless variants when any combining above is present.
4894
5561c22d
VS
48952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4898 text and not binary.
4899
96f7e60e
VS
49002012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Stop polling as soon as we have the packet we were waiting for.
4903
4904 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4905 All users updated.
4906 * grub-core/net/arp.c (have_pending): New var.
4907 (pending_req): Likewise.
4908 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4909 stop indicator.
4910 (grub_net_arp_receive): Set have_pending.
4911 * grub-core/net/dns.c (recv_data): New field stop.
4912 (recv_hook): Set stop.
4913 (grub_net_dns_lookup): Init stop and use as stop condition.
4914 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4915 condition.
4916 * grub-core/net/net.c (grub_net_poll_cards): New argument
4917 stop_condition. Stop when it goes true.
4918 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4919 indicator.
4920 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4921
3e747239
VS
49222012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 Keep TX and RX buffers on EFI rather than always allocate new ones.
4925
4926 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4927 card. All users updated.
4928 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4929 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4930 (get_card_packet): Likewise.
4931 (grub_efinet_findcards): Init new fields.
4932
f695e99a
VS
49332012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4936 compilation error on sparc64.
4937
9e5e66d1
VS
49382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 Use ITC on IA64 rather than broken routine based on daytime.
4941
4942 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4943 ia64.
4944 (grub_get_rtc) [__ia64__]: Likewise.
4945 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4946 (get_itc): New function.
4947 (grub_rtc_get_time_ms): Likewise.
4948 (grub_machine_init): Calibrate ITC.
4949 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4950 Keep only on non-ia64. Don't export since it's broken and used only
4951 if TSC is unavailable.
4952
a1767404
VS
49532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4956 even if it's used.
4957 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4958 Skip if parent is unused.
4959
34b2bced
VS
49602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4963
5e619f40
VS
49642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Fix wildcard escaping.
4967
4968 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4969 * grub-core/script/execute.c (wildcard_escape): .. to here.
4970 Don't escape dot.
4971 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4972 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4973 Don't escape dot.
4974 * grub-core/script/execute.c (gettext_append): Always escape.
4975 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4976 * grub-core/script/yylex.l: Don't cut away the escaping.
4977 * tests/grub_script_echo1.in: Add tests with wildcard.
4978
c8ca5855
VS
49792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4982 (ftdi_hw_configure): Likewise.
4983 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4984 define.
4985 (real_config): Handle 1.5 stop bits.
4986 (pl2303_hw_configure): Likewise.
4987
7183452c
VS
49882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * Makefile.am: Add ppc linux bootcheck.
4991 * grub-core/tests/boot/linux-ppc.cfg: New file.
4992 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4993
f57c84cd
VS
49942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * tests/grub_script_expansion.in: Skip network protocols.
4997
ecfc6207
VS
49982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5001
8d03d284
VS
50022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5005 --rom-directory.
5006 Add -graft-points.
5007
61c42af0
VS
50082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 ESCC serial driver for conducting sautomated tests in qemu.
5011 Not tested on real hardware.
5012
5013 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5014 * grub-core/term/ieee1275/escc.c: New file.
5015 * grub-core/Makefile.core.def (escc): New module.
5016
08fd1291
VS
50172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5020 invalid on error.
5021 (serial_hw_fetch): Don't read invalid handle.
5022 (serial_hw_put): Don't write into invalid handle.
5023
08dafeea
VS
50242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 Add a 1.5 stop bits value.
5027
5028 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5029 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5030 GRUB_SERIAL_STOP_BITS_1_5.
5031
9068fdcf
VS
50322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5035 value rather than let it uninited.
5036
f4d5820f
VS
50372012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/commands/wildcard.c (+check_file): New function.
5040 (wildcard_expand): Don't expand to non-existing files, expand with
5041 suffix and not attempt to expand if not needed.
5042
3d2de9a7
VS
50432012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5046 out of partitions containing other partitions.
5047
c5c81ff9
VS
50482012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5051 on some qemu versions with GRUB.
5052
5053 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5054 define.
5055 (grub_openbsd_bootarg_pcibios): New struct.
5056 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5057 Add PCIINFO.
5058
08a14e0b
VS
50592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * tests/util/grub-shell.in: Trim firmware output on EFI.
5062
cede3ca3
VS
50632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5066 and coreboot since it's already in kernel.
5067
558d3a60
VS
50682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5071 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5072 to here. New return value start. All users updated.
5073 Recursively scan linear mappings.
5074 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5075 proto.
5076 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5077 Use grub_util_get_dm_node_linear_info.
5078 * util/getroot.c (convert_system_partition_to_system_disk): Use
5079 grub_util_info rather than grub_dprintf.
5080 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5081
60fde14d
VS
50822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5085
5086 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5087 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5088
24bd8838
VS
50892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * include/grub/types.h (grub_set_unaligned64): New function.
5092 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5093 (setup): Likewise.
5094
7bc06a49
VS
50952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5098 (grub_ofdisk_fini): Quiesce USB devices.
5099
49cea015
VS
51002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5103 caches.
5104
8dcbe03b
VS
51052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5108
5b258735
VS
51092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/disk/pata.c (grub_pata_pio_read)
5112 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5113 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5114
37ba07eb
VS
51152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 Extend automated tests to qemu-mips.
5118
5119 * Makefile.am: reorganise tests and enable qemu-mips.
5120 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5121 * grub-core/tests/boot/linux.init-mips.S: New file.
5122 * tests/partmap_test.in: Handle ata0 disks.
5123 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5124 non-pc i386.
5125
070038f8
VS
51262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5129 ia64.
5130 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5131 quotes while on it.
5132
004be2cd
VS
51332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5136 (grub_halt): Likewise.
5137 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5138
b1622487
VS
51392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/term/serial.c (grub_serial_register)
5142 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5143 the behaviour in line with x86 platforms.
5144
b7b4ab33
VS
51452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5148 (grub_ata_strncpy): Likewise.
5149 (grub_ata_identify): Add missing byteswaps.
5150
5e3535ae
VS
51512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5154 byte-swap.
5155 (screen_read_char): Likewise.
5156 (grub_vga_text_cls): Likewise.
5157
c21b17e6
VS
51582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5161 filenames.
5162 (make_file_path): Likewise.
5163
bf293dec
VS
51642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5167 machines.
5168 Tested by: Paulo Flabiano Smorigo.
5169 Crucial information about API supplied by: Coleen <Last name unknown>.
5170 Reviewed by: Coleen <Last name unknown>.
5171
81f6ef0e
VS
51722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * util/grub-mkimage.c: Disable -Wcast-align.
5175
7284143a
VS
51762012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5179 as they are fatal.
5180
b99f3e00
VS
51812012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5184
944f752d
VS
51852012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * util/grub-probe.c (escape_of_path): Fix double free.
5188
6cce6f38
VS
51892012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/commands/videoinfo.c (hook): Show pitch.
5192
1e1eb50e
VS
51932012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5196
1c715b5a
VS
51972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5200 (probe): Add ieee1275 to OFW devices.
5201
007ae52d
VS
52022012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5205
4557a36d
VS
52062012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 Handle IBM OFW path.
5209
5210 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5211 available.
5212 (of_path_of_scsi): Handle vdevice.
5213
efbeefe9
VS
52142012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5217 Allocate in multiples of 16 to avoid adding a few bytes free region the
5218 windows bugs upon.
5219
15a940bb
VS
52202012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5223 Allocate in multiples of 16 to avoid adding a few bytes free region the
5224 windows bugs upon.
5225 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5226
6e5efd60
VS
52272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5230 resolutions.
5231 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5232 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5233
0d3d137e
IS
52342012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5235
5236 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5237
45dbe300
VS
52382012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5241 resulted in \\ at the end of the line.
5242
6d8db947
VS
52432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5246 (grub_parser_cmdline_state): Likewise.
5247 (grub_parser_split_cmdline): Likewise.
5248
de89d338
VS
52492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5252 /dev/root and /dev/dm-*.
5253
00d41dee
VS
52542012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5257 fix partially stale display.
5258
f95d1f11
VS
52592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5262 substraction.
5263
6297e197
VS
52642012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5267 Fix MBR remapping workaround.
5268 (grub_util_biosdisk_read) [__linux__]: Likewise.
5269
8a7ecad3
VS
52702012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5273
2b34f944
VS
52742012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * configure.ac: Bump to beta6.
5277
684aef11
CW
52782012-05-31 Christer Weinigel <christer@weinigel.se>
5279
5280 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5281
05b0bb91
VS
52822012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5285 (grub_cmd_linux): Likewise.
5286
bda36bfa
CW
52872012-05-31 Christer Weinigel <christer@weinigel.se>
5288
5289 Fix EHCI low-speed.
5290
5291 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5292 (GRUB_EHCI_MULT_TWO): Likewise.
5293 (GRUB_EHCI_MULT_THREE): Likewise.
5294 (GRUB_EHCI_CMASK_MASK): New enum value.
5295 (GRUB_EHCI_SMASK_MASK): Likewise.
5296 (GRUB_EHCI_CMASK_OFF): Likewise.
5297 (GRUB_EHCI_SMASK_OFF): Likewise.
5298 (grub_ehci_pci_iter): Enable periodic schedule.
5299 (grub_ehci_parse_notrun): Likewise.
5300 (grub_ehci_restore_hw): Likewise.
5301 (grub_ehci_setup_qh): Set flags for low speed transfers.
5302 (grub_ehci_find_qh): Use periodic list for low speed.
5303 (grub_ehci_setup_transfer): Check periodic queue as well.
5304 (grub_ehci_check_transfer): Likewise.
5305 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5306
e12bcb1c
PFS
53072012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5308
5309 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5310 parameter is used.
5311
bcc75fb3
PJ
53122012-05-31 Peter Jones <pjones@redhat.com>
5313
5314 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5315 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5316 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5317
f19cb95e
VS
53182012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5321 uninited variable. Allocate at least setup_sects.
5322
a4e5ca80
VS
53232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 Fix handling of EFI with big memory maps.
5326
5327 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5328 (real_mode_mem): Likewise.
5329 (real_mode_target): Likewise.
5330 (real_mode_pages): Likewise.
5331 (prot_mode_pages): Likewise.
5332 (linux_params): New var.
5333 (linux_cmdline): Likewise.
5334 (free_pages): Don't set real mode variables.
5335 (allocate_pages): Don't allocate real mode memory.
5336 (grub_e820_add_region): Remove the limit.
5337 (grub_linux_boot): Allocate and copy real mode memory.
5338 (grub_linux_unload): Free linux_cmdline.
5339 (grub_cmd_linux): Use temporary storage for parameters.
5340 (grub_cmd_initrd): Likewise.
5341 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5342 (linux_kernel_params): Make it 1K big.
5343
ddb73558
VS
53442012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * Makefile.util.def: Remove -Wno-format.
5347 * grub-core/Makefile.core.def: Likewise.
5348
1c4afb60
VS
53492012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * tests/cmp_unit_test.c: Add missing failure message.
5352 * tests/example_unit_test.c: Likewise.
5353 * tests/printf_unit_test.c: Likewise.
5354
941e3a6d
VS
53552012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5358 relaxation of protective MBR requirements.
5359
b105df76
VS
53602012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * configure.ac: Add condition for COND_HOST_XNU.
5363 * Makefile.util.def (10_xnu): New script.
5364 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5365
84e1569e
VS
53662012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5369 objconv bug.
5370
130c0f77
VS
53712012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5374 Binary on other platforms stays identical.
5375
6fd0b143
VS
53762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5379 Apple.
5380
0af1751d
VS
53812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5384
176d5f7d
VS
53852012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5388 rather than defining size_t ourselves to avoid conflict.
5389
7de5e20a
VS
53902012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5393 initialisation to avoid __bzero reference.
5394
f7143efe
VS
53952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5398 version.
5399 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5400 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5401 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5402 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5403 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5404
e6ad0555
VS
54052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5408 * grub-core/kern/misc.c: Likewise.
5409 * grub-core/loader/i386/xnu.c: Likewise.
5410 * include/grub/i386/tsc.h: Likewise.
5411 * include/grub/symbol.h: Likewise.
5412
4a5a3c4a
VS
54132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5416 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5417 on older compiler.
5418
037f6d90
VS
54192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5422 Implement Apple flavour.
5423 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5424
f7194551
VS
54252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5428 (memmove) [__APPLE__]: Likewise.
5429 (memcpy) [__APPLE__]: Likewise.
5430 (memset) [__APPLE__]: Likewise.
5431 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5432 (memmove) [__APPLE__]: Likewise.
5433 (memcpy) [__APPLE__]: Likewise.
5434 (memset) [__APPLE__]: Likewise.
5435
85a730ca
VS
54362012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5439 dependency discard.
5440
40e80b94
VS
54412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/normal/main.c (read_config_file): Provide config_file and
5444 config_directory.
5445 * util/grub.d/41_custom.in: Use config_directoy when available.
5446
9da59c32
VS
54472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5450 (grub_bfs_dir): Likewise.
5451
2787ae53
PJ
54522012-05-27 Peter Jones <pjones@redhat.com>
5453
5454 The old code gives arguments to a printf function which can't work
5455 correctly, and the compiler complains.
5456
5457 * grub-core/tests/example_functional_test.c (example_test): Add
5458 missing text.
5459 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5460 * include/grub/test.h (grub_test_assert_helper): New declaration.
5461 (grub_test_assert): Use grub_test_assert_helper.
5462
526ef13d
VS
54632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5466 (exfctest): ... this to avoid overlong filenames.
5467 All users updated.
5468
20dd511c
VS
54692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 Handle "." and ".." on squashfs.
5472
5473 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5474 Make inode numbers into stack.
5475 (grub_squash_read_symlink): Use stack.
5476 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5477 (make_root_node): Fill stack.
5478 (grub_squash_open): Use stack.
5479
1d80c62a
VS
54802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5483 freeing.
5484
d336f652
VS
54852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5488 stderr on test calls.
5489
8b43f587
VS
54902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5493
80a3dc3f
VS
54942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5497
47e297d4
VS
54982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5501 "..".
5502
df042ccb
VS
55032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5506 (grub_hfsplus_iterate_dir): Add "." and "..".
5507
fc977f48
VS
55082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5511 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5512
f3250e5f
VS
55132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5516 (find_path): Handle "." and "..".
5517
fd8ed4c5
VS
55182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5521 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5522 (grub_affs_iterate_dir): Handle hardlinks.
5523
4ce776d2
MG
55242012-05-26 Matthew Garrett <mjg@redhat.com>
5525
5526 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5527 (grub_efi_console_fini): Likewise.
5528 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5529 (grub_video_gop_fill_mode_info): Rename to ...
5530 (grub_video_gop_fill_real_mode_info): ... this.
5531 (grub_video_gop_fill_mode_info): New function.
5532 (grub_video_gop_setup): Setup double framebuffer.
5533 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5534 Free offscreen.
5535 (grub_video_gop_swap_buffers): Copy framebuffer.
5536 (grub_video_gop_fini): Free offscreen buffer.
5537 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5538 New enum.
5539 (grub_efi_gop_blt_pixel): New struct.
5540
683031ba
VS
55412012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * gentpl.py: Remove error disabling for objconv.
5544
c2deb798
VS
55452012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * configure.ac: Remove -Wunitialized as it's not available on older
5548 compilers.
5549
55502012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5551
5552 Fix extent overflow comparator.
5553
5554 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5555 (grub_hfsplus_read_block): Set type.
5556 (grub_hfsplus_cmp_extkey): Compare type.
5557
d6b1fd36
VS
55582012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5561
0a9aa0f6
VS
55622012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5565 than 0.
5566
8360e159
VS
55672012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5570 (dejavu_bold_14.pf2): New target.
5571
501b9e4b
VS
55722012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * configure.ac: Fix djvu font detection.
5575
7026b0e2
VS
55762012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5579 ext* instead of ext2.
5580
c2a51ade
VS
55812012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5584 name with \0.
5585
8f803a5d
JU
55862012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5587
5588 * docs/grub-dev.texi: Remove dot from .png.
5589
13c6353f
VS
55902012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5593 protective entry in any slot.
5594 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5595 if protective entry is found in any slot.
5596
5597 Protective entry in non-first slot make no sense but is a widespread
5598 brain damage.
5599
4cf6be1b
VS
56002012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5603
937d1c44
VS
56042012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5607 with old reiserfs.
5608 (grub_reiserfs_open): Don't free root.
5609
021d90ec
VS
56102012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5613 after freeing for safety.
5614
967b2b64
VS
56152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5618 Reported by: Jordan Uggla.
5619
34274d02
JU
56202012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5621
967b2b64
VS
5622 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5623 actual implementation. Specifically, clarify that the grub menu will
5624 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5625 passed.
34274d02 5626
dcaaae9d
BH
56272012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5628
5629 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5630 of r0.
5631
7086ad52
VS
56322012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Remove unjustified hard dependency of normal.mod on gfxterm.
5635
5636 * include/grub/term.h (grub_term_output): New member fullscreen.
5637 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5638 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5639 (grub_gfxterm): Set .fullscreen.
5640 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5641 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5642
37ed2c9b
VS
56432012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5646 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5647 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5648
a4469c88
VS
56492012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5652
4e461486
VS
56532012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5656 a bad FS.
5657
aa78f5c4
VS
56582012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5661 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5662
197626b5
VS
56632012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5666 (grub_jfs_mount): Fill caseins.
5667 (grub_jfs_find_file): Respect caseins.
5668
8ad3f28c
VS
56692012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5672 through UTF-16.
5673
0c6c324e
VS
56742012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5677 New argument origpath. All users updated.
5678
c6666ba6
VS
56792012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5682 (read_attr): Ensure that we read start of possibly compressed block.
5683
e28e5fe5
VS
56842012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5687 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5688 All users updated.
5689
5fc23ab2
VS
56902012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5693 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5694 (dejavu.pf2): Replace with ...
5695 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5696 this.
5697
79dbc21c
VS
56982012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * util/grub.d/20_linux_xen.in: Add missing line.
5701
d2fcfb0c
VS
57022012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5705 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5706 (grub_utf16_to_utf8): Likewise.
5707
5560e9d6
VS
57082012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5711 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5712 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5713 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5715 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5716
57172012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5718
5719 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5720 a bad FS.
5721
5560e9d6 57222012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5723
5724 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5725 (grub_udf_read_symlink): Handle read_string failure.
5726
5eae3175
VS
57272012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5730 comment.
5731
c1ad82db
VS
57322012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 Fix handling of UDF symlinks.
5735
5736 * grub-core/fs/udf.c (read_string): New argument outbuf.
5737 All users updated.
5738 (grub_ufs_read_symlink): Rename to ...
5739 (grub_udf_read_symlink): ... this. All users updated.
5740 Handle symlinks with more than one component.
5741
33eca6e0
VS
57422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5745 symlinks. Replace leading colon with a slash.
5746
57f4a70b
VS
57472012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5750 filename.
5751
38c8ee20
VS
57522012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5755 match in inner node.
5756
2e57f28f
VS
57572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5760 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5761 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5762 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5763 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5764 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5765 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5766 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5767 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5768
fe8c2f11
VS
57692012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 Use grub-probe and not cmp to check that disk is empty.
5772
5773 * util/grub-install.in: Use grub-probe for zero-check.
5774 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5775 (probe): Handle PRINT_ZERO_CHECK.
5776 (argp_parser): Handle -t zero_check.
5777
57782012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5779
5780 Flush block cache on adding disk to device map.
5781
5782 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5783 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5784 adding.
5785 (read_device_map): Likewise.
5786 (open_device): Flush on opening.
5787
690434e8
VS
57882012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5791 (handle_symlink): Fix off-by-one error.
5792 Canonicalize the target.
5793 (grub_cpio_dir): Canonicalize the name.
5794 Fix memory leak.
5795 Set directory.
5796 (grub_cpio_open): Canonicalize the name.
5797
742d2be6
VS
57982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5801 handling.
5802
3244fe96
VS
58032012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5806 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5807
8aeb1837
VS
58082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5811 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5812 All users updated.
8aeb1837 5813
9133fd05
VS
58142012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5817 counterpart.
5818
6d521c5b
VS
58192012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 Fix UFS1 big file support.
5822
5823 * grub-core/fs/ufs.c (INODE): Removed.
5824 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5825 64-bit.
5826 (INODE_MODE): Simplify.
5827 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5828 (grub_ufs_lookup_symlink): Don't use INODE.
5829
21b82e17
VS
58302012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5833
5834 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5835 (grub_minix_data): Replace log_block_size with block_size.
5836 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5837 (grub_minix_mount): Fill block_size.
5838
58392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5840
5841 * configure.ac: Bump to beta5.
5842
f417ed04
VS
58432012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 Fix wrapped HFS+ handling.
5846
5847 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5848 blocks_start. All users updated.
5849 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5850 wrapping offset.
5851 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5852
607d282b
VS
58532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 Fix long symlinks on reiserfs.
5856
5857 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5858 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5859 (grub_reiserfs_iterate_dir): Save size for non-directories.
5860 (grub_reiserfs_open): Don't reread stat block as we already know the
5861 size.
5862 (grub_reiserfs_read): Split into...
5863 (grub_reiserfs_read_real): ... and ...
5864 (grub_reiserfs_read): ...this.
5865
ae16024d
VS
58662012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 Fix non-indexed JFS.
5869
5870 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5871 (grub_jfs_data): New field namecomponentlen.
5872 (grub_jfs_mount): Fill namecomponentlen.
5873 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5874
eea1e26e
VS
58752012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5878 * tests/grub_script_echo1.in: Add tests.
5879
df760f77
VS
58802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * util/grub-install.in: Ignore empty devicetree directory.
5883
5efb817d
B
58842012-05-08 Bean <bean123ch@gmail.com>
5885
5886 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5887 All users updated.
5888 (free_rsm): Free header as well.
5889 (free_old_fragments): Fix memory leak.
5890 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5891 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5892 (destroy_pq): Likewise.
5893 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5894
668ea6d2
VS
58952012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5898 resulting hash as a precaution.
5899
1739b1fe
VS
59002012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5903 '_' in variable names.
5904 * grub-core/net/net.c (grub_net_network_level_interface_register):
5905 Likewise.
5906
6ae485aa
VS
59072012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 Fix AFFS with non-512B blocks.
5910
5911 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5912 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5913 (grub_affs_data): Replace blocksize with log_blocksize.
5914 (grub_affs_read_block): Fix non-512B blocks.
5915 (grub_affs_read_symlink): Likewise.
5916 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5917 (grub_affs_read): Fix non-512B blocks.
5918 (grub_affs_label): Likewise.
5919 (grub_affs_mtime): Likewise.
5920 (grub_affs_mount): Fix block detection routine.
5921
d20fab84
VS
59222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 Add filesystem mtime to AFFS.
5925
5926 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5927 (aftime2ctime): New function.
5928 (grub_affs_dir): Use aftime2ctime.
5929 (grub_affs_label): Fix return value.
5930 (grub_affs_mtime): New function.
5931 (grub_affs_fs): Add mtime.
5932
e87b10f5
VS
59332012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5936 UTF-8.
5937
7dceec9b
VS
59382012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5941 UTF-8.
5942
2f48221f
VS
59432012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5946
dacd85cf
VS
59472012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5950 flags.
5951 (FLAGS_CASE_SENSITIVE): New enum value.
5952 (cache_entry): New struct.
5953 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5954 cache_size and cache.
5955 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5956 Add log_blocksize and fshelp_flags.
5957 (grub_sfs_read_extent): Handle non-512 blocks.
5958 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5959 (grub_sfs_read_file): Handle non-512 blocks.
5960 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5961 fshelp_flags.
5962 (grub_sfs_read_symlink): Handle non-512 blocks.
5963 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5964 (grub_sfs_dir): Free cache.
5965 (grub_sfs_close): Likewise.
5966
24e9a854
VS
59672012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5970 filesystems.
5971
62ace64d
VS
59722012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5975
83b2e89c
VS
59762012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5979
75ccaea3
VS
59802012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5983 (grub_sfs_read_extent): Likewise.
5984 (grub_sfs_read_block): Likewise.
5985 (grub_sfs_mount): Likewise.
5986 (grub_sfs_iterate_dir): Likewise.
5987 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5988 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5989
1b8463f2
VS
59902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 Fix errors on compressed NTFS with 512B clusters.
5993
5994 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5995 types.
5996 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5997 not 0.
5998 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5999 Relax check for inline extents.
6000 (ntfscomp): Return correct -1 on error and not 0.
6001
4f8e368f
VS
60022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * util/grub-install.in: Fix handling of prefix containing spaces.
6005
6f5d5ee8
VS
60062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6009 (grub_squash_read_data): Fix offset byte-swapping.
6010
ce41ab7a
VS
60112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6014 per common usage and preffered in several parts of code.
6015 (grub_memcmp): Likewise.
6016 (grub_strncmp): Likewise.
6017 * include/grub/misc.h (grub_strcasecmp): Likewise.
6018 (grub_strncasecmp): Likewise.
6019 * Makefile.util.def (cmp_test): New test.
6020 (grub_script_strcmp): Likewise.
6021 * tests/cmp_unit_test.c: New file.
6022 * tests/grub_script_strcmp.in: Likewise.
6023 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6024
49717bf4
VS
60252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * include/grub/pci.h: Move enums into no-asm part.
6028
0a308f64
VS
60292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6032
1796965f
ST
60332012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6034
6035 * util/getroot.c (find_hurd_root_device): Try to make error message
6036 and comments to translators clearer.
6037
4e9b2819
VS
60382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6041
076aeb50
VS
60422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6045 btrfs.
6046
19424d94
VS
60472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * docs/grub.cfg: Update.
6050
ebb73076
VS
60512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * docs/grub.texi (PXE): Remove not present variables.
6054
9a1b669c
VS
60552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/net/net.c (defserver_set_env): New function.
6058 (defserver_get_env): Likewise.
6059 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6060
d38bf7d3
VS
60612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6064 entries.
6065
60662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6067
6068 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6069 * grub-core/kern/emu/hostdisk.c: Likewise.
6070
e5e4ca48
ST
60712012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6072
6073 Handle hurd userspace partitions.
6074
6075 * util/getroot.c (find_hurd_root_device): New function.
6076 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6077
56bb5dd5
VS
60782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6081 names.
6082 Reported by: Bastian Blank.
6083
9e8bc27a
VS
60842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6087 crossing page boundary.
6088
aa01499d
VS
60892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 Fix B-tree search in BFS, especially in presence of non-ASCII
6092 characters.
6093
6094 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6095 (find_in_b_tree): Use standard bsearch + btree algorithm.
6096
57006035
VS
60972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6100 and so on.
6101
9d34bb85
MG
61022012-05-03 Matthew Garrett <mjg@redhat.com>
61032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Suspend broadcom cards in order to stop their DMA.
6106
6107 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6108 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6109 (pci): Don't build on x86 EFI.
6110 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6111 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6112 New function.
6113 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6114 stop_broadcom if running on EFI.
6115 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6116 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6117 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6118 (grub_pci_find_capability): New proto.
6119
01aab997
VS
61202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * docs/grub.texi: Remove dot from the extension as it apparently
6123 doesn't work with some makeinfo versions.
6124
fbd8dca6
VS
61252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6128 with GRUB expectance.
6129
dab797f4
VS
61302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6133
1516bfb4
VS
61342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6137 zero after directory block since last entry may be not 0-terminated if
6138 it ends on block boundary. Use continue instead of if spanning whole
6139 loop.
6140
a3a0eace
VS
61412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 Support 4K sectors UDF inline files.
6144
6145 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6146 (grub_udf_extended_file_entry): Likewise.
6147 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6148 All users updated.
6149 (get_fshelp_size): New function.
6150 (grub_udf_read_icb): Read whole block.
6151 (grub_udf_iterate_dir): Likewise.
6152 (grub_udf_dir): Likewise.
6153 (grub_udf_open): Likewise.
6154
c82f16c1
VS
61552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6158
59fd2aac
VS
61592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6162 inline symlinks in addition to workaround.
6163
3b4afb4d
VS
61642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6167
f45c794a
VS
61682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6171
f25cecbd
VS
61722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6175
bb9a34e8
VS
61762012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 Fix reiserfs big seek times.
6179
6180 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6181 exact. All users updated.
6182 (grub_reiserfs_read): Use nearest btree search for seeking.
6183 Fix return value on error.
6184
dc478aea
VS
61852012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6188 entries.
6189 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6190 * docs/grub.texi: Update menuentry description.
6191
8db10f47
VS
61922012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6195 crash when embedding onto filesystem.
6196
bcb288ed
VS
61972012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6200 name.
6201
a626fdd7
VS
62022012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6205
b2f68477
VS
62062012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6209 commit.
6210
ba15b2af
B
62112012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
62122012-05-01 Bean <bean123ch@gmail.com>
6213
6214 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6215
a188012e
VS
62162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6219 Special behaviour for len = 0 to read whole file isn't used anywhere and
6220 can cause buffer ovewrflows in several places.
6221
f0a53ed2
VS
62222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6225
5ed554f0
VS
62262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Handle RAIDZ on non-512B sectors.
6229
6230 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6231 max_children_ashift.
6232 (fill_vdev_info_real): Fill max_children_ashift.
6233 (read_device): Use max_children_ashift.
6234
ddc58357
VS
62352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6238
e3282399
VS
62392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6242 disk names.
6243 * docs/grub.texi: Update device.map parts.
6244
ee618bd4
VS
62452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 Don't scan into non-diskfilter devices having diskfilter names.
6248
6249 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6250 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6251 handling.
6252 (scan_disk_hook): New function.
6253
bdf88864
B
62542012-04-29 Bean <bean123ch@gmail.com>
6255
6256 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6257 allocation.
6258
32745f51
MK
62592012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6260
6261 * configure.ac: Detect starfield theme font path
6262 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6263
bc95c8c0
VS
62642012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6267 geometry on serial consoles.
6268
147fbcab
VS
62692012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6272 because of network consoles.
6273
0f42c889
VS
62742012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6277 handling.
6278
4a3594c9
VS
62792012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6282 falls on Q syndrom.
6283
5cb53879
VS
62842012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6287 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6288
b282dfe5
VS
62892012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6292 Allocate at lest 8192 for temporary buffer as required for lzo.
6293
daa59f47
VS
62942012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6297 to cluster_bits, since it's already added in.
6298 (grub_fat_read_data): Likewise.
6299
986748ce
VS
63002012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6303 as long as cluster size is multiple of 512 bytes.
6304
a20f6ad0
VS
63052012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * util/grub-mkrescue.in: Fix locale directory.
6308
385f9abb
VS
63092012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/kern/emu/hostdisk.c (map): Make static.
6312
1c557d30
B
63132012-04-23 Bean <bean123ch@gmail.com>
6314
6315 * util/grub-fstest.c (fstest): Add missing break.
6316
524b5d3a
ST
63172012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6318
6319 Fix hurd build.
6320
6321 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6322 not define nr variable.
fe4824e9 6323 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6324 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6325 grub_find_device): Do not define.
524b5d3a 6326
9a06490c
VS
63272012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Fix kfreebsd compile and behaviour.
6330
6331 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6332 format-security.
6333 * util/getroot.c: Fix wait.h include.
6334 (grub_guess_root_devices): Error if grub_find_device fails.
6335 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6336 (grub_util_get_dev_abstraction): Likewise.
6337 (grub_util_pull_device): Likewise.
6338 (grub_util_get_grub_dev): Likewise.
6339 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6340
48143d96
VS
63412012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 Fix and unify wholedisk detection.
6344
6345 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6346 is_part. All users updated.
6347 (device_is_wholedisk): Removed.
6348 (grub_util_biosdisk_get_grub_dev): Use is_part.
6349
ebbd24f3
VS
63502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6353 mode.
6354
56f7aa1e
VS
63552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * configure.ac: Bump to beta4.
6358
9c815e01
VS
63592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6362 --fs-uuid --set UUID syntax.
6363
59e2651a
VS
63642012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6367 disunification.
6368
54e03cfc
VS
63692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6372
81092a75
MK
63732012-04-18 Mads Kiilerich <mads@kiilerich.com>
6374
6375 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6376
f8315e14
MG
63772012-04-18 Mike Gilbert <floppym@gentoo.org>
6378
6379 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6380
1501ac21
B
63812012-04-18 Bean <bean123ch@gmail.com>
6382
6383 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6384 place.
6385
cb7f944e
VS
63862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6389 users updated.
6390 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6391 corresponding to GRUB partitions.
6392 (grub_util_biosdisk_write): Likewise.
6393
b72d44a1
VS
63942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Scan mdraid before LVM.
6397
6398 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6399 (grub_diskfilter_register_front): ... this.
6400 (grub_diskfilter_register_back): New function.
6401 All users of grub_diskfilter_register updated.
6402
33d918b8
VS
64032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * util/grub-install.in: Fix an automatic target detection bug.
6406
c6ca973d
VS
64072012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * util/grub-install.in: New option --efi-directory.
6410
b41be562
VS
64112012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6414 boot services if we have no other choice.
6415
64162012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6419 document it.
6420 * tests/util/grub-shell.in: Update to --directory.
6421
e0595a73
VS
64222012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6425
4ed80652
VS
64262012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6429 (grub_minix_read_file): Likewise.
6430 (grub_minix_read_inode): Likewise.
6431 (grub_minix_find_file): Likewise.
6432 (grub_minix_dir): Likewise.
6433
56008077
VS
64342012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * util/grub-setup.c (setup): Fix partition handling and blocklist
6437 check.
6438
ee520775
VS
64392012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6442 redundant buggy overlap check.
6443
16fc9293
VS
64442012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6447 and grub-mknetdir.
6448
9bab65c4
VS
64492012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6452 kh.loadflags on pre-2.00 kernels.
6453
3c491b47
VS
64542012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 Terminate UNDI and PXE before launching the payload to avoid problems
6457 with DMA.
6458
6459 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6460 (grub_loader_flags): ... this. All users updated.
6461 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6462 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6463 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6464 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6465 function.
6466 (grub_pxe_restore): Likewise.
6467 (fini_hnd): New var.
6468 (GRUB_MOD_INIT): Register shutdown hook.
6469 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6470 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6471 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6472 (grub_loader_set): Rename second argument to flags.
6473
851ffada
VS
64742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6477 written bytes.
6478 (grub_get_num_of_utf8_bytes): New function.
6479 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6480 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6481 executing it.
6482 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6483 (grub_ucs4_to_utf8): Change return type.
6484
491c57a8
VS
64852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6488 warning.
851ffada
VS
6489 * grub-core/fs/bfs.c (hop_level): Likewise.
6490 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6491
756773df
VS
64922012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * grub-core/lib/adler32.c: Recode due to license unclearness.
6495
fd556a96
VS
64962012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6499 (test_header): Likewise.
6500
9f9d3f69
VS
65012012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Fix --help formatting.
6504
6505 * util/grub-mkconfig_lib.in (print_option_help): New function.
6506 (grub_fmt): Likewise.
6507 * util/grub-install.in: Use print_option_help and grub_fmt.
6508 * util/grub-kbdcomp.in: Likewise.
6509 * util/grub-mkconfig.in: Likewise.
6510 * util/grub-mknetdir.in: Likewise.
6511 * util/grub-mkrescue.in: Likewise.
6512 * util/grub-mkstandalone.in: Likewise.
6513 * util/grub-reboot.in: Likewise.
6514 * util/grub-set-default.in: Likewise.
6515 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6516
561ec77e
VS
65172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * linguas.sh: Remove autogenerated *.po.
6520
7ec2b021
VS
65212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * po/README: Move language fetcing to ...
6524 * linguas.sh: ... here.
6525 * po/README: Point to linguas.sh.
6526
a88f3270
VS
65272012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * po/README: Exclude ko.po due to disclaimer problems.
6530
d61357ce
VS
65312012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6534 len = 0.
6535 (grub_gettext_translate_real): Handle 0th string.
6536 (grub_gettext_translate): Ensure that "" isn't translated.
6537
505e41dc
VS
65382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6541 TRANSLATORS comment.
6542 (grub_diskfilter_print_partmap): Propagate changing of error into
6543 warning.
6544
e44092db
VS
65452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6548 to uint64_t to prevent overflow.
6549 (grub_diskfilter_lv): Increase start_extent and extent_count
6550 to uint64_t to prevent overflow.
6551
9b83956a
VS
65522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * configure.ac: Increase version.
6555
da0d5b3f
VS
65562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6559
6560 * po/Rules-translit: New file.
6561 * po/arabic.sed: Likewise.
6562 * po/cyrillic.sed: Likewise.
6563 * po/greek.sed: Likewise.
6564 * po/hebrew.sed: Likewise.
6565 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6566 * po/Makefile.in.in: Add extra_dist4.
6567
ac66b453
VS
65682012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6571
6572 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6573 modify names. Introduce MODE_BIGENDIAN.
6574 * grub-core/fs/minix_be.c: New file.
6575 * grub-core/fs/minix2_be.c: Likewise
6576 * grub-core/fs/minix3_be.c: Likewise.
6577 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6578 minix3_be.
6579 * grub-core/Makefile.core.def (minix_be): New module.
6580 (minix2_be): Likewise.
6581 (minix3_be): Likewise.
6582
65832012-04-01 Felix <email@hamburg.de>
6584
6585 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6586 (devs): Add MBP 2011.
6587
0a2d5a82
VS
65882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6591
d1625889
VS
65922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/normal/cmdline.c (print_completion): New field
6595 prompt_len.
6596 (grub_cmdline_get): Handle width properly.
6597
6d36a236
VS
65982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6601
9576977e
VS
66022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6605 after 29th of February.
9576977e 6606
d73ff15d
VS
66072012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 Fix exfat endianness handling.
6610
6611 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6612 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6613 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6614 Byte-swap utf16 when necessary.
6615 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6616
bbb39a45
AB
66172012-03-31 Anton Blanchard <anton@samba.org>
66182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Fix btrfs endianness handling.
6621
6622 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6623 (lower_bound): Make root uint64_t. Use root in le.
6624 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6625 (find_path): Fix template key init.
6626 (grub_btrfs_dir): Fix mtime byteswap.
6627 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6628
354e0af7
VS
66292012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6632 recursion_depth. Break infinite resursions. All users updated.
6633
4e75f21c
VS
66342012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6637 after free.
6638 Reported by: Peter Jones.
6639
25581802
AB
66402012-03-31 Anton Blanchard <anton@samba.org>
6641
6642 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6643 8 bit values.
6644
08fbf92e
VS
66452012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * util/grub-install.in: Fix nvram call for PreP.
6648
5d1182a6
VS
66492012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6652 the error when some elements are missing into a warning.
6653
3f8cdd90
VS
66542012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6657
51006716
CW
66582012-03-28 Colin Watson <cjwatson@ubuntu.com>
6659
6660 * docs/grub.texi (Invoking grub-probe): New section.
6661 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6662
e1bd676b
VS
66632012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 Fix tab and wide character handling in editor and menu.
6666
6667 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6668 agglomerate control characters with combining marks.
6669 (bidi_line_wrap): Allow break on tab.
6670 (grub_unicode_get_comb_start): New function.
6671 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6672 and tab correctly.
6673 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6674 with a space.
6675 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6676 fixed_tab_size. All users updated.
6677 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6678 (grub_term_getcharwidth): Handle \t.
6679 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6680 and copy.
6681
22e6a774
VS
66822012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 Handle big-endian mdraid.
6685
6686 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6687 * grub-core/Makefile.core.def (mdraid09_be): New module.
6688 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6689 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6690 * grub-core/disk/mdraid_linux_be.c: New file.
6691
3c0eae66
VS
66922012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6695
b6cf74c9
VS
66962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6699 missing quotes which caused confusion among translators.
6700
83c93b9c
VS
67012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * util/grub-mkconfig_lib.in: Fix typo.
6704
ac6fd218
VS
67052012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6708 spaces.
6709 * tests/grub_script_leading_whitespace.in: New file.
6710 * Makefile.util.def (grub_script_leading_whitespace): New test.
6711
ba287dd8
VS
67122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6715 to work.
6716
d2d58d0a
VS
67172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6720 starts with control character.
6721
0382d9bb
VS
67222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6725 overflow.
6726 (grub_gdb_outbuf): Likewise.
6727
d83ff9f9
VS
67282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6731 zero terminator. Fixes a crash.
6732
2282da4a
VS
67332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6736 beyond 4 GiB.
6737 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6738 images independently of preffered adderss field.
6739
0ae4f0bd
VS
67402012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6743 * grub-core/commands/regexp.c: Likewise.
6744 * grub-core/loader/i386/linux.c: Likewise.
6745 * grub-core/partmap/msdos.c: Likewise.
6746 * grub-core/script/execute.c: Likewise.
6747 * grub-core/term/gfxterm.c: Likewise.
6748
546fbe9b
VS
67492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 Add variable parsing in $"..." and fix several mismatches with bash.
6752
6753 * Makefile.util.def (grub_script_gettext): New test.
6754 * grub-core/script/execute.c (parse_string): New function.
6755 (gettext_append): Likewise.
6756 (grub_script_arglist_to_argv): Use gettext_append.
6757 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6758 * tests/grub_script_gettext.in: New file.
6759
9fdb2d7b
VS
67602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 Fix handling of leading spaces in scripts.
6763
6764 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6765 spaces.
6766 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6767 other than skipping \r. All users updated.
6768 * tests/grub_script_echo1.in: Add space-related tests.
6769 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6770
1a1ac4f6
VS
67712012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6774
b63d89b6
VS
67752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * configure.ac: Bump up the version to beta2.
6778
17f38c0f
VS
67792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 Fix gettext reload bugs (e.g. inability to disable gettext
6782 once enabled).
6783
6784 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6785 main_context and secondary_context. All functions updated.
6786 (grub_gettext_translate): Rename to ...
6787 (grub_gettext_translate_real): ... this. Return NULL on failed
6788 translate.
6789 (grub_gettext_translate): Handle secondary context.
6790 (grub_gettext_delete_list): Close file and zero-out the context.
6791 (grub_mofile_open): Don't call grub_gettext_delete_list.
6792 Don't close file.
6793 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6794 if locale="" to avoid pointless error message.
6795 (grub_gettext_env_write_lang): Update lang even if load fails.
6796 Handle secondary context.
6797 (grub_gettext_reread_prefix): New function.
6798 (read_main): Likewise.
6799 (read_secondary): Likewise.
6800 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6801 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6802 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6803 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6804
8e56f870
VS
68052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * configure.ac: Decrease warning level to avoid spurious warnings and
6808 to be able to compile with GCC 4.2.
6809 * Makefile.util.def: Remove -Wno-error=logical-op.
6810
82f6d455
WB
68112012-03-10 William Bittner <william.bittner@gmail.com>
6812
6813 * util/import_unicode.py: Add missing brackets around string for
6814 python 3 support.
6815
1ecd61a4
VS
68162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 Fix efi chainloader on network root.
6819
6820 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6821 network devices.
6822 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6823 New function.
6824
14361ee8
VS
68252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6828 unused show_text member.
6829 * docs/grub.texi: Document "text" property.
6830
922aabf3
VS
68312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6834 in dprintf.
6835
ec316771
VS
68362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 Fix IMSM handling on Fedora.
6839
6840 * util/getroot.c (grub_util_is_imsm): New function.
6841 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6842
0f021838
VS
68432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * Makefile.am: Strip gold section.
6846 * conf/Makefile.common: Likewise.
6847 * gentpl.py: Likewise.
6848 * grub-core/Makefile.core.def: Likewise.
6849 * grub-core/genmod.sh.in: Likewise.
6850
1039c8eb
VS
68512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6854 * util/grub.d/20_linux_xen.in: Likewise.
6855 Based on Debian patch.
6856
6dd412cd
VS
68572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * util/grub.d/10_linux.in: Fix syntax error resulting in
6860 Richard Laager's patch.
6861 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6862
3fd8bae5
VS
68632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6866 dependencies.
6867
7eea1671
RL
68682012-03-10 Richard Laager <rlaager@wiktel.com>
6869
6870 * util/grub.d/10_linux.in: Fix ZFS root passing.
6871
e8e0566b
VS
68722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6875 * grub-core/commands/xnu_uuid.c: Likewise.
6876 * grub-core/loader/efi/appleloader.c: Likewise.
6877 * grub-core/script/execute.c: Likewise.
6878 * grub-core/script/main.c: Likewise.
6879 * util/grub-mkfont.c: Likewise.
6880
1acc5b1f
VS
68812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * util/grub-mkfont.c (options): Use more appropriate "select" that
6884 "set" for face index.
6885
35d70620
VS
68862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * util/grub-editenv.c (options): Gettextize command summaries.
6889
c9eb96b5
VS
68902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6893 "out of memory" error messagge.
6894
1f493136
VS
68952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6898 of diskfilter for diskfilter on diskfilter support.
6899
6d790129
VS
69002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6903
005f46c9
VS
69042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6907 themes/starfield.
6908
c8f778a0
VS
69092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6912
de1e64eb
VS
69132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6916
c6d54211
VS
69172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6920 of error message.
6921
dd390777
VS
69222012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6925
5fd1c522
VS
69262012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6929 message.
c6d54211 6930 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6931
fae01f6c
VS
69322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6935 Gettextize.
6936 * util/grub-mount.c (options): Likewise.
6937
292fdaff
VS
69382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6941 gettextize.
6942 * grub-core/commands/search_wrap.c (options): Likewise.
6943
ecdbae77
VS
69442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6947
52bfedfa
VS
69482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6951 size calculation.
6952 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6953 none is known.
6954
55b20e58
VS
69552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6958 "temporary" since it's used in identifier and is limited in space.
6959
fda9d101
VS
69602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * po/POTFILES.in: Regenerate. Include *.h since they contain
6963 translatable strings as well.
6964
6a0295e2
VS
69652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6968 byte-swap on big-endian.
6969 Reported by: Lennart Sorensen
6970
807fb77c
VS
69712012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6974 (allocate_pages): Improve dprintf.
6975 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6976 code32_start. Fill code32_start and kernel_alignment in params.
6977 (grub_cmd_initrd): Use prot_init_space.
6978
61ac50ba
VS
69792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6982
abdd26dd
VS
69832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * util/grub-install.in: Add missing dot at the end of sentence.
6986
6e69da9c
VS
69872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6990 * grub-core/commands/videotest.c: Likewise.
6991 * grub-core/loader/i386/linux.c: Likewise.
6992
4a929343
VS
69932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6996 sentence.
6997 Reported by: Milo Casagrande.
6998
bb51c6c6
VS
69992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7002 * grub-core/commands/gptsync.c: Likewise.
7003 * grub-core/commands/hashsum.c: Likewise.
7004 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7005 * grub-core/commands/legacycfg.c: Likewise.
7006 * grub-core/io/gzio.c: Likewise.
7007 * grub-core/net/net.c: Likewise.
7008 * grub-core/term/gfxterm.c: Likewise.
7009 * grub-core/term/terminfo.c: Likewise.
7010 * grub-core/tests/test_blockarg.c: Likewise.
7011 * grub-core/video/video.c: Likewise.
7012 * util/grub-install.in: Likewise.
7013 * util/grub-mkfont.c: Likewise.
7014
b2b149cb
VS
70152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7018
c7c080ad
VS
70192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7022 Reported by: David Prévot.
c7c080ad 7023
f2e243c0
VS
70242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7027 description.
7028
09963c76
VS
70292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * util/grub-script-check.c (main): Fix a syntax error message which was
7032 unclear.
7033
a50514a8
VS
70342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7037
4650daec
VS
70382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7041 messages.
7042
70432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7044
7045 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7046 without argument.
7047 * util/grub-mount.c (options): Likewise.
7048
bbc5a342
VS
70492012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7052
ef292a87
VS
70532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * grub-core/net/http.c: Add TRANSLATORS comments.
7056 * grub-core/normal/cmdline.c: Likewise.
7057 * grub-core/normal/misc.c: Likewise.
7058 * grub-core/partmap/msdos.c: Likewise.
7059 * grub-core/parttool/msdospart.c: Likewise.
7060 * grub-core/script/execute.c: Likewise.
7061 * grub-core/script/main.c: Likewise.
7062 * grub-core/term/terminfo.c: Likewise.
7063 * grub-core/video/bitmap.c: Likewise.
7064 * util/grub-install.in: Likewise.
7065 * util/grub-mkimage.c: Likewise.
7066 * util/grub-mklayout.c: Likewise.
7067 * util/grub-setup.c: Likewise.
7068
0fc19bd0
VS
70692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7072 with similar messages in grub-fstest.
7073
d95862ef
VS
70742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * util/grub-install.in: Unify "option requires an argument" message
7077 with similar messages in other files.
7078 * util/grub-mkconfig.in: Likewise.
7079
b7308f90
VS
70802012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * util/grub-set-default.in: Replace printf with gettext_printf (the
7083 string in in question is already translated from grub-reboot)
7084
559dc587
VS
70852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * configure.ac: Bump up the version to beta1.
7088
1a11761f
VS
70892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7092 case when min_align = 0.
7093
24539abd
VS
70942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7097 and fix a case when line_start overflows.
7098
32bd735b
VS
70992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * util/grub-reboot.in (usage): Mention id posibility.
7102 * util/grub-set-default.in (usage): Likewise.
7103
1a2fd1e6
VS
71042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7107 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7108 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7109 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7110 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7111 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7112 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7113
90eeab76
VS
71142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/commands/menuentry.c (options): Remove
7117 GRUB_ARG_OPTION_REPEATABLE.
7118 Reported by: Andreas Vogel
7119
5ad1be82
AV
71202012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7121
7122 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7123
cb055286
HE
71242012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7125
7126 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7127 error.
7128
93b1cd79
VS
71292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 Use sort -V by the idea of Georgi Georgiev.
7132
7133 * util/grub-mkconfig_lib.in (version_sort): New function.
7134 (version_test_numeric): Use version_sort.
7135
0cdc126c
VS
71362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 Use submenus in grub-mkconfig.
7139
7140 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7141 * util/grub-mkconfig_lib.in (grub_quote): New function.
7142 (gettext_printf): Use gettext and not gettext_quoted to fix several
7143 messages.
7144 * util/grub.d/10_hurd.in: Use submenus.
7145 * util/grub.d/10_kfreebsd.in: Likewise.
7146 * util/grub.d/10_linux.in: Likewise.
7147 * util/grub.d/10_netbsd.in: Likewise.
7148 * util/grub.d/20_linux_xen.in: Likewise.
7149 * util/grub.d/30_os-prober.in: Likewise.
7150 * util/grub.d/10_illumos.in: Add missing quoting.
7151 * util/grub.d/10_windows.in: Likewise.
7152
d9bef9bc
VS
71532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 Fix menu title instability bug.
7156
7157 * grub-core/commands/menuentry.c (options): New option --id.
7158 (grub_normal_add_menu_entry): New argument id. All users updated.
7159 (grub_cmd_menuentry): Handle --id.
7160 (grub_menu_init): Accept unknown arguments.
7161 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7162 feature_menuentry_options.
7163 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7164 saved_entry.
7165 (get_entry_number): Match with id as well.
7166 * include/grub/menu.h (grub_menu_entry): New member id.
7167 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7168 * util/grub.d/00_header.in: Define menuentry_id_option.
7169 * util/grub.d/10_hurd.in: Define id.
7170 * util/grub.d/10_illumos.in: Likewise.
7171 * util/grub.d/10_kfreebsd.in: Likewise.
7172 * util/grub.d/10_linux.in: Likewise.
7173 * util/grub.d/10_netbsd.in: Likewise.
7174 * util/grub.d/10_windows.in: Likewise.
7175 * util/grub.d/20_linux_xen.in: Likewise.
7176 * util/grub.d/30_os-prober.in: Likewise.
7177
71782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7179
7180 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7181 "scope" with "body".
7182
7c8d0ce7
VS
71832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7186 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7187 prot_size and prot_file_size.
7188
49de079b
VS
71892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7192 All users updated. If easily=1 require raid-5/-6 to be full.
7193 (is_node_readable): Likewise.
7194 (scan_devices): Scan incomplete but readable LVs at the end.
7195 (grub_diskfilter_memberlist): Pull missing devices.
7196 (insert_array): Skip scanning until device is complete or scan is
7197 done otherwise.
7198 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7199 check.
7200 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7201 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7202
aff05d45
MG
72032012-03-03 Matthew Garrett <mjg@redhat.com>
72042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 Avoid EFI boot services when loading Linux.
7207
7208 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7209 avoid_efi_bootservices. All users updated.
7210 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7211 argument avoid_efi_bootservices. All users updated.
7212 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7213 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7214 align, min_align, relocatable, prefered_address. All users updated.
7215 Allocate avoiding boot services if kernel is relocatable.
7216 (grub_cmd_linux): Check if kernel is relocatable.
7217 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7218 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7219 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7220 avoid_efi_boot_services.
7221 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7222 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7223 (linux_kernel_params): Likewise.
7224
3935dde2
MG
72252012-03-03 Matthew Garrett <mjg@redhat.com>
72262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 Use EDID on EFI.
7229
7230 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7231 datasize_out.
7232 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7233 modes. Set gop_handle.
7234 (grub_video_gop_get_edid): New function.
7235 (grub_gop_get_preferred_mode): Likewise.
7236 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7237 (grub_video_efi_gop_adapter): Set .get_edid.
7238 * include/grub/efi/edid.h: New file.
7239 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7240
32107ec0
VS
72412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * util/grub-install.in: Load efivars unconditionally.
7244
e70a2c50
VS
72452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * po/Rules-piglatin: Change suffix from .po-update-en to
7248 .po-update-en-piglatin.
7249
8f9cace1
VS
72502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 Add a pig farm.
7253
7254 * po/piglatin.sed: New file.
7255 * po/en@piglatin.header: Likewise.
7256 * po/Rules-piglatin: Likewise.
7257 * po/README: Add en@piglatin to autogenerated languages.
7258
8f95d002
VS
72592012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7262 "Command for ...".
7263 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7264 "Check" since we don't check anything.
7265 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7266 is 64-bit one.
7267 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7268 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7269 (grub_md_sha512_real): Likewise.
7270
805a8dcc
VS
72712012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/commands/gptsync.c: Fix typographic quoting.
7274 * grub-core/commands/ieee1275/suspend.c: Likewise.
7275 * grub-core/commands/parttool.c: Likewise.
7276 * grub-core/commands/search_wrap.c: Likewise.
7277 * grub-core/commands/videoinfo.c: Likewise.
7278 * grub-core/gfxmenu/gui_label.c: Likewise.
7279 * grub-core/hello/hello.c: Likewise.
7280 * grub-core/kern/emu/main.c: Likewise.
7281 * grub-core/net/net.c: Likewise.
7282 * grub-core/normal/menu.c: Likewise.
7283 * grub-core/normal/menu_text.c: Likewise.
7284 * grub-core/normal/misc.c: Likewise.
7285 * util/grub-editenv.c: Likewise.
7286 * util/grub-install.in: Likewise.
7287 * util/grub-kbdcomp.in: Likewise.
7288 * util/grub-mkconfig.in: Likewise.
7289 * util/grub-mknetdir.in: Likewise.
7290 * util/grub-mkrescue.in: Likewise.
7291 * util/grub-mkstandalone.in: Likewise.
7292 * util/grub-reboot.in: Likewise.
7293 * util/grub-set-default.in: Likewise.
7294 * util/grub-setup.c: Likewise.
7295 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7296
40211ab8
VS
72972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7300 * grub-core/commands/keystatus.c: Likewise.
7301 * grub-core/commands/loadenv.c: Likewise.
7302 * grub-core/commands/probe.c: Likewise.
7303 * grub-core/commands/regexp.c: Likewise.
7304 * grub-core/commands/true.c: Likewise.
7305 * grub-core/commands/videoinfo.c: Likewise.
7306 * grub-core/disk/cryptodisk.c: Likewise.
7307 * grub-core/disk/ldm.c: Likewise.
7308 * grub-core/disk/loopback.c: Likewise.
7309 * grub-core/disk/luks.c: Likewise.
7310 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7311 * grub-core/kern/disk.c: Likewise.
7312 * grub-core/kern/emu/hostdisk.c: Likewise.
7313
0c7d99c7
VS
73142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7317 * util/grub-install.in: Add missing quote in the comment.
7318
e7d2559b
VS
73192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7322 * grub-core/commands/lsmmap.c: Likewise.
7323 * grub-core/commands/minicmd.c: Likewise.
7324 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7325 * grub-core/commands/regexp.c: Likewise.
7326 * grub-core/gdb/gdb.c: Likewise.
7327 * grub-core/term/gfxterm.c: Likewise.
7328 * util/grub-mkconfig.in: Likewise.
7329 * util/grub-mkfont.c: Likewise.
7330 * util/grub-mklayout.c: Likewise.
7331 * util/grub-mknetdir.in: Likewise.
7332 * util/grub-mkrescue.in: Likewise.
7333 * util/grub.d/30_os-prober.in: Likewise.
7334
49ce9e50
VS
73352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7338 with "Direct color" and "Packed" with "Packed pixel".
7339 (grub_cmd_videoinfo): Simplify legend.
7340
e4b791fa
VS
73412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7344 absolutely unclear error message.
7345
fd1265cb
VS
73462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * util/grub-mkstandalone.in: Remove confusing leftover print.
7349
8822a8a0
VS
73502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7353 comments.
7354 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7355 (GRUB_MOD_INIT): Likewise.
7356 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7357 VGA mode.
7358 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7359 comments.
7360 * util/grub-install.in (usage): Likewise.
7361 Spell ID in whole letters.
7362 Add missing ending dot.
7363 Quote variables.
7364 * util/grub-reboot.in: Fix capitalisation.
7365 * util/grub-set-default.in: Likewise.
7366
937fd0cc
VS
73672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7370 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7371 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7372 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7373 Disable -Werror for -Wdeprecated-declarations.
7374 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7375 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7376 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7377 (grub_util_get_grub_dev): Make luks handling dependent on
7378 HAVE_DEVICE_MAPPER and not __linux__.
7379 (get_win32_path): Fix format security.
7380 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7381 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7382 Don't try grub_find_zpool_from_dir.
7383 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7384 #ifdef-out paresdir.
7385
1bab1ae3
VS
73862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * util/grub-pe2elf.c (usage): Add missing noreturn.
7389 (write_section_data): Rename name to shname to avoid shadowing.
7390 (write_symbol_table): Rename name to symname to avoid shadowing.
7391 Fix write_reloc_section call.
7392
ef023e42
VS
73932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7396 to ensure that it's after the last byte of .text.
7397
48afcb75
VS
73982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * util/ieee1275/ofpath.c (my_isdigit): New function.
7401 (trailing_digits): Use my_isdigit.
7402 (strip_trailing_digits): Likewise.
7403
88d51eff
VS
74042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7407 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7408
17edc2ba
VS
74092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/kern/i386/pc/startup.S: Define __start.
7412
ad5518d7
VS
74132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7416 strip already transforms he format.
7417
9e95e1bf
VS
74182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7421
9cc3ee5c
VS
74222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * util/grub-install.in: Add missing gettext init.
7425 * util/grub-kbdcomp.in: Likewise.
7426 * util/grub-mkconfig.in: Likewise.
7427 * util/grub-mknetdir.in: Likewise.
7428 * util/grub-mkrescue.in: Likewise.
7429 * util/grub-mkstandalone.in: Likewise.
7430 * util/grub-reboot.in: Likewise.
7431 * util/grub-set-default.in: Likewise.
7432 * util/grub.d/00_header.in: Likewise.
7433 * util/grub.d/10_hurd.in: Likewise.
7434 * util/grub.d/10_windows.in: Likewise.
7435 * util/grub.d/30_os-prober.in: Likewise.
7436 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7437
49e08a06
VS
74382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * po/Rules-swiss: Fix header comment.
7441
3809cb41
AV
74422012-02-29 Andreas Vogel <anvoit>
7443
7444 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7445 resulted in leak of arguments.
7446
fa6ec573
VS
74472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7450 reed_solomon_size const definition instead of computing it since
7451 Apple assembler doesn't support the later.
7452
22899b9c
VS
74532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * gentpl.py (kernel): Rewrite Apple part.
7456
a132afc3
VS
74572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7460
9d742bd4
VS
74612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7464 ELF section gap.
7465 (load_image): Likewise.
7466
f04a9a21
VS
74672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * configure.ac: Fix a typo in previous commit.
7470
46cf439c
VS
74712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 Don't add -Wl,-N on Apple platform.
7474
7475 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7476 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7477
c4c48c54
VS
74782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/Makefile.core.def (lzma_decompress): Use
7481 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7482
31a12124
VS
74832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/genmod.sh.in: Rewrite the Apple part.
7486
4f3aa1af
VS
74872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7490 comparison.
7491
7bd8b0c7
VS
74922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * acinclude.m4 (grub_CHECK_PIC): New test.
7495 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7496
97304d7c
VS
74972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7500 to avoid the warning.
7501
fb883812
VS
75022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7505 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7506 after. All users updated.
7507
a121c964
VS
75082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 Use the common size routine in hostfs so we can read disks as well.
7511
7512 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7513 (grub_util_get_fd_size): ... this. Return size in bytes.
7514 All users updated.
7515 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7516 grub_util_get_fd_size.
7517
c66d6410
VS
75182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7521 Add blocksize retrieval.
7522
dfc8aeb0
VS
75232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * configure.ac: Restore CFLAGS after efiemu check.
7526
403e25a5
VS
75272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7530 Apple bug.
7531
382775d1
VS
75322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7535
6fd4e6e4
VS
75362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7539 (grub_cmd_halt): Likewise.
7540
bea359d6
VS
75412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7544 for local arithmetics.
7545 Break %sp init into 2 instructions.
7546 Add 0 byte at the end.
7547
32eb6ee1
VS
75482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7551 before loops.
7552
e8377389
VS
75532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7556 for context.
7557
8cb17de7
VS
75582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/disk/ldm.c (make_vg): Init part.name.
7561 (grub_ldm_detect): Silence spurious warning.
7562 (grub_util_is_ldm): Likewise.
7563
595717e6
VS
75642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7567 sane value to avoid a spurious warning.
7568
c4b7e588
VS
75692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7572 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7573
59824957
VS
75742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7577 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7578
70115b99
VS
75792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7582 hardcoding the relevant info.
7583
56733740
VS
75842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7587 missing const qualifiers.
7588 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7589
43481481
VS
75902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * util/getroot.c [__APPLE__]: Add missing includes.
7593 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7594
3cb38f01
VS
75952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7598
d9dbf11e
VS
75992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7600
7601 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7602 avoid conflicts.
7603
0c42a45d
VS
76042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7607
46c34eb0
VS
76082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7611 and grub_file_close call.
7612
99ce1597
VS
76132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 Add LZSS Mach-O support (needed for new xnu kernelcache).
7616
7617 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7618 * grub-core/loader/lzss.c: New file.
7619 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7620 on Mach-O open failure.
7621 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7622 Don't free cmdsXX in uncompressedXX is set.
7623 (grub_macho_file): Init new fields.
7624 New argument is_64bit. All users updated.
7625 Handle compressed. Error out if no suitable architecture is found.
7626 Don't close file.
7627 (grub_macho_open): New argument is_64bit. All users updated.
7628 * grub-core/loader/macho32.c: Add defines for new fields.
7629 * grub-core/loader/macho64.c: Likewise.
7630 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7631 (grub_macho_parse): Handle compressed.
7632 Defer actual processing if compressed.
7633 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7634 "filename". All users updated.
7635 (grub_macho_size): New argument "filename". All users updated.
7636 (grub_macho_get_entry_point): Likewise.
7637 (grub_macho_load): Handle compressed.
7638 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7639 (GRUB_MACHO_LZSS_OFFSET): New define.
7640 (grub_decompress_lzss): New proto.
7641 * include/grub/machoload.h (grub_macho_file): New fields to handle
7642 compressed.
7643 (grub_macho_contains_macho64): Remove proto.
7644 (grub_macho_contains_macho32): Likewise.
7645 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7646
ebd17d6f
VS
76472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7650
2702b4e4
VS
76512012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 Fix make dist.
7654
7655 * Makefile.am (starfield_theme_files): New var.
7656 (starfield_DATA): Use starfield_theme_files.
7657 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7658 Add bootcheck-related files.
7659 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7660 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7661 and font_char_metrics.txt.
7662 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7663 (setjmp): Add lib/ia64/longjmp.S.
7664 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7665 * po/POTFILES.in: Regenerate.
7666 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7667 DISTFILES.common.extra1.
7668 * util/devicemap.c: Removed.
7669 * grub-core/lib/i386/relocator_backward.S: Likewise.
7670 * util/import_gcry.py: Remove unused files. Add extra_dist for
7671 ChangeLog.
7672
cf1adfdf
VS
76732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7676 grub_gettext_delete_list before changing grub_gettext_max to avoid
7677 running out of array bounds.
7678
76792012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7680
7681 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7682 grub_vga_text_init/grub_vga_text_fini.
7683
cf1adfdf 76842012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7685
7686 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7687
541d92e9
VS
76882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * configure.ac: Bump to 2.00~beta0.
7691
7931dddf
VS
76922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7695 missing initialisation.
7696
f1b16fa3
VS
76972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7700
83ddae23
VS
77012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 Support v2 xnu boot arguments.
7704
7705 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7706 New argument fsbfreq_out.
7707 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7708 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7709 be used.
7710 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7711 darwin_version.
7712 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7713 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7714 (grub_xnu_boot_params): Rename to ...
7715 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7716 (grub_xnu_boot_params_v2): New struct.
7717
dc693fe6
VS
77182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7721 zeroing of CRC field before computing CRC.
7722
5a6e39c2
VS
77232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7726 Change order of allocations to decrease fragmentation.
7727
6c21f5d7
VS
77282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7731
cfe456dc
CW
77322012-02-27 Colin Watson <cjwatson@ubuntu.com>
7733
7734 Use write-combining MTRR to speed up video with buggy BIOSes.
7735
7736 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7737 (cpuid): New define.
7738 (rdmsr): Likewise.
7739 (wrmsr): Likewise.
7740 (mtrr_base): Likewise.
7741 (mtrr_mask): Likewise.
7742 (grub_vbe_enable_mtrr_entry): New function.
7743 (grub_vbe_enable_mtrr): Likewise.
7744 (grub_vbe_disable_mtrr): Likewise.
7745 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7746 control off to BIOS.
7747 (grub_video_vbe_init): Fill mtrr.
7748 (grub_video_vbe_fini): Disable mtrr.
7749 (grub_video_vbe_get_info_and_fini): Likewise.
7750 (grub_video_vbe_setup): Enable mtrr.
7751
e3c78337
CW
77522012-02-27 Colin Watson <cjwatson@ubuntu.com>
7753
7754 * include/grub/partition.h (grub_partition_map): Change prototype of
7755 embed to take a maximum value for nsectors.
7756 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7757 * include/grub/fs.h (grub_fs): Likewise.
7758 * grub-core/partmap/msdos.c (embed_signatures): New array.
7759 (pc_partition_map_embed): Check for and avoid sectors matching any
7760 of the signatures in embed_signatures, up to max_nsectors.
7761 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7762 returned sector map to max_nsectors.
7763 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7764 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7765 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7766 * util/grub-setup.c (setup): Allow for the embedding area being
7767 split into multiple blocklists. Tell dest_partmap->embed the
7768 maximum number of sectors we care about.
7769
77702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7773 Specify blocklist_install and reserver_first_sector for all fs.
7774 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7775 blocklists.
7776
984b973f
VS
77772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * util/grub-install.in: Clarify strings.
7780 Fix source dir check.
7781
f122e0d6
RL
77822012-02-27 Richard Laager <rlaager@wiktel.com>
7783
7784 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7785 "zfs" and "fuse.zfs" as synonyms.
7786
071114bb
VS
77872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * configure.ac: Put platform and target_cpu substitutions back since
7790 they are used for directories.
7791
817e6abc
RL
77922012-02-27 Richard Laager <rlaager@wiktel.com>
77932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7796 * util/grub.d/20_linux_xen.in: Likewise.
7797
897b7419
RL
77982012-02-27 Richard Laager <rlaager@wiktel.com>
7799
7800 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7801 with full paths.
7802
a414bd15
RL
78032012-02-27 Richard Laager <rlaager@wiktel.com>
7804
7805 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7806 unescape.
7807
30ac48c4
VS
78082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 Don't use insecure popen in getroot.
7811
7812 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7813 (exec_pipe): ... here.
7814 (find_root_devices_from_poolname): Use exec_pipe.
7815
53f13848
VS
78162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 Remove platform and target_cpu replacement.
7819
7820 * configure.ac: Remove platform and target_cpu substitutions.
7821 * tests/util/grub-shell.in: Use modinfo.
7822 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7823 explicitly.
7824
90cb2803
VS
78252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Autodetect platform in grub-install but allow override.
7828
7829 * util/grub-install.in: Autodetect platform. Support --target and
7830 --directory. Read platform from modinfo.sh.
7831
b9136427
VS
78322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 Support btrfs multi-volume probe.
7835
7836 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7837 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7838 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7839 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7840 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7841 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7842 grub_find_root_devices_from_btrfs if on btrfs.
7843
c36e5cd1
VS
78442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Remove any awareness of *.c util files about target.
7847
7848 * Makefile.util.def (grub-setup): Split to ...
7849 (grub-bios-setup): ... and this.
7850 (grub-sparc64-setup): ... and this.
7851 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7852 * docs/man/grub-setup.h2m: Split into ...
7853 * docs/man/grub-sparc64-setup.h2m: ... this.
7854 * docs/man/grub-bios-setup.h2m: ... and this.
7855 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7856 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7857 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7858 (grub_target_addr_t): Remove.
7859 (grub_target_size_t): Remove.
7860 (grub_target_ssize_t): Remove.
7861 * util/grub-install.in: Use new grub-*-setup.
7862 * util/grub-mkimagexx.c (Elf_Word): New define.
7863 (Elf_Half): Likewise.
7864 (Elf_Section): Likewise.
7865 (ELF_ST_TYPE): Likewise.
7866 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7867 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7868
584b2f8a
VS
78692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 Replace grub_target_addr with more appropriate types.
7872
7873 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7874 grub_target_addr with grub_addr.
7875 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7876 grub_target_addr with grub_port.
7877 (grub_cmd_write): Likewise.
7878 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7879 grub_target_addr with grub_addr.
7880 (grub_cmd_write): Likewise.
7881 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7882
5a0dc6fb
VS
78832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7886 const qualifier for vendor_guid.
7887
786aff6e
VS
78882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7891 const qualifier.
7892 (efiemu_memequal): Likewise.
7893 (find_variable): Likewise.
7894
49017b17
VS
78952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 Fix missing console prototype on qemu-mips.
7898
7899 * include/grub/mips/qemu_mips/console.h: New file.
7900
c5988629
MG
79012012-02-27 Matthew Garrett <mjg@redhat.com>
79022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7905 * include/grub/efi/efi.h: Likewise.
7906 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7907 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7908 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7909 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7910 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7911 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7912
e33f8d69
MG
79132012-02-27 Matthew Garrett <mjg@redhat.com>
7914
7915 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7916
fb312cd9
VS
79172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7920 error.
7921
7134247c
VS
79222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * configure.ac: Remove inappropriate use of program_transform_name
7925 on grubdir and bootdir but allow explicit specification of those
7926 variables.
7927
6a313124
VS
79282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * util/grub-mknetdir.in (grub_prefix): Removed.
7931 (subdir): Use @bootdirname@ and @grubdirname@.
7932
2311c5ca
VS
79332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7936
7d5d60f7
VS
79372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * po/POTFILES.in: Regenerated.
7940
8151bc82
VS
79412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 Remove improper use of program_transform_name on pkglibrootdir.
7944
7945 * configure.ac (pkglibrootdir): Removed.
7946 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7947 * util/grub-mkimage.c: Likewise.
7948
b4a6a533
VS
79492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7952 warning.
7953
668f304f
VS
79542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * util/grub-install.in: Use file identifier if no UUID is available
7957 or user explicitly prompted for it.
7958
665f2341
NP
79592012-02-27 Navdeep Parhar <nparhar@gmail.com>
7960
7961 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7962 (freebsd_get_zfs): New function.
7963 (grub_freebsd_boot): Pass zfs UUID.
7964 (grub_cmd_freebsd): Set zfs UUID.
7965
8151bc82 79662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7967
7968 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7969 pkglibrootdir.
7970
e4c498a1
MG
79712012-02-27 Mike Gilbert <floppym@gentoo.org>
7972
7973 Add configure flag to control libzfs integration.
7974
7975 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7976
1e9a9a3f
VS
79772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7980 device.
7981 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7982 small devices.
7983
036985b8
VS
79842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7987 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7988 be used on non-modules.
7989
7990 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7991 Rename to grub_boot_init.
7992 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7993 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7994 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7995 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7996 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7997 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7998 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7999 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8000 includes.
8001 (grub_machine_init): Remove empty inits.
8002 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8003 includes.
8004 (grub_machine_init): Remove empty inits.
8005 * grub-core/term/arc/console.c: Remove explicit proto.
8006 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8007 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8008 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8009 grub_at_keyboard_fini.
8010 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8011 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8012 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8013 grub_gfxterm_fini.
8014 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8015 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8016 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8017 grub_vgatext_fini.
8018 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8019 * grub-core/term/serial.c (GRUB_MOD_INIT)
8020 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8021 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8022 grub_serial_fini.
8023 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8024 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8025 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8026 grub_terminfo_fini.
8027 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8028 (GRUB_MOD_FINI): Likewise.
8029 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8030 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8031 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8032 grub_video_radeon_fuloong2e_fini.
8033 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8034 [LOONGSON]: Rename to grub_video_sis315pro_init.
8035 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8036 grub_video_sis315pro_fini.
8037 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8038 [LOONGSON]: Rename to grub_video_sm712_init.
8039 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8040 grub_video_sm712_fini.
8041 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8042 (grub_at_keyboard_fini): Likewise.
8043 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8044 Don't declare grub_{modname}_init.
8045 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8046 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8047 New proto.
8048 (grub_keylayouts_fini) [!EMU]: Likewise.
8049 * include/grub/serial.h (grub_serial_init) [!EMU]:
8050 New proto.
8051 (grub_serial_fini) [!EMU]: Likewise.
8052 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8053 New proto.
8054 (grub_terminfo_fini) [!EMU]: Likewise.
8055 * include/grub/video.h (grub_font_init) [!EMU]:
8056 New proto.
8057 (grub_font_fini) [!EMU]: Likewise.
8058 (grub_gfxterm_init) [!EMU]: Likewise.
8059 (grub_gfxterm_fini) [!EMU]: Likewise.
8060 (grub_video_sm712_init) [!EMU]: Likewise.
8061 (grub_video_sm712_fini) [!EMU]: Likewise.
8062 (grub_video_sis315pro_init) [!EMU]: Likewise.
8063 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8064 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8065 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8066
d5534665
VS
80672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 Make nand a prefix for nand devices.
8070
8071 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8072
10133b5f
VS
80732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8076 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8077
8e307a62
VS
80782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * include/grub/env.h (grub_env_find): Remove prototype.
8081 * grub-core/kern/env.c (grub_env_find): Make static.
8082 (grub_env_set): Remove useless set.
8083
a4c65f34
VS
80842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/kern/i386/realmode.S: Remove useless align.
8087
d87893d5
VS
80882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * include/grub/dl.h (grub_dl_load_file): Don't export.
8091
50159add
VS
80922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8095 grub_dprintf.
8096
b2582b84
VS
80972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8100 grub_errors.
8101 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8102 not reloading whole superblock but only the part which is really needed.
8103 Remove useless grub_errors.
8104 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8105 grub_errors.
8106
e2a83395
VS
81072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 Don't export grub_get_rtc.
8110
8111 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8112 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8113
e7d2a906
VS
81142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8117
6cf1363b
VS
81182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8121 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8122
eece3349
VS
81232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 Remove prio_list.
8126
8127 * include/grub/list.h (grub_prio_list): Removed.
8128 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8129 GRUB_COMMAND_PRIO_MASK.
8130 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8131 GRUB_COMMAND_FLAG_ACTIVE.
8132 (grub_prio_list_insert): Removed.
8133 (grub_prio_list_remove): Likewise.
8134 (GRUB_AS_PRIO_LIST): Likewise.
8135 (GRUB_AS_PRIO_LIST_P): Likewise.
8136 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8137 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8138 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8139 * grub-core/kern/command.c (grub_register_command_prio): Inline
8140 the prio_list code.
8141 (grub_unregister_command): Likewise.
8142
94f064b4
VS
81432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Fix interrupt mixup from previous commit.
8146
8147 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8148 (grub_realidt): New var.
8149 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8150 Load idt.
8151 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8152 New declaration.
8153 (grub_relocator16_boot): Set grub_relocator16_idt.
8154 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8155 (LOCAL(realidt)): ... this.
8156 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8157 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8158 (grub_realidt): New variable.
8159
27317084
VS
81602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8163 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8164 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8165 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8166 Gettextize.
8167 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8168 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8169 * po/POTFILES.in: Regenerate.
8170
47b40053
VS
81712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8174 errors.
8175
2b343101
VS
81762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8179 \0.
8180 (add_length): Likewise.
8181
ff27c3dd
LK
81822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
81832012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8184
8185 GDB serial and backtrace support.
8186
8187 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8188 (prot_to_real): Likewise.
8189 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8190 * grub-core/Makefile.core.def (backtrace): New module.
8191 (gdb): Likewise.
8192 * grub-core/gdb/cstub.c: New file.
8193 * grub-core/gdb/gdb.c: Likewise.
8194 * grub-core/gdb/i386/idt.c: Likewise.
8195 * grub-core/gdb/i386/machdep.S: Likewise.
8196 * grub-core/gdb/i386/signal.c: Likewise.
8197 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8198 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8199 * include/grub/backtrace.h: Likewise.
8200 * include/grub/gdb.h: Likewise.
8201 * include/grub/i386/gdb.h: Likewise.
8202
82032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8204
8205 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8206 New function.
8207 (add_length): Likewise.
8208 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8209 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8210 proto.
8211 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8212 __argp_get_display_len.
8213
ff27c3dd 82142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8215
8216 $"..." support in scripts.
8217
8218 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8219 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8220 * grub-core/script/yylex.l: Likewise.
8221 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8222 value.
8223
ff27c3dd 82242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8225
8226 * gentpl.py: Remove obsolete pkglib_DATA handling.
8227
ff27c3dd 82282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8229
8230 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8231 mailing list.
8232
8233 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8234 * util/grub-kbdcomp.in: Likewise.
8235 * util/grub-mkconfig.in: Likewise.
8236 * util/grub-mkconfig_lib.in: Likewise.
8237 * util/grub-mknetdir.in: Likewise.
8238 * util/grub-mkrescue.in: Likewise.
8239 * util/grub-mkstandalone.in: Likewise.
8240 * util/grub-reboot.in: Likewise.
8241 * util/grub-set-default.in: Likewise.
8242 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8243
ff27c3dd 82442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8245
8246 Remove GRUB_PREFIX.
8247
8248 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8249 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8250 used for backward compatibility.
8251
ff27c3dd 82522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8253
8254 Add new all_video module.
8255
8256 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8257 * grub-core/Makefile.core.def (all_video): New module.
8258 * grub-core/genmoddep.awk: Generate dependency of all_video from
8259 video.lst.
8260 * grub-core/lib/fake_module.c: New file.
8261 * grub-core/normal/main.c (features): Add feature_all_video_module.
8262 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8263 don't do explicit search again.
47454da5 8264 insmod all_video in load_video if available.
22c7ce85 8265
ff27c3dd 82662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8267
8268 Another round of string clarification and adding TRANSLATORS comments.
8269
ff27c3dd 82702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8271
8272 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8273
ff27c3dd 82742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8275
8276 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8277 to grub_ssize_t.
8278 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8279 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8280
ff27c3dd 82812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8282
8283 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8284 trailing newline implicitly. All users updated.
8285
ff27c3dd 82862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8287
8288 Implement serial on IEEE1275 and EFI.
8289
8290 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8291 on emu. Mention arc and emu as the only platforms without serial
8292 support.
8293 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8294 ieee1275 platforms.
8295 * grub-core/term/efi/serial.c: New file.
8296 * grub-core/term/ieee1275/serial.c: Likewise.
8297 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8298 specification if no ns8250 driver is available.
8299 (grub_cmd_serial): Likewise.
8300 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8301 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8302 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8303 (grub_efi_parity_type_t): New type.
8304 (grub_efi_stop_bits_t): Likewise.
8305 (grub_efi_serial_io_interface): New struct.
8306 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8307 available for all interfaces.
8308 Add EFI and IEEE1275 fields.
8309 (grub_ofserial_init): New proto.
8310 (grub_efiserial_init): Likeiwse.
8311 * util/grub.d/00_header.in: Don't check for the presence of serial
8312 module.
8313
ff27c3dd 83142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8315
8316 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8317 name as if it was an alias.
8318
114076ef
VS
83192012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/commands/lsacpi.c (options): Fix typo.
8322
6a656b0e
VS
83232012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 Convert grub-emu to argp.
8326
8327 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8328 emu.
8329 * util/argp_common.c: Rename to ...
8330 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8331 Add missing includes.
8332 * grub-core/kern/emu/main.c: Convert to argp.
8333 * po/POTFILES.in: Regenerate.
8334 * util/grub-install.in (usage): Make first letter lowcase in messages
8335 for uniformity.
8336 * util/grub-setup.c (options): Likewise.
8337
1e3f8ae8
VS
83382012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8341 Put back accidently commented-out code.
8342
ed167a80
VS
83432012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8346 loop check using Brent algorithm.
8347 (grub_hfsplus_btree_search): Likewise.
8348
6753c0ec
VS
83492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * util/grub-install.in: Fix usage of wrong device for PreP install.
8352
4e27343f
VS
83532012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * conf/Makefile.common (CFLAGS_GNULIB): Add
8356 -Wno-unsafe-loop-optimizations.
8357 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8358 on tools.
8359 * grub-core/commands/legacycfg.c: Add pragma to skip
8360 -Wunsafe-loop-optimizations.
8361 (check_password_md5_real): Fix loop counter type.
8362 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8363 reading.
8364 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8365 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8366 loop condition.
8367 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8368 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8369 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8370 condition.
8371 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8372 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8373 avoid possible infinite loops.
8374 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8375 and -Wunsafe-loop-optimizations.
8376 * grub-core/script/yylex.l: Likewise.
8377 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8378 (print_glyphs): Avoid infinite loops.
8379 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8380
697f18b0
GS
83812012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8382
8383 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8384 to avoid infinite loop.
8385 (disp_acpi_rsdt_table): Likewise.
8386
274416e8
VS
83872012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/font/font.c (grub_font_load): Add support for default
8390 path for fonts ($prefix/fonts).
8391 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8392 for checking if string is a path.
8393 * grub-core/normal/main.c (features): Add feature_default_font_path.
8394 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8395 * util/grub.d/00_header.in: Use default directory if possible.
8396 * util/grub-install.in: Install unicode.pf2.
8397
b3e08622
VS
83982012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8401 * po/Rules-swiss: New file.
8402 * po/swiss.sed: Likewise.
8403
fe42ce09
VS
84042012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * grub-core/fs/btrfs.c (find_device): Fix typos.
8407 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8408 * util/grub-mkrelpath.c (argp_parser): Likewise.
8409 Reported by: Yuri Chornoivan.
8410
72f1d065
DO
84112012-02-23 Dalet Omega <daletomega@gmail.com>
8412
8413 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8414 for usual informative messages.
8415
c5884973
DO
84162012-02-23 Dalet Omega <daletomega@gmail.com>
8417
8418 Starfield theme.
8419
8420 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8421 * conf/Makefile.common: Define starfielddir.
8422 * configure.ac: Configure starfield.
8423 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8424 * themes/starfield/README: Likewise.
8425 * themes/starfield/blob_w.png: Likewise.
8426 * themes/starfield/boot_menu_c.png: Likewise.
8427 * themes/starfield/boot_menu_e.png: Likewise.
8428 * themes/starfield/boot_menu_n.png: Likewise.
8429 * themes/starfield/boot_menu_ne.png: Likewise.
8430 * themes/starfield/boot_menu_nw.png: Likewise.
8431 * themes/starfield/boot_menu_s.png: Likewise.
8432 * themes/starfield/boot_menu_se.png: Likewise.
8433 * themes/starfield/boot_menu_sw.png: Likewise.
8434 * themes/starfield/boot_menu_w.png: Likewise.
8435 * themes/starfield/slider_c.png: Likewise.
8436 * themes/starfield/slider_n.png: Likewise.
8437 * themes/starfield/slider_s.png: Likewise.
8438 * themes/starfield/src/blob_nw.xcf: Likewise.
8439 * themes/starfield/src/bootmenu/: Likewise.
8440 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8441 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8442 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8443 * themes/starfield/src/slider_c.xcf: Likewise.
8444 * themes/starfield/src/slider_n.xcf: Likewise.
8445 * themes/starfield/src/slider_s.xcf: Likewise.
8446 * themes/starfield/src/terminalbox/: Likewise.
8447 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8448 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8449 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8450 * themes/starfield/starfield.png: Likewise.
8451 * themes/starfield/terminal_box_c.png: Likewise.
8452 * themes/starfield/terminal_box_e.png: Likewise.
8453 * themes/starfield/terminal_box_n.png: Likewise.
8454 * themes/starfield/terminal_box_ne.png: Likewise.
8455 * themes/starfield/terminal_box_nw.png: Likewise.
8456 * themes/starfield/terminal_box_s.png: Likewise.
8457 * themes/starfield/terminal_box_se.png: Likewise.
8458 * themes/starfield/terminal_box_sw.png: Likewise.
8459 * themes/starfield/terminal_box_w.png: Likewise.
8460 * themes/starfield/theme.txt: Likewise.
8461
17d73325
VS
84622012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * util/grub.d/00_header.in: Add missing export theme.
8465
dbebaf92
VS
84662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8469 already included.
8470 Reported by: Eren D.
8471
3d68bffb
VS
84722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * conf/Makefile.common (grubdatadir): Removed.
8475 (Makefile.am): Move eveything grubdata to pkgdata.
8476
4b59234d
VS
84772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * grub-core/commands/acpihalt.c (get_sleep_type):
8480 Remove unused variable.
8481
463dcadc
VS
84822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8485 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8486 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8487 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8488 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8489 i18n with gettext no-op.
8490 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8491 GRUB_ACPI_OPCODE_STRING_CONST.
8492 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8493 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8494
e5b90c82
VS
84952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * po/POTFILES.in: Regenerate.
8498
2a704ca9
VS
84992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8502 -Wno-error=missing-noreturn.
8503
84f9d341
VS
85042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8507 condition to avoid possibly infinite loops.
8508 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8509 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8510
d46683f9
VS
85112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8514 condition to avoid possibly infinite loops.
8515
c44866b2
VS
85162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8519 on show_error.
8520
96790539
VS
85212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8524
1ba7e295
VS
85252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8528
21ffe8f1
VS
85292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * util/bin2h.c (usage): Add missing attribute noreturn.
8532
0ccb6b3c
VS
85332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8536 if the size isn't divisible by 512.
8537
b00d7fb6
VS
85382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 Make list_push and list_remove functions rather than inline functions
8541 to decrease size and avoid aliasing violations.
8542
8543 * include/grub/list.h (grub_list_push): Move to ...
8544 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8545 * include/grub/list.h (grub_list_remove): Move to ...
8546 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8547
9d369087
VS
85482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8551 and -Wunused-result.
8552
af0250d9
VS
85532012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8556 Reported by: Seth Goldberg
8557
aad32b14
VS
85582012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8561
ac96441c
ST
85622012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8563
8564 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8565 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8566 command line.
8567 * docs/grub.texi (Simple configuration): Document
8568 GRUB_CMDLINE_GNUMACH.
8569
85702012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8571
8572 * conf/Makefile.common (platform_SCRIPTS): New variable.
8573 (platform_PROGRAMS): Likewise.
8574 * gentpl.py: Mark *,module and *.image for install.
8575 * grub-core/gdb_grub.in: Add a notice of expected environment.
8576 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8577 (gmodule.pl): Likewise.
8578
ac96441c 85792012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8580
8581 Replace grub_checkkey with grub_getkey_noblock.
8582
8583 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8584 (grub_getkey_noblock): ... this. All users updated.
8585
ac96441c 85862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8587
8588 * grub-core/kern/emu/console.c: Move to ...
8589 * grub-core/term/emu/console.c: ...here.
8590 (grub_ncurses_getkey): Fix return value if no key is detected.
8591
e51b5666
VS
85922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8595 (grub_unit_test_fini): Likewise.
8596 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8597
85982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * include/grub/test.h (GRUB_UNIT_TEST)
8601
d9a62292
VS
86022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8605 Better error handling.
8606 (grub_script_return): Likewise.
8607 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8608
77c9182f
VS
86092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8612 rimplicit redifinition.
8613
edb13cf9
VS
86142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8617 GRUB.
8618
a9e9dc7c
VS
86192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8622 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8623 prompt here.
8624
b4ba8e02
VS
86252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8628 as GRUB_ERR_BUG. Don't malloc if no device is available.
8629
dded5540
VS
86302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8633 Mark calling with invalid term as GRUB_ERR_BUG.
8634
0cf69874
VS
86352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8638 packets rather than raising an error.
8639
59bfe502
VS
86402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8643 in if.
8644
db5fc596
VS
86452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8648 diagnostic to dprintf.
8649 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8650
e4b7f404
VS
86512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8654 device name.
8655
e7b02f9e
VS
86562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8659 (grub_ntfs_iterate_dir): Likewise.
8660
0331e102
VS
86612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 Efiemu stylistic fixes and gettext.
8664
8665 * grub-core/efiemu/i386/loadcore32.c
8666 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8667 * grub-core/efiemu/i386/loadcore64.c
8668 (grub_arch_efiemu_relocate_symbols64): Likewise.
8669 * grub-core/efiemu/i386/pc/cfgtables.c
8670 (grub_machine_efiemu_init_tables): Likewise.
8671 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8672 (grub_efiemu_loadcore_initXX): Add a filename argument.
8673 All users updated.
8674 Improved error message.
8675 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8676 Add a filename argument.
8677 All users updated.
8678 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8679 Reclassify double relocation as GRUB_ERR_BUG.
8680
306fc074
VS
86812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8684 handling.
8685
794d8ef2
VS
86862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8689 on partition.
8690
86912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8692
8693 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8694
794d8ef2 86952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8696
8697 Improve string. Gettextize.
8698
78dde88e
VS
86992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8702 utils.
8703 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8704
4786a90f
VS
87052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8708 [GRUB_UTIL]: New function.
8709 (insert_array) [GRUB_UTIL]: Store partmaps.
8710 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8711 partmaps.
8712 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8713 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8714 (probe_abstraction): Print diskfilter and not raid.
8715 Reported by: Lennart Sorensen
8716
0b6225bd
VS
87172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8720 * util/grub-mkimagexx.c (MASK3): New define.
8721 (add_value_to_slot_20b): Use MASK3.
8722 (add_value_to_slot_21): Likewise.
8723 (relocate_addresses): Fix format specification.
8724 (load_image): Explicitly init symtab_section.
8725
b055f8f6
VS
87262012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8729 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8730
b77c2fb7
VS
87312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8734 on powerpc.
8735 Reported by: Lennart Sorensen
8736
e3ec28ab
VS
87372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * gentpl.py: Add missing license header.
8740 * docs/grub.texi: Update copyright year.
8741
c8d9ead6
GS
87422012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8743
8744 Source grub-mkconfig_lib from the build directory at build time.
8745 Suggested by: Vladimir Serbinenko.
8746
8747 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8748 * util/grub-install.in: Define pkgdatadir if not already set, and source
8749 grub-mkconfig_lib from there.
8750 * util/grub-kbdcomp.in: Likewise.
8751 * util/grub-mkconfig.in: Likewise.
8752 * util/grub-mknetdir.in: Likewise.
8753 * util/grub-mkrescue.in: Likewise.
8754 * util/grub-mkstandalone.in: Likewise.
8755 * util/grub-reboot.in: Likewise.
8756 * util/grub-set-default.in: Likewise.
8757 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8758
ebcecdf1
VS
87592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 Increase warning level.
8762
8763 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8764 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8765 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8766 (TARGET_CFLAGS): Likewise.
8767 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8768 * grub-core/Makefile.core.def (decompressor_xz): Add
8769 -Wno-unreachable-code.
8770 (normal): Add -Wno-redundant-decls.
8771 (xzio): Add -Wno-unreachable-code.
8772 (lzopio): Add -Wno-redundant-decls -Wno-error.
8773 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8774 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8775 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8776 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8777 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8778 * grub-core/kern/i386/coreboot/init.c: Add exception to
8779 -Wsuggest-attribute=noreturn.
8780 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8781 * grub-core/kern/ia64/dl_helper.c: Likewise.
8782 * grub-core/kern/mips/dl.c: Likewise.
8783 * grub-core/kern/sparc64/dl.c: Likewise.
8784 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8785 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8786 (memcmp): Likewise.
8787 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8788 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8789 * grub-core/loader/mips/linux.c: Likewise.
8790 * grub-core/loader/multiboot_elfxx.c: Likewise.
8791 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8792 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8793 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8794 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8795 fixme.
8796 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8797 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8798 Fix prototype.
8799
37bb97fe
VS
88002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8803 address.
8804
29a3550b
VS
88052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8808 Avoid improper use of strings.
8809 (grub_cmd_legacy_initrdnounzip): Likewise.
8810
dfdffd0d
VS
88112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8814 attribute.
8815 (grub_util_info): Likewise.
8816 (grub_util_error): Likewise.
8817
102fae4a
VS
88182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8821 * util/grub-fstest.c (fstest): Likewise.
8822
7e94d044
VS
88232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8826 (grub_md_sha512_real): Likewise.
8827 (grub_util_get_geli_uuid): Likewise.
8828 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8829 (grub_util_biosdisk_open): Fix format specification.
8830 Respect format security.
8831 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8832 (xrealloc): Likewise.
8833 (xasprintf): Likewise.
8834
5ebd9769
VS
88352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * util/import_gcry.py: Include grub/crypto.h in init.c.
8838
495fc8c1
VS
88392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8842 (generate_image): Make prefix a const char *.
8843 Fix format specifications. Respect format security.
8844 Avoid void * arithmetics.
8845 Avoid shadowing.
8846 (argp_parser): Remove unused variable. Respect format security.
8847 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8848 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8849 (count_funcs): Remove unused variable.
8850 (relocate_addresses): Fix format specification.
8851 Disable x86-64 with elf32. Remove unused variables.
8852 (add_fixup_entry): Avoid shadowing.
8853 (make_reloc_section): Fix format specification.
8854 Use assert.
8855 (locate_sections): Fix format specifications.
8856 (load_image): Avoid shadowing.
8857
043c2ea3
VS
88582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8861 Fix format specifications. Respect format security.
8862 Don't translate already translated grub_errmsg.
8863 (argp_parser): Remove unused variable
8864
3ec65a81
VS
88652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8868
a4d9fe4a
VS
88692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8872 (main): Likewise. Use xmalloc. Respect format security.
8873
15b81d49
VS
88742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8877 a const char *.
8878 (argp_parser): Remove unused variable.
8879
31731fc0
VS
88802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8883 (add_pixel): Make static.
8884 (add_font): Likewise.
8885 (write_string_section): Make name and str a const char *.
8886 (write_be16_section): Make name a const char *.
8887 (print_glyphs): Make static.
8888 (write_font_ascii_bitmap): Likewise.
8889 (write_font_width_spec): Likewise.
8890 (write_font_pf2): Likewise.
8891 (argp_parser): Remove unused variable.
8892 Respect format security.
8893 (main): Avoid shadowing. Respect format security.
8894
0809527b
VS
88952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * util/grub-editenv.c (argp_parser): Make static.
8898 (create_envblk_file): Use xmalloc.
8899 (open_envblk_file): Likewise.
8900 Resepect format security.
8901 (set_variables): Respect format security.
8902
45b0c8b7
VS
89032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * util/getroot.c (grub_find_device): Respect format security.
8906 (get_mdadm_uuid): Remove unused variable.
8907 (grub_util_pull_device): Dont call gettext on already translated
8908 grub_errmsg.
8909 (find_system_device): Remove unused variable.
8910 (grub_util_get_grub_dev): Likewise.
8911 (grub_make_system_path_relative_to_its_root): Respect format security.
8912
1b024b4e
VS
89132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * util/grub-fstest.c (execute_command): Make first argument
8916 a const char *.
8917 (read_file): Avoid shadowing.
8918 Reuse underlying error message if device open fails.
8919 (cmd_cmp): Respect format security.
8920 (root): Make const char *.
8921 (fstest): Remove args argument and use global copy.
8922 Respect format security.
8923 (argp_parser): Make static.
8924 (main): Make default_root const char *.
8925
5d1d4e28
VS
89262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * util/grub-mount.c (root): Make const char *.
8929 (execute_command): Make first argument a const char *.
8930 (fuse_init): Respect format security.
8931 (argp_parser): Make static. Remove unused variable.
8932 (main): Make default_root a const char *.
8933 Respect format security.
8934
36eb7379
VS
89352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * util/grub-probe.c (probe): Don't call gettext on already translated
8938 grub_errmsg.
8939 Remove unused variables.
8940 (argp_parser): Remove unused variable.
8941
76fb2ea9
VS
89422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * util/grub-script-check.c (argp_parser): Remove unused variable.
8945 (main): Rename read to curread to avoid shadowing.
8946
56c98584
VS
89472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * util/misc.c (grub_util_write_image_at): Fix format specification.
8950 (grub_util_write_image): Likewise.
8951 (grub_script_execute_argument_to_string): Removed (unused).
8952 (grub_script_execute_menuentry): Likewise.
8953 (grub_putchar): Likewise.
8954
164ebb48
VS
89552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8958 (FUNCTION) [GRUB_UTIL]: Likewise.
8959 (VARIABLE) [GRUB_UTIL]: Likewise.
8960
44318d61
VS
89612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8964 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8965
31a26002
VS
89662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8969 buffer.
8970
89712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8974 (LzmaEnc_SaveState): Removed (unused).
8975 (LzmaEnc_RestoreState): Likewise.
8976 (LzmaEnc_InitPriceTables): Made static.
8977 (LzmaEnc_Construct): Likewise.
8978 (LzmaEnc_FreeLits): Likewise.
8979 (LzmaEnc_Destruct): Likewise.
8980 (LzmaEnc_Init): Likewise.
8981 (LzmaEnc_InitPrices): Likewise.
8982 (LzmaEnc_Finish): Likewise.
8983 (LzmaEnc_PrepareForLzma2): Removed (unused).
8984 (LzmaEnc_MemPrepare): Likewise.
8985 (LzmaEnc_GetNumAvailableBytes): Likewise.
8986 (LzmaEnc_GetCurBuf): Likewise.
8987 (LzmaEnc_CodeOneMemBlock): Likewise.
8988
6fa67967
VS
89892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8992 (grub_util_ldm_embed): Likewise.
8993
9a7428e6
VS
89942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * util/grub-editenv.c (print_var): Rename name to varname to
8997 avoid shadowing.
8998 (main): Rename index to curindex to avoid shadowing.
31a26002 8999 Make filename a const char *.
9a7428e6 9000
4f96abd1
VS
90012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9004 to arg_getline to avoid shadowing.
9005
44d10dad
VS
90062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9009 disk_ to avoid shadowing.
9010
340ba63e
VS
90112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9014 curindex to avoid shadowing.
9015 Make static.
9016 (MatchFinder_GetNumAvailableBytes): Make static.
9017
22965bce
VS
90182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9021 avoid shadowing.
9022
7b5784d4
VS
90232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9026 argument from encrypt to do_encrypt to avoid shadowing.
9027
6f48ca01
VS
90282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9031 incorrect nesting of #if's.
9032
a4ea2dff
VS
90332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9036 checks which are always false on some platforms.
9037 (grub_cmd_lsacpi): Likewise.
9038 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9039 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9040 Likewise.
9041
def9fc1b
VS
90422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9045 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9046
a67b2a04
VS
90472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9050 re_dfa_t to avoid breaking alignment invariants.
9051 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9052 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9053
44c6828d
VS
90542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9057 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9058
bebe0dd0
VS
90592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9062 Fix declaration.
9063
a9cdb3cf
VS
90642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9067 conserve alignment invariants.
9068 (grub_ehci_ehcc_read16): Likewise.
9069 (grub_ehci_oper_read32): Likewise.
9070 (grub_ehci_oper_write32): Likewise.
9071 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9072 Conserve alignment invariants.
9073
ccc3b1b8
VS
90742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9077 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9078 declarations.
9079
987fbd95
VS
90802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9083 Remove unused variable.
9084
0df363f3
VS
90852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9088 Remove set in if.
9089
b2c0c4a6
VS
90902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * include/grub/net.h: Remove double declarations.
9093
690c531f
VS
90942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 Remove "payload" command in ia64 Linux loader since I couldn't
9097 find any evidence of it being used for anything.
9098 Replace "relocate" command with an environment variable
9099
9100 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9101 fields.
9102 (ia64_boot_payload): Removed.
9103 (last_payload): Likewise.
9104 (RELOCATE_OFF): Likewise.
9105 (RELOCATE_ON): Likewise.
9106 (RELOCATE_FORCE): Likewise.
9107 (relocate): Likewise.
9108 (free_pages): Don't free payloads.
9109 (grub_load_elf64): Use common error messages.
9110 Use "linux_relocate" variable.
9111 Increase the space after boot_params.
9112 (grub_cmd_payload): Removed.
9113 (grub_cmd_relocate): Likewise.
9114 (grub_cmd_fpswa): Improve messages.
9115 (cmd_payload): Removed.
9116 (cmd_relocate): Likewise.
9117 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9118 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9119
01783768
VS
91202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 Convert UHCI to DMA framework.
9123
9124 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9125 (grub_uhci_pci_iter): Fill new members
9126 (grub_alloc_td): Use P2V and V2P functions.
9127 (grub_free_queue): Likewise.
9128 (grub_alloc_qh): Likewise.
9129 (grub_uhci_setup_transfer): Likewise.
9130 (grub_uhci_check_transfer): Likewise.
9131
43206939
VS
91322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9135 Remove assignment in if while on it.
9136
571e140e
VS
91372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * util/grub-mkstandalone.in: Fix modules directory.
9140
a9d96eeb
VS
91412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9144 on i386-pc target.
9145 (argp_parser): Accept "auto" as compression specification.
9146
e4e37e8d
VS
91472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 Fix `help' with unloaded modules.
9150
9151 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9152 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9153 (grub_dyncmd_dispatcher): Small stylistic fix.
9154 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9155 explicit help is requested.
9156
e1ea3ade
VS
91572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9160 Explicitly init restart while on it.
9161
27556881
VS
91622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9165 uninited variable.
9166
d65f6b36
VS
91672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * util/grub-mknetdir.in: Use . rather than source for POSIX
9170 compatibility.
9171
0a1e473c
VS
91722012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9175
ce6647c8
VS
91762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9179 variable.
9180
66747894
VS
91812012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9184 without quotes.
9185
71645f6e
VS
91862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9189
0e1c1f61
VS
91902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9193 iteration of partitions.
9194
9c4b5c13
VS
91952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 Improve gettext support. Stylistic fixes and error handling fixes while
9198 on it.
9199
215c90cb
VS
92002012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9203 part. Instead setup the correct stack in RM.
9204 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9205 for stack.
9206 * include/grub/i386/relocator_private.h: New file.
9207
b5c1f9bf
VS
92082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9211 argument.
9212 * util/grub-fstest.c (options): Add missing DEVICE part.
9213
b525fd83
VS
92142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 Clarify and unify messages.
9217
9218 * grub-core/commands/hashsum.c (options): Unify messages.
9219 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9220 literal-only message as translatable.
9221 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9222 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9223 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9224 commands.
9225 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9226 key, not the key used to unlock. Clarify what it's used for.
9227 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9228 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9229 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9230 * util/grub-editenv.c (options): Unify "verbose" message.
9231 * util/grub-fstest.c (read_file): Unify error message.
9232 (fstest): Add quotes around commands.
9233 (options): Unify "verbose" message.
9234 * util/grub-install.in: Add quotes around variable name.
9235 * util/grub-kbdcomp.in: Unify error message.
9236 * util/grub-mkfont.c (main): Likewise.
9237 * util/grub-mkrescue.in: Likewise.
9238 * util/grub-mklayout.c (options): Unify "verbose" message.
9239 * util/grub-mkstandalone.in: Unify help and verbose messages.
9240 * util/grub-mount.c (options): Unify "verbose" message.
9241 * util/grub-probe.c (options): Likewise.
9242 * util/grub-script-check.c (options): Likewise.
9243 * util/grub-setup.c (setup): Unify no-terminator message.
9244 (options): Use DEVICE and not DEV.
9245 Unify "verbose" message.
9246 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9247
0ae70393
VS
92482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 Improve and unify messages.
9251
9252 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9253 name. All users updated.
9254 Print filename in error.
9255 (read_device_map): Print filename in error.
9256 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9257 (grub_util_get_os_disk): Likewise.
9258 (grub_util_biosdisk_get_grub_dev): Likewise.
9259 (grub_util_check_block_device): Likewise.
9260 (grub_util_check_char_device): Likewise.
9261 (grub_make_system_path_relative_to_its_root): Likewise.
9262 * util/grub-editenv.c (create_envblk_file): Likewise.
9263 (open_envblk_file): Likewise.
9264 (write_envblk): Likewise.
9265 * util/grub-fstest.c (cmd_cp): Likewise.
9266 (cmd_cat): Likewise.
9267 (cmd_cmp): Likewise.
9268 * util/grub-menulst2cfg.c (main): Likewise.
9269 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9270 (write_font_width_spec): Likewise.
9271 (write_font_pf2): Likewise.
9272 * util/grub-mkimage.c (generate_image): New argument outname.
9273 All users updated.
9274 Remove unreacheable message.
9275 (options): Unify messages.
9276 (help_filter): Likewise.
9277 * util/grub-mklayout.c (usage): Removed (unused).
9278 (main): Print filename in error.
9279 * util/grub-mkrescue.in: Fix wrong quoting.
9280 * util/grub-setup.c (setup): Print filename in error.
9281 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9282 (check_sas): Likewise.
9283 * util/misc.c (grub_util_get_fp_size): Removed.
9284 (grub_util_get_image_size): Print filename in error.
9285 (grub_util_read_at): Removed.
9286 (grub_util_read_image): Print filename in error.
9287 (grub_util_load_image): Likewise.
9288 (grub_util_write_image_at): New argument filename. All users updated.
9289 Print filename in error.
9290 (grub_util_write_image): New argument filename. All users updated.
9291 Print filename in error.
9292 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9293 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9294
0a96117d
VS
92952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/Makefile.core.def (pxechain): New module.
9298 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9299 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9300 function.
9301 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9302 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9303
aca002f7
VS
93042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9307 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9308 * include/grub/err.h (grub_error_saved): New struct.
9309 (grub_errmsg): Make array size explicit.
9310 * include/grub/misc.h (grub_error_save): New function.
9311 (grub_error_load): Likewise.
9312 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9313 (grub_error_push): Update `errno' member name.
9314 (grub_error_pop): Likewise
9315 * grub-core/net/tftp.c (tftp_data): New member save_err.
9316 (tftp_receive): Save error.
9317 (tftp_open): Restore error.
9318
a51dab13
VS
93192012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9322 to real mode down to execute A20-related code in protected mode as
9323 intended.
9324
eb6e6649
GS
93252012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9326
9327 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9328 NULL when the argument `level' has an unexpected value.
9329
92cd0f6e
VS
93302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 Move platform-dependent files from $prefix to $prefix/$platform.
9333
9334 * config.h.in (GRUB_TARGET_CPU): New definition.
9335 (GRUB_PLATFORM): Likewise.
9336 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9337 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9338 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9339 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9340 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9341 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9342 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9343 * grub-core/normal/term.c (read_terminal_list): Likewise.
9344 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9345 $prefix/locale.
9346 (grub_gettext_init_ext): Likewise.
9347 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9348 grub_platform.
9349 * util/grub-install.in: Update directories.
9350 * util/grub-mknetdir.in: Likewise.
9351 * util/grub-mkrescue.in: Likewise.
9352
db606889
VS
93532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9356 grub_error framework. All users updated.
9357
c39992a4
VS
93582012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9361 lists (by always binsearching), improve caching (cache strings
9362 used for binsearch, not only results), improve
9363 maintainability (by using more structured binary search) and correct
9364 error handling.
9365
1e5ec32f
VS
93662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/script/execute.c (grub_script_return): Fix warning.
9369
ac576cde
VS
93702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/script/execute.c (grub_script_return): Fix potential
9373 NULL-dereference.
9374 Reported by: Jim Meyering.
9375
498453f6
VS
93762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * po/POTFILES.in: Regenerate.
9379 * util/grub-install.in: Gettextize the strings missed in first pass.
9380
8be63f2e
VS
93812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * Makefile.util.def (grub-mkdevicemap): Removed.
9384 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9385 * include/grub/util/deviceiter.h: Removed.
9386 * util/deviceiter.c: Likewise.
9387 * util/getroot.c (grub_util_get_os_disk): New function.
9388 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9389 replacement for EFI.
9390 * util/grub-mkdevicemap.c: Removed.
9391 * util/grub-probe.c (probe): Handle PRINT_DISK.
9392 (argp_parser): Handle -t disk.
9393
8e1e4e39
VS
93942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * util/grub-mkfont.c: Migrate to argp.
9397 * util/grub-mklayout.c: Likewise.
9398 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9399 * util/grub-mkrelpath.c: Likewise.
9400 * util/grub-probe.c: Likewise.
9401 * util/grub-script-check.c: Likewise.
9402
4459819a
VS
94032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 * util/grub-reboot.in: Add missing datarootdir.
9406 Add missing newline.
9407 * util/grub-set-default.in: Add missing datarootdir.
9408 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9409 * util/grub-mkrescue.in: Likewise.
9410
f65741c7
VS
94112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9414
c1a33466
VS
94152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * util/grub-kbdcomp.in: Add decent help and gettextize.
9418 * docs/man/grub-kbdcomp.h2m: New file.
9419
c76899a0
VS
94202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 Migrate grub-mkimage.c to argp.
9423
9424 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9425 (grub-setup): Likewise.
9426 * util/grub-setup.c (print_version): Move to ...
9427 * util/argp_common.c (print_version): ... here.
9428 * util/grub-setup.c (argp_program_version_hook): Move to ...
9429 * util/argp_common.c (argp_program_version_hook): ... here.
9430 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9431 safety.
9432 * util/grub-mkimage.c (main): Migrate to argp.
9433
57db0757
VS
94342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * util/grub-mkrescue.in: Use same message as
9437 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9438 for better translations.
9439
18534ad9
VS
94402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9443 options with generic grub-mkrescue.in with the goal of future
9444 merge.
9445
c84ba308
VS
94462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/kern/mm.c: Add missing include of i18n.h
9449 * grub-core/lib/relocator.c: Likewise.
9450
347998c2
VS
94512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9454 error.
9455 (allocate_pages): Check return value.
9456 Replace fatal with error.
9457 (grub_linux_boot): Replace printf with dprintf.
9458 Check find_mmap_size return value.
9459 Replace fatal with error.
9460 Don't call grub_machine_fini.
9461 (grub_load_elf64): Replace printf with dprintf.
9462 (grub_cmd_linux): Likewise.
9463 (grub_cmd_initrd): Likewise.
9464 (grub_cmd_payload): Likewise.
9465
c779226e
VS
94662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9469 message.
9470 * grub-core/video/radeon_fuloong2e.c
9471 (grub_video_radeon_fuloong2e_setup): Likewise.
9472 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9473 * grub-core/video/video.c (grub_video_set_mode): Don't override
9474 standard out of memory message.
9475
dc87d45a
GS
94762012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9477
9478 NetBSD disk wedge support.
9479
9480 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9481 [__NetBSD__]: Handle NetBSD disk wedges.
9482 * util/getroot.c (convert_system_partition_to_system_disk)
9483 [__NetBSD__]: Likewise.
9484
055f856f
MW
94852012-02-03 Mark Wooding <mdw@distorted.org.uk>
9486
9487 * util/grub-mkconfig.in: Use umask rather than chmod to create
9488 grub.cfg.new to avoid insecure grub.cfg.
9489
4a9f8346
VS
94902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/commands/ls.c: Gettextize.
9493 * grub-core/commands/setpci.c: Likewise.
9494 * grub-core/commands/videotest.c: Likewise.
9495 * grub-core/disk/geli.c: Likewise.
9496 * grub-core/kern/mm.c: Likewise.
9497 * grub-core/lib/relocator.c: Likewise.
9498 * grub-core/loader/efi/appleloader.c: Likewise.
9499 * grub-core/loader/i386/xnu.c: Likewise.
9500 * grub-core/loader/ia64/efi/linux.c: Likewise.
9501 * grub-core/loader/xnu.c: Likewise.
9502 * grub-core/net/dns.c: Likewise.
9503 * grub-core/net/net.c: Likewise.
9504 * grub-core/script/lexer.c: Likewise.
9505 * grub-core/script/parser.y: Likewise.
9506 * grub-core/script/yylex.l: Likewise.
9507 * util/getroot.c: Likewise.
9508 * util/grub-setup.c: Likewise.
9509
a646a366
VS
95102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9513 number.
9514
54e2be26
VS
95152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9518
f7c71e68
VS
95192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9522 macro.
9523 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9524 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9525
a32d5c71
VS
95262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9529 * util/grub-install.in: Gettextize.
9530 * util/grub-mkconfig.in: Likewise.
9531 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9532 if not available.
9533 (grub_warn): Gettextize.
9534 * util/grub-mknetdir.in: Gettextize.
9535 * util/grub-mkrescue.in: Likewise.
9536 * util/grub-mkstandalone.in: Likewise.
9537 * util/grub-reboot.in: Likewise.
9538 * util/grub-set-default.in: Likewise.
9539 * util/grub.d/00_header.in: Likewise.
9540 * util/grub.d/10_hurd.in: Likewise.
9541 * util/grub.d/10_kfreebsd.in: Likewise.
9542 * util/grub.d/10_linux.in: Likewise.
9543 * util/grub.d/10_netbsd.in: Likewise.
9544 * util/grub.d/10_windows.in: Likewise.
9545 * util/grub.d/20_linux_xen.in: Likewise.
9546 * util/grub.d/30_os-prober.in: Likewise.
9547 * po/POTFILES-shell.in: Regenerate.
9548
69edd81a
RL
95492012-02-03 Richard Laager <rlaager@wiktel.com>
9550
9551 * util/grub-mkimage.c (main): Fix format-security warning.
9552 * util/grub-mkrelpath.c (main): Likewise.
9553 * util/grub-probe.c (main): Likewise.
9554
65f08dbf
RL
95552012-02-03 Richard Laager <rlaager@wiktel.com>
9556
9557 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9558 failure.
9559 Put back lost PRINT_DRIVE.
9560
e9084abe
RL
95612012-02-03 Richard Laager <rlaager@wiktel.com>
9562
9563 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9564 (grub_guess_root_devices): Replace strlen with sizeof.
9565 Avoid crash.
9566 (find_root_devices_from_poolname): Remove unused variable.
9567 Handle raidzN.
9568
cf5f7ee7
VS
95692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 Support install on multi-device filesystems.
9572
9573 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9574 (grub_guess_root_devices): ...this. Return char **. All users updated.
9575 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9576 Removed.
9577 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9578 (find_root_devices_from_poolname): ... here.
9579 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9580 Support zfs-fuse.
9581 (grub_guess_root_device): Rename to ...
9582 (grub_guess_root_devices): ... this. Return char **. All users updated.
9583 * util/grub-install.in: Handle multi-device filesystems.
9584 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9585 argument. All users updated.
9586 Handle multi-device filesystems.
9587 Use 'delim' as separator.
9588 Remove device check to allow filesystems on file.
9589 (main): Support -0 argument. Handle multi-device.
9590 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9591 Fix a cross-device check while on it.
9592 (arguments): Remove root_dev.
9593 (argp_parser): Remove -r.
9594 (main): Remove root_dev.
9595
2f53a9ed
VS
95962012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9599
17e1d934
VS
96002012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9603 symbol.
9604 Reported by: NODA, Kai <nodakai>.
9605
d3e3fab5
VS
96062012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 Fix ehci on amd64.
9609
9610 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9611 pointers.
9612 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9613 (grub_ehci_setup_qh): Likewise.
9614 (grub_ehci_find_qh): Likewise.
9615 (grub_ehci_transaction): Likewise.
9616 (grub_ehci_setup_transfer): Likewise.
9617 (grub_ehci_check_transfer): Likewise.
9618 (grub_ehci_portstatus): Likewise.
9619 (grub_ehci_detect_dev): Likewise.
9620 (grub_ehci_transfer_controller_data): New field td_last_phys.
9621 (grub_ehci_setup_transfer): Fill td_last_phys.
9622 (grub_ehci_check_transfer): Use td_last_phys.
9623
3008675b
SG
96242012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9625
9626 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9627 if no submenu is present.
9628
fc9b5652
AN
96292012-02-01 Aleš Nesrsta <starous@volny.cz>
9630
9631 CBI support.
9632
9633 * include/grub/usb.h (grub_usbms_protocol_t): New values
9634 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9635 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9636 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9637 (grub_usbms_dev): Add subclass, protocol and intrpt.
9638 Remove in_maxsz and out_maxsz.
9639 (grub_usbms_reset): Rename to ...
9640 (grub_usbms_bo_reset): .. this.
9641 (grub_usbms_cbi_cmd): New function.
9642 (grub_usbms_cbi_reset): Likewise.
9643 (grub_usbms_reset): Likewise.
9644 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9645 (grub_usbms_transfer): Rename to ...
9646 (grub_usbms_transfer_bo): ... this.
9647 (grub_usbms_transfer_cbi): Likewise.
9648 (grub_usbms_transfer): Likewise.
9649
a2b81d53
AN
96502012-02-01 Aleš Nesrsta <starous@volny.cz>
96512012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9654 the support for the CS5536 modification thereos and few bugfixes.
9655
9656 * grub-core/Makefile.core.def (ehci): New module.
9657 * grub-core/bus/usb/ehci.c: New file.
9658 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9659 port and hubaddr. All users updated.
9660 Save port and hubaddr into dev structure.
9661 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9662 define.
9663 * include/grub/pci.h (grub_dma_phys2virt): New function.
9664 (grub_dma_virt2phys): Likewise.
9665 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9666
b1d51f02
VS
96672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9670 check as some mkfs implementations omit it.
9671
fc694106
VS
96722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9675
6c0920e3
VS
96762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9679 Add new member volname2.
9680 (grub_jfs_label): Use volname2 if available.
9681
d1a46f9a
VS
96822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9685 over last_mounted as seen in image generated by mkfs.nilfs2.
9686 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9687
dec8ed14
VS
96882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9691 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9692 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9693
7397c69b
VS
96942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9697 over the sector.
9698
b3fe42ad
VS
96992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9702 subvolume name (by removing a bogus and useless check).
9703
10476bb0
VS
97042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9707 sizeof while on it.
9708
9c08ad87
VS
97092012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9712 (grub_scsi_read_capacity10): ... this.
9713 (grub_scsi_read_capacity16): New function.
9714 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9715 0xffffffff.
9716 Fix off-by-one error.
9717 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9718 64-bit unsigned.
9719 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9720 (grub_scsi_read_capacity10): ... this.
9721 (grub_scsi_read_capacity_data): Rename to ...
9722 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9723 (grub_scsi_read_capacity16): New struct.
9724 (grub_scsi_read_capacity16_data): Likewise.
9725 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9726 grub_scsi_cmd_read_capacity10.
9727 New command grub_scsi_cmd_read_capacity16.
9728
bc8d0f45
VS
97292012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 SCSI >2TiB support.
9732
9733 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9734 (grub_scsi_write16): Likewise.
9735 (grub_scsi_read): Use read16 when necessary.
9736 (grub_scsi_write): Likewise.
9737 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9738 (grub_scsi_write16): Likewise.
9739 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9740
cc774926
VS
97412012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 SCSI write support (for usbms mainly).
9744
9745 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9746 a const pointer.
9747 (grub_scsi_write): Implement.
9748 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9749
67639fd7
VS
97502012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9753 variable.
9754
9079d3ed
VS
97552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9758
c6a6f204
VS
97592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * po/POTFILES.in: Regenerate.
9762
ecbf8cd1
VS
97632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9766 with grub_printf to avoid unnecessary fatal failure.
9767
0b3b3b38
VS
97682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9771 (INT_MAX): Likewise.
9772 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9773 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9774 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9775 (strcpy): Likewise.
9776 (strstr): Likewise.
9777 (strchr): Likewise.
9778 (strncpy): Likewise.
9779 (strcat): Likewise.
9780 (strncat): Likewise.
9781 (strcoll): Likewise.
9782 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9783 (GRUB_INT_MAX): Likewise.
9784
db7337a3
VS
97852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9788 unexpected error.
9789 (optimize_utf8): Likewise.
9790 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9791
f37c87e1
VS
97922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/boot/i386/pc/lnxboot.S: Use
9795 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9796 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9797 location.
9798 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9799 definition.
9800 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9801
63fe43f3
VS
98022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9805 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9806 now to avoid double free.
9807 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9808 hostdisk.
9809 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9810 * util/grub-probe.c (escape_of_path): Always return a new copy.
9811 (print_full_name): Escape path.
9812 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9813 Fix hints on abstractions.
9814
ebe2c961
VS
98152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9818 Don't add "root" line if no compatibility hont is available.
9819 Suggested by: Seth Goldberg.
9820
2b5336a2
VS
98212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9824 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9825 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9826 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9827
74310bd8
VS
98282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9831
c30582ba
VS
98322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * util/grub-pe2elf.c (ehdr): Make static.
9835 (shdr): Likewise.
9836 (num_sections): Likewise.
9837 (offset): Likewise.
9838
5f47782c
VS
98392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 Eliminate ofpath limits and possible overflows.
9842
9843 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9844 (OF_PATH_MAX): Removed.
9845 (MAX_DISK_CAT): New const.
9846 (find_obppath): Use allocated rather than preallocated buffer.
9847 Return result. Argument of_path removed. All users updated.
9848 Add missing fdstat.
9849 (xrealpath): New function.
9850 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9851 Allocate rather than use preallocated buffer. All users updated.
9852 (__of_path_common): Use allocated rather than preallocatecd buffer.
9853 Return result. Argument of_path removed. All users updated.
9854 (vendor_is_ATA): Read only needed part form the file.
9855 (check_sas): Allocate depending on contents rather than fixed.
9856 (main) [STANDALONE]: Handle NULL result.
9857
f990cbf9
VS
98582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9861
9c6e84b8
VS
98622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 Cryptodisk write support.
9865
9866 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9867 (grub_cryptodisk_decrypt): Moved logic to ...
9868 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9869 (grub_cryptodisk_write): Implement.
9870 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9871 (grub_util_fd_write): ... this. Make global.
9872 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9873
87cf9744
VS
98742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * include/grub/list.h (grub_list_remove): Don't crash if element is
9877 removed twice.
9878
ca8c0baf
VS
98792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 Rename ofconsole to console.
9882
9883 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9884 as sysnonym to console.
9885 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9886 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9887 Rename grub_ofconsole_ to grub_console_. All users updated
9888 (grub_console_term_output): Rename "ofconsole" to "console".
9889 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9890 as "console".
9891
64c8b8f6
VS
98922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9895 handling.
9896 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9897 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9898 GRUB_DISK_DEVICE_FILE_ID.
9899
f6c434d5
VS
99002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9903 and improve performance.
9904
5858b42d
VS
99052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9908 missing ieee1275/ prefix on whole disk.
9909
4ed3c26b
VS
99102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9913 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9914
df71143e
VS
99152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9918
076e7c0f
VS
99192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 Merge common RAID and LVM logic to an abstract diskfilter.
9922 Add LDM support using the same framework.
9923
9924 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9925 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9926 (libgrubmods): Remove grub-core/disk/raid.c and
9927 grub-core/partmap/gpt.c.
9928 * grub-core/Makefile.core.def (ldm): New module.
9929 (raid): Renamed to diskfilter. All users updated.
9930 * grub-core/disk/raid.c: Moved to ...
9931 * grub-core/disk/diskfilter.c: ... here.
9932 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9933 (lv_num): New var.
9934 (find_array): Renamed to ...
9935 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9936 (grub_is_array_readable): Renamed to ...
9937 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9938 (insert_array): New argument id.
9939 (is_node_readable): New function.
9940 (scan_device): Rename to ...
9941 (scan_disk): .. this. Restrict to one disk.
9942 (scan_devices): New function.
9943 (grub_diskfilter_iterate): Support multi-LV.
9944 Skip invisible and nameless LVs.
9945 (grub_diskfilter_memberlist): Support multi-LV.
9946 (grub_diskfilter_read_node): New function.
9947 (grub_raid_read): Most of logic moved to ...
9948 (read_segment): ... here
9949 (read_lv): New function.
9950 (grub_diskfilter_get_vg_by_uuid): New function.
9951 (grub_diskfilter_make_raid): Likewise.
9952 * grub-core/disk/ldm.c: New file.
9953 * grub-core/disk/lvm.c (vg_list): Removed.
9954 (lv_count): Likewise.
9955 (scan_depth): Likewise.
9956 (is_lv_readable): Likewise.
9957 (grub_lvm_getvalue): Advance pointer past the number.
9958 (find_lv): Removed.
9959 (do_lvm_scan): Refactored into ...
9960 (grub_lvm_detect): ... this. Support raid.
9961 (grub_lvm_iterate): Removed.
9962 (grub_lvm_memberlist): Likewise.
9963 (grub_lvm_open): Likewise.
9964 (grub_lvm_close): Likewise.
9965 (read_lv): Likewise.
9966 (read_node): Likewise.
9967 (is_node_readable): Likewise.
9968 (is_lv_readable): Likewise.
9969 (grub_lvm_read): Likewise.
9970 (grub_lvm_write): Likewise.
9971 (grub_lvm_dev): Use diskfilter
9972 (GRUB_MOD_INIT): Likewise.
9973 (GRUB_MOD_FINI): Likewise.
9974 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9975 new interface.
9976 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9977 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9978 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9979 grub_diskfilter_read_node.
9980 Fix a bug with xor.
9981 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9982 grub_diskfilter_read_node.
9983 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9984 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9985 (grub_disk_dev_iterate): Move from here...
9986 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9987 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9988 Make global.
9989 (grub_hostdisk_find_partition_start): Likewise.
9990 (grub_hostdisk_os_dev_to_grub_drive): New function.
9991 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9992 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9993 * util/getroot.c (make_device_name): ... here.
9994 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9995 Move to ...
9996 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9997 * grub-core/kern/emu/hostdisk.c
9998 (convert_system_partition_to_system_disk): Move to ...
9999 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10000 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10001 * util/getroot.c (device_is_wholedisk): ... here.
10002 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10003 * util/getroot.c (find_system_device): ... here.
10004 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10005 Move to ...
10006 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10007 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10008 Move to ...
10009 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10010 Handle LDM.
10011 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10012 Move to ...
10013 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10014 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10015 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10016 DISKFILTER.
10017 * include/grub/raid.h: Renamed to ...
10018 * include/grub/diskfilter.h: ... this.
10019 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10020 (GRUB_RAID_LAYOUT_*): Make into array.
10021 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10022 (grub_diskfilter_vg): New struct.
10023 (grub_diskfilter_pv_id): Likewise.
10024 (grub_raid_member): Removed.
10025 (grub_raid_array): Likewise.
10026 (grub_diskfilter_pv): New struct.
10027 (grub_diskfilter_lv): Likewise.
10028 (grub_diskfilter_segment): Likewise.
10029 (grub_diskfilter_node): Likewise.
10030 (grub_diskfilter_get_vg_by_uuid): New proto.
10031 (grub_raid_register): Inline.
10032 (grub_diskfilter_unregister): Likewise.
10033 (grub_diskfilter_make_raid): New proto.
10034 (grub_diskfilter_vg_register): Likewise.
10035 (grub_diskfilter_read_node): Likewise.
10036 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10037 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10038 (grub_util_is_ldm): Likewise.
10039 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10040 (grub_hostdisk_find_partition_start): Likewise.
10041 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10042 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10043 New definition.
10044 (grub_gpt_partition_map_iterate): New proto.
10045 * include/grub/lvm.h (grub_lvm_vg): Removed.
10046 (grub_lvm_pv): Likewise.
10047 (grub_lvm_lv): Likewise.
10048 (grub_lvm_segment): Likewise.
10049 (grub_lvm_node): Likewise.
10050 * util/getroot.c [...]
10051 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10052 (probe_abstraction): Likewise.
10053 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10054 (main): Remove dead logic.
10055
8a7f9b9c
VS
100562012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 Simplify root device discover and don't fail when trying to open
10059 incorrect devices.
10060
10061 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10062 function.
10063 (get_diskname_from_path): Likewise.
10064 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10065 of iterating.
10066
30545b85
VS
100672012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10070
28ea58cf
VS
100712012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10074 pastthe end.
10075
692dabca
VS
100762012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * util/grub-install.in: Add missing \.
10079 Reported by: gentoofan
10080
f6e4ea70
VS
100812012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10084 (direct_read): Use correct compressed size.
10085 (grub_squash_read_data): Likewise.
10086
100872012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10088
10089 * docs/grub.texi (Platform limitations): New section.
10090 (Platform-specific operations): Likewise.
10091 * docs/grub-dev.texi (Porting): Likewise.
10092
76261110
VS
100932012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 IEEE1275 disk write support.
10096
10097 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10098 const void *.
10099 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10100 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10101 and seek loginc to ...
10102 (grub_ofdisk_prepare): ... here.
10103 (grub_ofdisk_write): Implement.
10104
fc36d603
VS
101052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 ARC disk write support.
10108
10109 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10110 (reopen): New argument writable. All users updated.
10111 Handle required access mode.
10112 (grub_arcdisk_write): Implement.
10113 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10114 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10115
e06c2e7a
VS
101162012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10119 (read_sblock): Don't attempt to read superblocks outside the disk size.
10120
ff447958
VS
101212012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10124 first superblock to find the second one when possible.
10125
9e88df39
VS
101262012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * util/grub-install.in: Fix an ARC bug.
10129 Print a warning if no platform-specific setup is available.
10130
bb26e4ff
VS
101312012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Use static allocation rather than scratch pointer in reed_solomon.
10134 It decreases its size significantly and avoids a variable in .text.
10135
10136 * grub-core/lib/reed_solomon.c (scratch): Removed.
10137 (chosenstat): New const or static array.
10138 (sigma): Likewise.
10139 (errpot): Likewise.
10140 (errpos): Likewise.
10141 (sy): Likewise.
10142 (mstat): Likewise.
10143 (errvals): Likewise.
10144 (eqstat): Likewise.
10145 (pol_evaluate): Replace x with log_x argument. All users updated.
10146 (syndroms): Removed.
10147 (gauss_solve): Use statically allocated arrays.
10148 (rs_recover): Likewise.
10149 Calculate syndroms directly.
10150 (decode_block): Use statically allocated arrays.
10151 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10152 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10153
2e13ede5
VS
101542012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 Eliminate fixed limit on reed solomon decoder length.
10157
10158 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10159 rather than hardcoding the address.
10160 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10161 no_reed_solomon_length.
10162 Move gate_a20 to no-reed-solomon part.
10163 Don't force a particular size of no reed-solomon part.
10164 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10165 Removed.
10166 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10167 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10168
f8a9ab12
VS
101692012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * grub-core/commands/wildcard.c (match_files): Handle filenames
10172 without explicit device.
10173 (wildcard_expand): Don't add explicit device if not already present.
10174 * tests/grub_script_echo1.in: Add a new expansion test.
10175
87edb894
VS
101762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 Replace single-linked with double-linked lists. It results in more
10179 compact and more efficient code.
10180
10181 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10182 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10183 (grub_list_remove): Moved from here ...
10184 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10185 (grub_prio_list_insert): Set prev.
10186 * include/grub/list.h (grub_list): Add prev. All users updated.
10187
48b391e9
VS
101882012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Handle newer autotools. Add some missing quotes while on it.
10191
10192 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10193 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10194 (pkgdata_DATA): ... here.
10195 * Makefile.util.def (update-grub_lib): Removed.
10196 * conf/Makefile.common (pkglib_DATA): Removed.
10197 (pkglib_SCRIPTS): Likewise.
10198 (pkgdata_DATA): New variable.
10199 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10200 needed.
10201 Add missing quotes.
10202 Remove unused variable while on it.
10203 * tests/util/grub-shell.in: Likewise.
10204 * util/grub-install.in: Likewise.
10205 * util/grub-mkconfig.in: Likewise.
10206 * util/grub-mknetdir.in: Likewise.
10207 * util/grub-mkrescue.in: Likewise.
10208 * util/grub-mkstandalone.in: Likewise.
10209 * util/grub.d/00_header.in: Likewise.
10210 * util/grub.d/10_hurd.in: Likewise.
10211 * util/grub.d/10_illumos.in: Likewise.
10212 * util/grub.d/10_kfreebsd.in: Likewise.
10213 * util/grub.d/10_linux.in: Likewise.
10214 * util/grub.d/10_netbsd.in: Likewise.
10215 * util/grub.d/10_windows.in: Likewise.
10216 * util/grub.d/20_linux_xen.in: Likewise.
10217 * util/grub.d/30_os-prober.in: Likewise.
10218 * util/update-grub_lib.in: Removed.
10219
102202012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10221
10222 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10223 a workaround for intel problem.
10224
66832792
PRP
102252012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
102262012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
102272012-01-23 pfsmorigo
10228
10229 * util/grub-install.in: Support dd'in into PreP partition.
10230 * util/grub-probe.c (probe): Support discovering partition type.
10231 (main): Support -t msdos_parttype.
10232
7816a17e
VS
102332012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10236 infinite recursion using counter.
10237 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10238 init to skip it if the magic check fails.
10239 (dec_stream_header): Init s->crc32.
10240
8f9d3a8c
ZB
102412012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
102422012-01-22 Zachary Bedell <pendorbound@gmail.com>
102432012-01-22 Richard Laager <rlaager@wiktel.com>
10244
10245 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10246 All users updated.
10247 (find_bestub): Determine correct size.
10248 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10249 (scan_disk): Align the size down.
10250 Call check pool before find_bestub to have ashift.
10251
b055dd32
VS
102522012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10255 dprintf in no-malloc zone.
10256
d779e9bd
ML
102572012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10258
10259 * configure.ac: Add back in test for limits.h.
10260
b508af69
VS
102612012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 Support 4K-sector NTFS.
10264
10265 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10266 (grub_ntfs_data): Remove blocksize.
10267 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10268 Remove data argument. All users updated.
10269
dad9c8b5
VS
102702012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10273 being in .text to avoid dprel references.
10274 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10275 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10276 (grub_arch_highmemsize): Likewise.
10277 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10278 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10279 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10280
d43a777e
VS
102812012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10284
10285 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10286 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10287
34e4208f
VS
102882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10291 GRUB_UTIL.
10292 (grub_set_datetime_cmos): Likewise.
10293
3ec0fc1c
VS
102942012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 Make XZ compression parameters dependent on target and not host CPU.
10297
10298 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10299 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10300
22489834
VS
103012012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10304 set but not used variable.
10305
8502fbca
VS
103062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10309 created when no uuid support is compiled into mkfs.reiser.
10310
76df2068
VS
103112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10314 (utf8_to_macroman): Do the opposite.
10315 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10316
64e3f8f6
VS
103172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * configure.ac: Refise build qemu_mips w/o unifont.
10320
9c271078
VS
103212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 Eliminate grub_min/grub_max prone to overflow usage.
10324
10325 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10326 (poll_nonroot_hub): Likewise.
10327 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10328 (grub_affs_label): Likewise.
10329 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10330 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10331 (grub_hfs_label): Likewise.
10332 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10333 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10334 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10335 (zap_leaf_array_get): Likewise.
10336 (dnode_get_path): Likewise.
10337 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10338 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10339 * grub-core/script/execute.c (grub_script_break): Likewise.
10340 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10341 grub_max.
10342 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10343 * include/grub/misc.h (grub_min): Removed.
10344 (grub_max): Likewise.
10345
80662dbc
VS
103462012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10347
10348 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10349 direct.inode = 0.
10350
e6da1467
VS
103512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10354
b1ac4cb1
VS
103552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10358
b4bf7c3b
VS
103592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10362 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10363
8ee1101a
VS
103642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10367 rather than a hack for grub_strncasemap.
10368
103692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Support multiple initrds
10372 Note: part of this was accidently committed in r3739.
10373
10374 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10375 initrd.
10376 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10377 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10378 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10379 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10380 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10381
4d1e2bc9
VS
103822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10385 disks with unknown size.
10386 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10387
75b49ebe
VS
103882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 Remove defines pertaining to arbitrary limits not affecting GRUB
10391 anymore.
10392
10393 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10394 (EXT2_MAX_SYMLINKCNT): Likewise.
10395 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10396 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10397 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10398 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10399 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10400 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10401 (DN_MAX_OBJECT_SHIFT): Likewise.
10402 (DN_MAX_OFFSET_SHIFT): Likewise.
10403 (DN_MAX_OBJECT): Likewise.
10404 (DNODES_PER_LEVEL_SHIFT): Likewise.
10405 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10406 (SPA_MAXBLOCKSIZE): Likewise.
10407 (SPA_BLOCKSIZES): Likewise.
10408 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10409 (MZAP_MAX_BLKSZ): Likewise.
10410
74a1dce7
VS
104112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10414 handle NULL appropriately.
10415 Remove MIN.
10416
30c7d3ce
VS
104172012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 Fix efiemu.
10420
10421 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10422 cpu/types.h.
10423 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10424 * configure.ac: Fix efiemu check.
10425
3c76ea0c
VS
104262012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10429 grub_probe.
10430 Reported by: adamwill
10431
7e532280
SG
104322012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10433
10434 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10435
30492374
VS
104362012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 Fix handling of wide characters in gfxterm.
10439
10440 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10441 (clear_char): Likewise.
10442 (paint_char): Skip code == NULL chars.
10443 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10444
e70cb72f
VS
104452012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * grub-core/normal/charset.c: Move comment to right place.
10448
5c827cf9
VS
104492012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10452 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10453 (grub_affs_mount): Revert the correct version checking.
10454
53603892
VS
104552012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * docs/grub.texi (Unicode): Mention several other unsupported features.
10458
ff094b9b
VS
104592011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10462 case statements as compile-time one.
10463 (direct_read): Prevent spurious warnings.
10464 (grub_squash_read_data): Likewise.
10465
c029da8a
VS
104662011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 Various squash4 fixes and LZO and XZ support.
10469
10470 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10471 Add xzembed source files.
10472 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10473 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10474 (grub_squash_inode): New subtype long_dir.
10475 (SQUASH_TYPE_LONG_DIR): New inode type.
10476 (COMPRESSION): New enum.
10477 (XZBUFSIZ): New const.
10478 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10479 (read_chunk): Use data->decompress.
10480 (zlib_decompress): New function.
10481 (lzo_decompress): Likewise.
10482 (xz_decompress): Likewise.
10483 (squash_mount): Set new data fields.
10484 (grub_squash_iterate_dir): Handle long dir.
10485 (squash_unmount): Free xzdec and xzbuf.
10486 (grub_squash_open): Check ino type.
10487 (direct_read): Stylistic fixes. Use data->decompress.
10488 (grub_squash_read_data): Likewise.
10489 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10490 (get_byte): Likewise.
10491 (grub_zlib_disk_read): Removed.
10492 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10493 (GRUB_POSIX_BOOL_DEFINED): New define.
10494 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10495 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10496 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10497 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10498
7a45a539
VS
104992011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 Don't override more informative errors.
10502
10503 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10504 * grub-core/font/font.c (open_section): Likewise.
10505 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10506 filename. Don't override errors.
10507 (grub_cmd_openbsd_ramdisk): Don't override errors.
10508 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10509 (grub_cmd_initrd): Likewise.
10510 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10511 (grub_cmd_initrd): Likewise.
10512 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10513 (grub_cmd_linux): Likewise.
10514 (grub_cmd_initrd): Likewise.
10515 (grub_cmd_payload): Likewise.
10516 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10517 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10518 (grub_cmd_module): Likewise.
10519 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10520 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10521 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10522 (grub_cmd_xnu_mkext): Likewise.
10523 (grub_cmd_xnu_ramdisk): Likewise.
10524 (grub_xnu_check_os_bundle_required): Likewise.
10525 (grub_xnu_load_kext_from_dir): Likewise.
10526 (grub_cmd_xnu_kextdir): Likewise.
10527 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10528
b2d004db
VS
105292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10532 as 1024 in block size field. Found on one of my test images.
10533 Small optimisation while on it.
10534
ec000eac
VS
105352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10538 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10539 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10540 performance fixes while on it.
10541 (grub_sfs_close): Fix memory leak while on it.
10542 (grub_sfs_label): Convert Latin1 to UTF-8.
10543
f50e1165
VS
105442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10547 space to avoid overflows.
10548 (grub_hfs_label): Convert from macroman to UTF-8.
10549
2ae254de
VS
105502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10553
0108f491
VS
105542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10557
f45f5f89
VS
105582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * unicode: Import Unicode 6.0 data.
10561
4d8c4765
VS
105622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10563
63fa8ef9
VS
10564 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10565 outside of range.
10566
105672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10570
10571 * include/grub/charset.h (grub_getend): New function.
10572 * grub-core/script/function.c (grub_script_function_find): Use
10573 grub_getend.
10574 * grub-core/normal/completion.c (add_completion): Likewise.
10575
f3cb4a4e
VS
105762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10579 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10580 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10581 (GRUB_UNICODE_TAG_END): Likewise.
10582 (GRUB_UNICODE_LAST_VALID): Likewise.
10583
5da8dbc5
VS
105842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10587 len and make it smaller. All users updated.
10588 * util/import_unicode.py: Put length and not end character.
10589 Check length.
10590
8569f13d
VS
105912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 Make better Unicode-compliant and unify some UTF-8 code pathes.
10594
10595 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10596 valid character.
10597 (grub_is_valid_utf8): Use grub_utf8_process.
10598 Check resulting code range.
10599 (grub_utf8_to_ucs4): Use grub_utf8_process.
10600 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10601 valid character.
10602
cc4fddf5
VS
106032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10606
bbc47747
VS
106072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * docs/grub.texi (Filesystems): Mention AFS.
10610
f63d6bf4
VS
106112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * docs/grub.texi (Filesystems): Clarify restrictions.
10614 (Regexp): Mention non-Unicode regexp behaviour.
10615 (Other): Mention non-Unicode matching behaviour.
10616
74bbf0db
VS
106172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10618
f63d6bf4 10619 Make HFS implementation use MacRoman.
74bbf0db
VS
10620
10621 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10622 (macroman): New const array.
10623 (macroman_to_utf8): New function.
10624 (utf8_to_macroman): Likewise.
10625 (grub_hfs_find_dir): Use utf8_to_macroman.
10626 (grub_hfs_dir): Use macroman_to_utf8.
10627 Set case_insensitive.
10628
4ea0316e
VS
106292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10630
10631 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10632
d3c13cbd
VS
106332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 Integrate hints into autogeneration scripts.
10636
10637 * docs/grub.texi (Filesystems): Add a hostdisk example.
10638 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10639 (grub-probe): Add ofpath.
10640 * gentpl.py: Remove group nosparc64.
10641 * grub-core/commands/search.c (cache_entry): New struct.
10642 (cache): New var.
10643 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10644 * grub-core/commands/search_wrap.c (options): Add platform-specific
10645 hint options.
10646 (grub_cmd_search): Handle platform-specific hints.
10647 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10648 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10649 (grub_util_biosdisk_data): Likewise.
10650 (grub_util_biosdisk_open): Set device_map.
10651 (read_device_map): Handle "" as indication of no map.
10652 Set device_map.
10653 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10654 (grub_util_biosdisk_get_compatibility_hint): New function.
10655 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10656 * include/grub/emu/hostdisk.h
10657 (grub_util_biosdisk_get_compatibility_hint): New proto.
10658 * util/grub-install.in: Don't call grub-mkdevicemap.
10659 Add platform-specific hint to load.cfg.
10660 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10661 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10662 hints. Set root preliminary to compatibility hint, not to OS name.
10663 * util/grub-probe.c (PRINT_*): Add hints.
10664 (print): Make static.
10665 (escape_of_path): New function.
10666 (guess_bios_drive): Likewise.
10667 (guess_efi_drive): Likewise.
10668 (guess_baremetal_drive): Likewise.
10669 (print_full_name): Likewise.
10670 (probe): Handle hints.
10671 (main): Likewise.
10672 * util/ieee1275/devicemap.c: Removed.
10673 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10674 updated.
10675 (grub_util_devname_to_ofpath): Return NULL on failure.
10676
10677 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10678 resource leak.
10679 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10680
10681 * po/POTFILES.in: Regenerated.
10682
10683 Allow purely long options
10684
10685 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10686 (SHORT_ARG_USAGE): Likewise.
10687 (grub_arg_show_help): Compare opt with help_options.
10688 (parse_option): Receive opt as argument. If makes big simplificatons.
10689 All users updated
10690
00ce2df3
VS
106912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10694 Restructure to avoid warning.
10695
e77e325f
VS
106962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * util/grub-install.in: Account for possible escaped comma in device
10699 name.
10700
165099ea
VS
107012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10704 channel.
10705
ce4a999d
VS
107062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10709 allocation and zero-setting.
10710 (grub_ieee1275_get_devname): Check that alias is complete.
10711
379586ad
VS
107122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10715 unaligned segments.
10716
9197b0ad
VS
107172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10720 prefix.
10721 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10722 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10723 Add ieee1275 prefix.
10724
edddb7f9
VS
107252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * docs/grub.texi (Filesystems): Update.
10728
a1a8b1b9
VS
107292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 Support odc, newc and bigendian cpio formats.
10732
10733 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10734 * grub-core/Makefile.core.def (newc): New module.
10735 (odc): Likewise.
10736 (cpio_be): Likewise.
10737 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10738 (MAGIC): Likewise.
10739 (MAGIC2): Likewise.
10740 (head) [MODE_ODC]: Adapt for the format.
10741 (head) [MODE_NEWC]: Likewise.
10742 (head) [!MODE_*]: Write fields of interest as arrays.
10743 (MAGIC_USTAR): Removed.
10744 (read_number) [MODE_NEWC]: Change to hex.
10745 (read_number) [!MODE_*]: Parse binary arrays.
10746 (grub_cpio_find_file): Factor out the code for better structure and
10747 always use read_number.
10748 (grub_cpio_mount): Use MAGIC and MAGIC2.
10749 (grub_cpio_dir): Exit on first hook non-0 return.
10750 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10751 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10752 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10753 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10754 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10755 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10756 * grub-core/fs/newc.c: New file.
10757 * grub-core/fs/odc.c: Likewise.
10758 * grub-core/fs/cpio_be.c: Likewise.
10759
58eba9ee
VS
107602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 Fix handling of tar numbers occupying the whole field.
10763
10764 * grub-core/fs/cpio.c (read_number): New function.
10765 (grub_cpio_find_file): Use read_number instead of strtoull.
10766
a54a0e12
VS
107672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10770 occupying the whole field size.
10771
a6120aca
LA
107722011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10773
10774 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10775
a93964ce
VS
107762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10779
3ea1ca46
SG
107802011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10781
10782 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10783 TARGET_IMG_LDFLAGS.
10784
b87f7ef2
VS
107852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10788 (mountinfo_entry): Increase the field size to take escaping into
10789 account.
10790 (find_root_device_from_libzfs): Add one byte to size of strings for
10791 security.
10792
62092395
VS
107932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10796 an assert.
10797 * util/grub-setup.c (setup): Likewise.
10798
1f0b1a77
VS
107992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10802 _LzmaDecodeA.
10803
8eba9997
VS
108042011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * docs/grub.texi (Internationalisation): New section.
10807
dd0c91e9
VS
108082011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * docs/grub.texi (Loopback booting): New section.
10811
108122011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10813
10814 * util/grub-mkstandalone.in: Fix minor typo errors.
10815
198e150a
VS
108162011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10819
10820 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10821 net/icmp.c and net/icmp6.c.
10822 (http): New module.
10823 (priority_queue): Likewise.
10824 * grub-core/io/bufio.c: Rewritten.
10825 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10826 TYPE_WITH_CONFIGFILE_OPTION.
10827 (legacy_commands): Add bootp and dhcp.
10828 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10829 (grub_legacy_parse): Likewise.
10830 * grub-core/lib/priority_queue.c: New file.
10831 * grub-core/net/arp.c: Add missing license header.
10832 (arp_find_entry): Removed.
10833 (arp_find_entry): Likewise.
10834 (grub_net_arp_resolve): Rename to ...
10835 (grub_net_arp_send_request): ...this.
10836 (grub_net_arp_receive): New card argument.
10837 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10838 Set router and DNS server.
10839 (grub_net_configure_by_dhcp_ack): Handle routing information.
10840 (grub_cmd_bootp): Set checksum.
10841 (grub_bootp_init): Remove net_dhcp.
10842 * grub-core/net/dns.c: New file.
10843 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10844 completion.
10845 (get_card_packet): Handle allocation.
10846 (grub_efinet_findcards): Set mtu.
10847 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10848 (get_card_packet): Handle allocation.
10849 (emucard): Set mtu.
10850 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10851 (GRUB_MOD_INIT): Set mtu.
10852 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10853 mtu.
10854 (get_card_packet): Handle allocation.
10855 (grub_ofnet_findcards): Set mtu.
10856 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10857 assert.
10858 (grub_net_recv_ethernet_packet): Handle IPv6.
10859 * grub-core/net/http.c: New file.
10860 * grub-core/net/icmp.c: Likewise.
10861 * grub-core/net/icmp6.c: Likewise.
10862 * grub-core/net/ip.c (ip6addr): New type.
10863 (ip6hdr): Likewise.
10864 (reassemble): Likewise.
10865 (cmp): New function.
10866 (reassembles): New variable.
10867 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10868 (id): New variable.
10869 (send_fragmented): New function.
10870 (grub_net_send_ip_packet): Rename to ...
10871 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10872 Handle non-UDP.
10873 (grub_net_recv_ip_packets): Rename to ...
10874 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10875 (free_rsm): New function.
10876 (free_old_fragments): Likewise.
10877 (grub_net_recv_ip4_packets): New function.
10878 (grub_net_send_ip6_packet): Likewise.
10879 (grub_net_send_ip_packet): Likewise.
10880 (grub_net_recv_ip6_packets): Likewise.
10881 (grub_net_recv_ip_packets): Likewise.
10882 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10883 (LINK_LAYER_CACHE_SIZE): New const.
10884 (link_layer_find_entry): New function.
10885 (grub_net_link_layer_add_address): Likewise.
10886 (grub_net_link_layer_resolve_check): Likewise.
10887 (grub_net_link_layer_resolve): Likewise.
10888 (grub_net_ipv6_get_slaac): Likewise.
10889 (grub_net_ipv6_get_link_local): Likewise.
10890 (grub_cmd_ipv6_autoconf): Likewise.
10891 (parse_ip): Handle one number representation.
10892 (parse_ip6): New functoion.
10893 (match_net): Handle IPv6.
10894 (grub_net_resolve_address): Handle IPv6 and DNS.
10895 (grub_net_resolve_net_address): Handle IPv6.
10896 (route_cmp): New function.
10897 (grub_net_route_address): Find best route.
10898 (grub_net_addr_to_str): Handle IPv6.
10899 (grub_net_addr_cmp): New function.
10900 (grub_net_add_addr): Register local route.
10901 (print_net_address): Handle net address.
10902 (grub_net_poll_cards): Retransmit TCP.
10903 (grub_net_poll_cards_idle_real): Likewise.
10904 (have_ahead): New function.
10905 (grub_net_seek_real): Use underlying seek.
10906 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10907 * grub-core/net/tcp.c: New file.
10908 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10909 (cmp): New function.
10910 (ack): Likewise.
10911 (tftp_receive): Handle unordered input.
10912 (destroy_pq): New function.
10913 (tftp_close): Close pq.
10914 * grub-core/net/udp.c: Put missing license header.
10915 (grub_net_udp_socket): New function.
10916 (udp_socket_register): Likewise.
10917 (grub_net_udp_close): Likewise.
10918 (grub_net_recv_udp_packet): Check checksum.
10919 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10920 * include/grub/misc.h (grub_memchr): New function.
10921 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10922 (grub_net_card_driver): Return buf in recv.
10923 (grub_net_slaac_mac_list): New struct.
10924 (grub_network_level_protocol_id): Add ipv6.
10925 (grub_net_network_level_addr): Likewise.
10926 (grub_net_network_level_net_addr): Likewise.
10927 (grub_net_app_protocol): Add seek.
10928 (grub_net_socket): Removed.
10929 (grub_net_sockets): Likewise.
10930 (grub_net_socket_register): Likewise.
10931 (grub_net_socket_unregister): Likewise.
10932 (FOR_NET_SOCKETS): Likewise.
10933 (grub_net_add_addr): Add const.
10934 (GRUB_NET_BOOTP_*): New enum.
10935 (grub_net_addr_cmp): New proto.
10936 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10937 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10938 (grub_net_hwaddr_to_str): NEw proto.
10939 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10940 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10941 (grub_dns_init): New proto.
10942 (grub_dns_fini): Likewise.
10943 (grub_net_tcp_retransmit): Likewise.
10944 (grub_net_link_layer_add_address): Likewise.
10945 (grub_net_link_layer_resolve_check): Likewise.
10946 (grub_net_link_layer_resolve): Likewise.
10947 (grub_net_dns_lookup): Likewise.
10948 (grub_net_add_dns_server): Likewise.
10949 (grub_net_remove_dns_server): Likewise.
10950 (GRUB_NET_TRIES): New const.
10951 (GRUB_NET_INTERVAL): Likewise.
10952 * include/grub/net/arp.h: Mostly rewritten.
10953 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10954 * include/grub/net/ip.h: Mostly rewritten.
10955 * include/grub/net/netbuff.h: Indent.
10956 * include/grub/net/tcp.h: New file.
10957 * include/grub/net/udp.h: Mostly rewritten.
10958 * include/grub/priority_queue.h: New file.
10959 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10960 (grub_swap_bytes64_compile_time): Likewise.
10961 (grub_cpu_to_be16_compile_time): Likewise.
10962 (grub_cpu_to_be32_compile_time): Likewise.
10963 (grub_cpu_to_be64_compile_time): Likewise.
10964 (grub_be_to_cpu64_compile_time): Likewise.
10965
215c1800
VS
109662011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10969 UINT_TO_PTR with cast.
10970
c17e546c
VS
109712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10974 don't use them.
10975
ff6b18b6
VS
109762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10979 already there.
10980
70ffcc93
VS
109812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10984 confusing ipxe.
10985
e5f4d260
VS
109862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10989 Add missing const attribute.
10990 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10991 Likewise.
10992 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10993 Likewise.
10994
8e54b4b7
VS
109952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10998 misaligned access.
10999 (serpent_setkey): Likewise.
11000 (serpent_encrypt_internal): Likewise.
11001 (serpent_decrypt_internal): Likewise.
11002 (serpent_encrypt): Don't put an alignment-increasing cast.
11003 (serpent_decrypt): Likewise.
11004 (serpent_test): Likewise.
11005
813c0a2b
VS
110062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11009
f2b60fbd
VS
110102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11013
11014 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11015 grub_addr_t casts.
11016 (PTR_TO_UINT64): Likewise.
11017 (PTR_TO_UINT32): Likewise.
11018
5ef5c511
VS
110192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11022 because of stack.
11023 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11024 limit.
11025
c476e6df
VS
110262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11029 text_width > available width a bit more gracefully.
11030
384ad7cc
VS
110312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11034 current address calculation.
11035
96f8caf8
VS
110362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11039 stack.
11040 (encode_block): Likewise.
11041
276b7a8b
VS
110422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11045 certainety.
11046
e3fd394a
VS
110472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11050 non-RS part to avoid RS messing with GDT.
11051 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11052 Increase to suit in realmode routines.
11053
110542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/kern/i386/realmode.S: Increase alignment.
11057 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11058
ee9c2e7a
VS
110592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11062 be deterministic.
11063 (syndroms): Compute 0 syndrom.
11064 (rs_recover): Use 0 syndrom.
11065
7a7f7cc9
VS
110662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11069
a14b16d1
VS
110702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11073 brackets.
11074
9f59e9fc
VS
110752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11076
ca1b552c
VS
11077 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11078 account.
11079 (get_top_pad): Likewise.
11080 (get_right_pad): Likewise.
11081 (get_bottom_pad): Likewise.
11082
110832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11086
e739d698
VS
110872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11090 attribute as the structure isn't guaranteed to be properly aligned.
11091 (grub_efi_pci_device_path): Likewise.
11092 (grub_efi_pccard_device_path): Likewise.
11093 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11094 specify the size of `memory_type'.
11095 (grub_efi_vendor_device_path): Likewise.
11096 (grub_efi_controller_device_path): Likewise.
11097 (grub_efi_acpi_device_path): Likewise.
11098 (grub_efi_expanded_acpi_device_path): Likewise.
11099 (grub_efi_atapi_device_path): Likewise.
11100 (grub_efi_scsi_device_path): Likewise.
11101 (grub_efi_fibre_channel_device_path): Likewise.
11102 (grub_efi_1394_device_path): Likewise.
11103 (grub_efi_usb_device_path): Likewise.
11104 (grub_efi_usb_class_device_path): Likewise.
11105 (grub_efi_i2o_device_path): Likewise.
11106 (grub_efi_mac_address_device_path): Likewise.
11107 (grub_efi_ipv4_device_path): Likewise.
11108 (grub_efi_ipv6_device_path): Likewise.
11109 (grub_efi_infiniband_device_path): Likewise.
11110 (grub_efi_uart_device_path): Likewise.
11111 (grub_efi_vendor_messaging_device_path): Likewise.
11112 (grub_efi_hard_drive_device_path): Likewise.
11113 (grub_efi_cdrom_device_path): Likewise.
11114 (grub_efi_vendor_media_device_path): Likewise.
11115 (grub_efi_file_path_device_path): Likewise.
11116 (grub_efi_protocol_device_path): Likewise.
11117 (grub_efi_piwg_device_path): Likewise.
11118 (grub_efi_bios_device_path): Likewise.
11119
cb8f88ea
VS
111202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11123 (grub_ucs4_to_utf8_alloc): Likewise.
11124 (grub_ucs4_to_utf8): Likewise.
11125 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11126 (grub_ucs4_to_utf8_alloc): Likewise.
11127
309e5352
VS
111282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 AFFS never uses unicode.
11131
11132 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11133 (grub_latin1_to_utf8): New inline function.
11134 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11135
e7987e1b
VS
111362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11139 overflow.
11140
efc2616e
VS
111412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11144 (grub_squash_dirent_header): Likewise.
11145 (read_chunk): Don't double swap.
11146 (grub_squash_iterate_dir): Fix swap sizes.
11147
3c349f5a
VS
111482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11151
b453412d
VS
111522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11155 (grub_hfs_iterate_dir): Likewise.
11156
12e9d4d1
VS
111572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 Fix video on platforms where unaligned access is forbidden.
11160 Make several optimisations while on it.
11161
11162 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11163 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11164 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11165 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11166 Disable.
11167 (grub_video_fbblit_replace_16bit_1bit):
11168 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11169 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11170 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11171 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11172 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11173 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11174 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11175 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11176 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11177 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11178 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11179 (grub_video_fbblit_replace_index_RGB888): Likewise.
11180 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11181 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11182 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11183 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11184 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11185 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11186 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11187 Disable.
11188 (grub_video_fbblit_blend_XXX565_1bit):
11189 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11190 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11191 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11192 void *.
11193 * grub-core/video/fb/video_fb.c (common_blitter)
11194 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11195 (grub_video_fb_create_render_target_from_pointer)
11196 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11197 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11198 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11199 definition.
11200 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11201
ace96609
VS
112022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11205 HH22 and HM10 relocations.
11206
fd261d73
VS
112072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11210
e59b7857
VS
112112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11214 allocation succeeded.
11215
9b4baaa4
VS
112162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11219 argument a u8 pointer. All users updated.
11220 Handle unaligned buffers.
11221
dc713193
VS
112222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11225 add_part to workaround compiler bug.
11226
30dd48c2
VS
112272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11230
0c6087a8
VS
112312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11234 Reserve alignment invariants.
11235 (grub_multiboot_load): Likewise.
11236 (retrieve_video_parameters): Likewise.
11237 (grub_multiboot_make_mbi): Likewise.
11238
c2e77777
VS
112392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11242 incorrect pointer.
11243
b70b6d11
VS
112442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11247 (grub_pata_pio_write): Likewise.
11248
02a2bf83
VS
112492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 Add noreturn attributes and remove unreachable code.
11252
11253 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11254 code.
11255 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11256 code. Mark as noreturn.
11257 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11258 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11259 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11260 unreachable code.
11261 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11262 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11263 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11264 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11265 * include/grub/kernel.h (grub_main): Mark as noreturn.
11266 * include/grub/reader.h (grub_rescue_run): Likewise.
11267
2019d09e
VS
112682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11271 redundant declaration.
11272
d1c501ee
VS
112732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11276 redundant declaration.
11277 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11278
61664420
VS
112792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11282 to ensure alignment.
11283 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11284 alignment. Ensure tmp alignment.
11285 (grub_cmd_hdparm): Ensure buf alignment.
11286 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11287 to ensure alignment.
11288 (grub_ata_dumpinfo): Ensure text alignment.
11289 (grub_atapi_identify): Preserve alignment invariant.
11290 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11291
0d51ee20
VS
112922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11295 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11296 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11297 * include/grub/misc.h (grub_reboot)
11298 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11299 (grub_halt) [__mips__]: Likewise.
11300
753ef8c1
VS
113012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11304 Remove redundant declaration.
11305 (grub_mmap_get_post64): Likewise.
11306 (grub_mmap_get_upper): Likewise.
11307 (grub_mmap_get_lower): Likewise.
11308
85c85365
VS
113092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11312 uint32_t * to ensure alignment.
11313 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11314
a23f2cc4
VS
113152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11316
93018f64
VS
11317 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11318 uint16_t * to ensure alignment.
11319 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11320 alignment.
11321
113222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11325 to ensure alignment.
11326 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11327
58acccd6
VS
113282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11331 Handle unaligned pointers.
11332 (u32at): Likewise.
11333 (u64at): Likewise.
11334 (fixup): Use byte access instead of v16at.
11335 (find_attr): Fix imporper usage of v32at.
11336 (read_data): Likewise.
11337 (list_file): Handle byte-swapping and unaligned strings.
11338 (grub_ntfs_label): Likewise.
11339
9b05cad7
VS
113402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11343 as it's not necessarily aligned.
11344
b3950b84
VS
113452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11346
11347 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11348 redundant declaration.
11349 (grub_serial_init): Likewise.
11350 (grub_terminfo_init): Likewise.
11351
fcd232b7
VS
113522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11355 function.
11356 (ZAP_HASH_IDX): Likewise.
11357 (ZAP_LEAF_HASH_SHIFT): Likewise.
11358 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11359 (LEAF_HASH): Likewise.
11360 (ZAP_LEAF_NUMCHUNKS): Likewise.
11361 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11362 alignment invariants. Return pointer. All users updated.
11363 (ZAP_LEAF_ENTRY): Make into inline function.
11364 (NBBY): Removed.
11365 (xor): LIkewise.
11366 (xor_out): Use grub_crypto_xor.
11367 (dnode_get_path): Use grub_get_unaligned.
11368 (nvlist_find_value): Likewise.
11369 (grub_zfs_nvlist_lookup_uint64): Likewise.
11370 (grub_zfs_nvlist_lookup_string): Likewise.
11371 (get_nvlist_size): Likewise.
11372 (grub_zfs_open): Likewise.
11373 (fill_fs_info): Likewise.
11374 (grub_zfs_dir): Likewise.
11375 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11376 alignment invariants.
11377 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11378 necessarily aligned.
11379
f138623a
VS
113802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11383
564840dc
VS
113842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11387 arithmetic to conserve alignment invariants.
11388
9b40df20
VS
113892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11392 redundant declaration.
11393 (grub_efiemu_mm_obtain_request): Likewise.
11394 (grub_efiemu_prepare): Likewise.
11395
d1c930f9
VS
113962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11399 to match types.
11400
4c5f3056
VS
114012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11404 case of aunaligned recptr.
11405 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11406 alignment.
11407 (grub_hfsplus_btree_search): Handle unaligned index.
11408
728cba91
VS
114092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11412 to get freetag and skip.
11413
eb561f31
VS
114142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11417 array.
11418 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11419 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11420
20993fbb
VS
114212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11424 name for checksum and fix allocation algorithm.
11425
1f313b94
VS
114262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * include/grub/types.h (grub_properly_aligned_t): New type.
11429 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11430 (grub_get_unaligned16): Add explicit casts.
11431 (grub_get_unaligned32): Likewise.
11432 (grub_get_unaligned64): Likewise.
11433 (grub_set_unaligned16): New function.
11434 (grub_set_unaligned32): Likewise.
11435
47ae27ec
VS
114362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11439
78c2cd1c
VS
114402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11443 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11444 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11445
53072f9b
VS
114462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11449 conditionals.
11450
055dc239
VS
114512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11454 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11455
496bd074
VS
114562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 Unify and improve RAID and crypto xor.
11459
11460 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11461 changed to grub_crypto_xor
11462 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11463 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11464 Use bigger types when possible.
11465
ef6e4335
VS
114662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * grub-core/disk/raid.c (scan_devices): Fix condition.
11469
5d048bf2
VS
114702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11473 Make name a const ptr.
11474
ee533335
VS
114752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11478 first argument a const pointer.
11479 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11480 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11481 proto.
11482 (grub_children_iterate): Likewise.
11483 (grub_machine_mmap_iterate): Remove redundant declaration.
11484
cc8f3668
VS
114852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11488 (grub_cmd_acpi) [!x86]: Disable EBDA.
11489
c5fc563a
VS
114902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Enable UTF8 in gnulib regexp.
11493
11494 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11495 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11496 (isupper): Use grub_isupper.
11497 (isascii): New inline function.
11498 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11499 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11500 * grub-core/normal/charset.c (grub_utf8_process): New function.
11501 (grub_utf8_to_utf16): Use grub_utf8_process.
11502 (grub_encode_utf8_character): New function.
11503 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11504 * include/grub/charset.h (grub_utf8_process): New declaration.
11505 (grub_encode_utf8_character): Likewise.
11506 * include/grub/misc.h (grub_islower): New inline function.
11507 (grub_isupper): Likewise.
11508 (grub_strchrsub): Moved down to fix the definitions.
11509
0af2346f
VS
115102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11513 specification.
11514
74dbd244
VS
115152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * include/grub/loader.h (grub_loader_register_preboot_hook):
11518 Use struct preboot * and not void * for handle. All users updated.
11519 (grub_loader_unregister_preboot_hook): Likewise.
11520
1bc8f60d
VS
115212011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11522
11523 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11524 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11525 UTF-16-BE. All users updated.
11526 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11527 (grub_hfsplus_iterate_dir): Likewise.
11528 (grub_hfsplus_label): Likewise.
11529
48d6e456
VS
115302011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11533
bf3a3857
VS
115342011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 Add missing const qualifiers.
11537
11538 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11539 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11540 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11541 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11542 (grub_lvm_check_flag): Likewise.
11543 * grub-core/efiemu/i386/coredetect.c
11544 (grub_efiemu_get_default_core_name): Likewise
11545 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11546 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11547 * grub-core/fs/ntfs.c (fixup): Likewise.
11548 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11549 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11550 (fzap_lookup): Likewise.
11551 (zap_lookup): Likewise.
11552 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11553 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11554 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11555 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11556 (grub_freebsd_add_meta_module): Likewise.
11557 (grub_cmd_freebsd_module): Likewise.
11558 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11559 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11560 (grub_xnu_writetree_get_size): Likewise.
11561 (grub_xnu_writetree_toheap_real): Likewise.
11562 (grub_xnu_find_key): Likewise.
11563 (grub_xnu_create_key): Likewise.
11564 (grub_xnu_create_value): Likewise.
11565 (grub_xnu_register_memory): Likewise.
11566 (grub_xnu_check_os_bundle_required): Likewise.
11567 (grub_xnu_scan_dir_for_kexts): Likewise.
11568 (grub_xnu_load_kext_from_dir): Likewise.
11569 * grub-core/normal/color.c (color_list): Likewise.
11570 * grub-core/normal/completion.c (current_word): Likewise.
11571 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11572 * grub-core/term/serial.c (grub_serial_find): Likewise.
11573 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11574 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11575 Likewise.
11576 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11577 (grub_freebsd_add_meta_module): Likewise.
11578 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11579 * include/grub/net.h (grub_net_card_driver): Likewise.
11580 (grub_net_card): Likewise.
11581 (grub_net_app_protocol): Likewise.
11582 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11583 * include/grub/serial.h (grub_serial_find): Likewise.
11584 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11585 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11586 (grub_xnu_create_value): Likewise.
11587 (grub_xnu_find_key): Likewise.
11588 (grub_xnu_scan_dir_for_kexts): Likewise.
11589 (grub_xnu_load_kext_from_dir): Likewise.
11590
11591 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11592 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11593 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11594 Moved from here ...
11595 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11596
112b4837
CW
115972011-11-28 Colin Watson <cjwatson@ubuntu.com>
11598
11599 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11600
49e891ac
VS
116012011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11604 (read_device): Fix size calculation.
11605
fd258e5c
RM
116062011-11-25 Robert Millan <rmh@gnu.org>
11607
11608 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11609 (find_root_device_from_libzfs): Add zpool output parser to be used
11610 as fallback when libzfs isn't available.
11611
78845dc2
SG
116122011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11613
11614 * po/Makefile.in.in: Add missing escape-continuation.
11615
adac5211
VS
116162011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11619
10b64f1c
VS
116202011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11623
bb416954
VS
116242011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11627
bdfe9eeb
VS
116282011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11631
581ffa8a
VS
116322011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * grub-core/lib/adler32.c: Add missing license specification.
11635 * grub-core/lib/crc64.c: Likewise.
11636 * grub-core/loader/i386/pc/plan9.c: Likewise.
11637 * grub-core/partmap/plan.c: Likewise.
11638
2536cf64
LK
116392011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11640
11641 Add facility to debug GRUB with gdb under qemu.
11642
11643 * grub-core/gdb_grub.in: New file.
11644 * grub-core/gmodule.pl.in: Likewise.
11645 * grub-core/Makefile.core.def (gmodule.pl): New script.
11646 (gdb_grub): Likewise.
11647
bc108a4a
VS
116482011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * util/grub-mount.c (argp_parser): Accept relative pathes.
11651 * util/grub-fstest.c (argp_parser): Likewise.
11652
111c1778
VS
116532011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 Plan9 support.
11656
11657 * Makefile.util.def (libgrubmods): Add
11658 grub-core/partmap/plan.c.
11659 * docs/grub.texi: Notice Plan9 support.
11660 * grub-core/Makefile.core.def (plan9): New module.
11661 (part_plan): Likewise.
11662 * grub-core/loader/i386/pc/plan9.c: New file.
11663 * grub-core/partmap/plan.c: Likewise.
11664 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11665 define.
11666 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11667 * include/grub/mm.h (grub_extend_alloc): New inline function.
11668
c30be3b6
VS
116692011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 Make Reed-Solomon faster by using power of generator representation of
11672 GF(256)*.
11673
11674 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11675 (gf_double_t): Likewise.
11676 (gf_invert): Removed.
11677 (gf_powx): New array.
11678 (gf_powx_inv): Likewise.
11679 (scratch): Move higher.
11680 (gf_reduce): Removed.
11681 (gf_mul): Use powx.
11682 (gf_invert): Likewise.
11683 (init_inverts): Replaced with ...
11684 (init_powx): ...this. All users updated.
11685 (pol_evaluate): Replace multiplications with additions.
11686 (rs_encode): Likewise.
11687 (gauss_eliminate): Call gf_invert.
11688 (grub_reed_solomon_add_redundancy): Call init_powx.
11689 (grub_reed_solomon_recover): Call init_powx unconditionally.
11690
fa5aeffc
VS
116912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11694
a346b81c
VS
116952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11698 disk->partiton for safety.
11699
d89ee414
VS
117002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11703 Fix a memory leak.
11704 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11705
91ee7b6d
VS
117062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11709
91e5a33d
VS
117102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11713
9edd7be2
VS
117142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 Fix spaces handling in proc/self/mountinfo.
11717
11718 * util/getroot.c (unescape): New function.
11719 (grub_find_root_device_from_mountinfo): Use unescape.
11720
ba102053
VS
117212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 Support ZFS embedding.
11724
11725 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11726 (grub_zfs_fs): Register grub_zfs_embed.
11727
aa94b870
VS
117282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 Fix MIPS compilation.
11731
11732 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11733 * include/grub/offsets.h: Rename decompressor fields from
11734 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11735 * util/grub-mkimage.c (image_targets): Use new names.
11736
5fbdac14
VS
117372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 Defer multiboot device parsing until we're in compressed part.
11740
11741 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11742 bsd_part. setdevice has fallen into disuse.
11743 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11744 (bsd_part): Likewise.
11745 (boot_dev): New variable.
11746 (multiboot_trampoline): Don't parse multiboot device.
11747 Pass multiboot device in %edx.
11748 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11749 grub_boot_device.
11750 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11751 Likewise.
11752 * grub-core/kern/i386/pc/startup.S: Save edx.
11753 (grub_boot_drive): Removed.
11754 (grub_install_dos_part): Likewise.
11755 (grub_install_bsd_part): Likewise.
11756 (grub_boot_device): New variable.
11757 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11758 (grub_install_bsd_part): Likewise.
11759 (grub_boot_drive): Likewise.
11760 (grub_boot_device): New variable.
11761 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11762 Removed.
11763 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11764 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11765 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11766 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11767 * util/grub-install.in: Remove redundant condition.
11768
691cbb58
VS
117692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 Fix bug introduced by previous commit.
11772
11773 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11774
60240b8b
VS
117752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11776
11777 Use decompressors framework on i386-pc. It increases core size
11778 by 46 bytes but improves compatibility and maintainability.
11779
11780 * grub-core/Makefile.core.def (lzma_decompress): New image.
11781 (kernel): Add i386_pc_ldflags.
11782 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11783 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11784 to real_to_prot, prot_to_real and device info.
11785 * include/grub/offsets.h: Renamed decompressor offsets.
11786 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11787 (image_target_desc): Remove raw_size and rename decompressor fields.
11788 (compress_kernel): Handle lzma.
11789 (generate_image): Handle decompressors on i386-pc.
11790
e9d3421c
VS
117912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * configure.ac: Add -fno-asynchronous-unwind-tables.
11794
2b23074a
VS
117952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 Move assembly code to C by using intwrap. It increases core size
11798 by 88 bytes but improves compatibility and maintainability.
11799
11800 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11801 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11802 ... here. Translated to C.
11803 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11804 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11805 ... here. Translated to C.
11806 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11807 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11808 ... here. Translated to C.
11809 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11810 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11811 ... here. Translated to C.
11812 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11813 * grub-core/term/i386/pc/console.c (grub_console_cls):
11814 ... here. Translated to C.
11815 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11816 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11817 ... here. Translated to C.
11818 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11819 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11820 Translated to C.
11821 * grub-core/term/i386/pc/console.c (int10_9): New function.
11822 (grub_console_putchar): Likewise.
11823 * include/grub/i386/pc/console.h: Removed the not anymore shared
11824 functions.
11825
678f4b67
VS
118262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 Move grub_chainloader_real_boot out of the kernel.
11829
11830 * grub-core/Makefile.am: Remove machine/loader.h.
11831 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11832 Removed.
11833 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11834 variable.
11835 (grub_relocator16_keep_a20_enabled): Likewise.
11836 (grub_relocator16_boot): Fill new variables.
11837 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11838 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11839 relocator.
11840 (grub_chainloader_unload): Likewise.
11841 (grub_chainloader_cmd): Likewise.
11842 * include/grub/i386/pc/loader.h: Removed.
11843 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11844 and esi. All initialisers updated.
11845
4626edf6
VS
118462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
118472011-11-12 Colin Watson <cjwatson@ubuntu.com>
11848
11849 * Makefile.util.def (grub-mount): New util.
11850 * .bzrignore: Add grub-mount.
11851 * configure.ac: Check for fuse and enable grub-mount if available.
11852 * docs/man/grub-mount.h2m: New file.
11853 * util/grub-mount.c: Likewise.
11854
10f0117b
VS
118552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * grub-core/commands/efi/fixvideo.c: Gettextize.
11858 * grub-core/commands/hashsum.c: Likewise.
11859 * grub-core/commands/i386/cmostest.c: Likewise.
11860 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11861 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11862 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11863 * grub-core/commands/lsmmap.c: Likewise.
11864 * grub-core/commands/menuentry.c: Likewise.
11865 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11866 * grub-core/commands/setpci.c: Likewise.
11867 * grub-core/loader/i386/bsd.c: Likewise.
11868 * grub-core/loader/i386/linux.c: Likewise.
11869 * util/getroot.c: Likewise.
11870 * util/grub-editenv.c: Likewise.
11871 * util/grub-fstest.c: Likewise.
11872 * util/grub-mkfont.c: Likewise.
11873 * util/grub-mkimage.c: Likewise.
11874 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11875 * util/grub-pe2elf.c: Likewise.
11876 * util/grub-probe.c: Likewise.
11877 * util/grub-setup.c: Likewise.
11878 * util/ieee1275/ofpath.c: Likewise.
11879 * util/misc.c: Likewise.
11880 * util/raid.c: Likewise.
11881
566f779b
RM
118822011-11-11 Robert Millan <rmh@gnu.org>
11883
11884 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11885 __attribute__((unused)) from `os_dev', which *is* being used.
11886
b50787de
VS
118872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11890 forgotten define.
11891 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11892 GRUB_IA64_DL_GOT_ALIGN.
11893 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11894 GRUB_IA64_DL_TRAMP_ALIGN.
11895
119d11c8
VS
118962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 Replace grub_fatal with normal errors in i386 linux loader.
11899
11900 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11901 (allocate_pages): Check find_efi_mmap_size return value.
11902 (grub_e820_add_region): Return error.
11903 (grub_linux_boot): Check mmap return value.
11904
6e0632e2
VS
119052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/commands/acpihalt.c: Gettextized.
11908 * grub-core/commands/cacheinfo.c: Likewise.
11909 * grub-core/commands/cmp.c: Likewise.
11910 * grub-core/commands/efi/loadbios.c: Likewise.
11911 * grub-core/commands/gptsync.c: Likewise.
11912 * grub-core/commands/ieee1275/suspend.c: Likewise.
11913 * grub-core/commands/legacycfg.c: Likewise.
11914 * grub-core/commands/memrw.c: Likewise.
11915 * grub-core/commands/minicmd.c: Likewise.
11916 * grub-core/commands/parttool.c: Likewise.
11917 * grub-core/commands/time.c: Likewise.
11918 * grub-core/commands/videoinfo.c: Likewise.
11919 * grub-core/disk/geli.c: Likewise.
11920 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11921 * grub-core/disk/luks.c: Likewise.
11922 * grub-core/disk/lvm.c: Likewise.
11923 * grub-core/font/font_cmd.c: Likewise.
11924 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11925 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11926 * grub-core/gfxmenu/view.c: Likewise.
11927 * grub-core/kern/emu/hostdisk.c: Likewise.
11928 * grub-core/kern/emu/main.c: Likewise.
11929 * grub-core/kern/emu/misc.c: Likewise.
11930 * grub-core/kern/emu/mm.c: Likewise.
11931 * grub-core/kern/mips/arc/init.c: Likewise.
11932 * grub-core/kern/mips/loongson/init.c: Likewise.
11933 * grub-core/kern/partition.c: Likewise.
11934 * grub-core/lib/i386/halt.c: Likewise.
11935 * grub-core/lib/mips/arc/reboot.c: Likewise.
11936 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11937 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11938 * grub-core/loader/i386/xnu.c: Likewise.
11939 * grub-core/loader/multiboot.c: Likewise.
11940 * grub-core/net/bootp.c: Likewise.
11941 * grub-core/net/net.c: Likewise.
11942 * grub-core/normal/term.c: Likewise.
11943 * grub-core/partmap/bsdlabel.c: Likewise.
11944 * grub-core/parttool/msdospart.c: Likewise.
11945 * grub-core/term/gfxterm.c: Likewise.
11946 * grub-core/term/terminfo.c: Likewise.
11947 * grub-core/video/i386/pc/vbe.c: Likewise.
11948 * util/grub-menulst2cfg.c: Likewise.
11949 * util/grub-mkdevicemap.c: Likewise.
11950 * util/grub-mklayout.c: Likewise.
11951 * util/grub-mkrelpath.c: Likewise.
11952 * util/grub-script-check.c: Likewise.
11953 * util/ieee1275/grub-ofpathname.c: Likewise.
11954 * util/resolve.c: Likewise.
11955
073aa7a9
VS
119562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11957
11958 Support %1$d syntax.
11959
11960 * tests/printf_unit_test.c: New file.
11961 * Makefile.util.def (printf_test): New test.
11962 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11963
c76b5417
VS
119642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11967 fix.
11968
df067ad1
VS
119692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11972 dprintf.
11973 * grub-core/font/font.c (grub_font_load): Likewise.
11974
5b289bc5
VS
119752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * util/grub-macho2img.c: Add comment concerning gettext.
11978 * grub-core/lib/legacy_parse.c: Likewise.
11979
c1860f87
VS
119802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11983 (grub_xvasprintf): Likewise.
11984
d35d0d37
VS
119852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 Add const keyword to grub_env_get and gettextize week days.
11988
11989 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11990 (grub_read_hook_datetime): Return const char *.
11991 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11992 updated.
11993 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11994 Mark for gettext.
11995 (grub_get_weekday_name): Return const char *. Call gettext.
11996 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11997 char * and len as the argument. All users updated.
11998 (grub_script_argv_split_append): Receive const char *.
11999 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12000 * include/grub/env.h (grub_env_get): Likewise.
12001 (grub_env_read_hook_t): Return const char *.
12002 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12003 (grub_script_argv_split_append): Likewise.
12004
9aed8a71
VS
120052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12008
067fdf00
VS
120092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12012 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12013
a8bd9d39
VS
120142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12017 Fix prototype.
12018
f7ce5baf
VS
120192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 Fix mips compilation.
12022
12023 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12024 normal decoder.
12025 (hashes): Use in embed decoder as well (for sizes).
12026 (dec_stream_header): Fix embed decompressor logic.
12027 (dec_stream_footer): Likewise.
12028
9bb182f3
VS
120292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12032 an error and not a fatal on unrecognised relocation types.
12033
63a9e6f6
VS
120342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12037 Issue error rather than printf on unknown arguments.
12038
4c458569
VS
120392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12042 Make buf a const.
12043
e2d22baf
VS
120442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12047 Fix module name.
12048
53dc8590
VS
120492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12052 leftover debug printf.
12053
6c189294
VS
120542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12057
f7688369
VS
120582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12061 A stylistic fix.
12062
11a775a3
VS
120632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12066
33f784e8
SL
120672011-11-10 Shea Levy <slevy@tieronedesign.com>
12068
12069 Allow all modules to perform serial IO
12070
12071 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12072 * include/grub/serial.h (grub_serial_port_configure): New inline
12073 function.
12074 (grub_serial_port_fetch): Likewise.
12075 (grub_serial_port_put): Likewise.
12076 (grub_serial_port_fini): Likewise.
12077 (grub_serial_find): New proto.
12078
f6276525
VS
120792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 Put symlink at the end of the node and fix a potential
12082 memory corruption.
12083
12084 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12085 Make symlink into an array.
12086 (set_rockridge): Set have_symlink and alloc_dirents.
12087 (grub_iso9660_read_symlink): Use new layout.
12088 (grub_iso9660_iterate_dir): Fix memory corruption.
12089 Use new layout.
12090 (grub_iso9660_dir): Set have_symlink.
12091 (grub_iso9660_open): Likewise.
12092
c3591189
VS
120932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 Remove local keyword.
12096
12097 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12098 (version_test_gt): Likewise.
12099 (version_find_latest): Likewise.
12100 (gettext_printf): Likewise.
12101 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12102
cb544caa
VS
121032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12106
45bd824d
VS
121072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 Fix ZFS memory and resource leaks.
12110
12111 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12112 All users updated.
12113 Free type on exit.
12114 (fill_vdev_info): New parameter inserted. All users updated.
12115 (check_pool_label): Likewise.
12116 (scan_disk): Likewise.
12117 (scan_devices): Close non-inserted disks.
12118 (fzap_iterate): Free l.
12119 (unmount_device): Free children descripto memory.
12120
ad9a2f44
VS
121212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12124 argument (access out of bounds).
12125
6b68db81
VS
121262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12129 >= 6 drives.
12130
28840fda
VS
121312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12134 Fix declaration.
12135
8a5a3a5b
VS
121362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 Fix several memory leaks.
12139
12140 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12141 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12142 (grub_cpio_dir): Likewise.
12143 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12144 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12145 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12146 (grub_romfs_label): Likewise.
12147 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12148 (squash_unmount): New function.
12149 (grub_squash_dir): Fix memory leak.
12150 (grub_squash_open): Likewise.
12151 (grub_squash_read): Likewise.
12152 (grub_squash_mtime): Likewise.
12153 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12154 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12155 * util/grub-fstest.c (fstest): Likewise.
12156
57b01250
VS
121572011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12160 avoid accessing beyond the array.
12161
19e81ba7
VS
121622011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12165
52b656c0
VS
121662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 Several AFFS fixes.
12169
12170 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12171 (GRUB_AFFS_FLAG_FFS): Removed.
12172 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12173 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12174 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12175 (grub_fshelp_node): Make block 32-bit.
12176 Add block_cache and last_block_cache.
12177 (grub_affs_read_block): Fill and use block cache.
12178 (grub_affs_read_file): Removed.
12179 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12180 boot block.
12181 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12182 safety.
12183 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12184 space.
12185 (grub_affs_close): Free block cache.
12186 (grub_affs_read): Use grub_fshelp_read_file directly.
12187
438a746a
VS
121882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12191 with no error set.
12192
49a45021
VS
121932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12196 used variable.
12197 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12198 Likewise.
12199
3ae17eb8
VS
122002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12203
12204 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12205 byteswap when needed.
12206
27610c38
VS
122072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 Fix FreeBSD compilation.
12210
12211 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12212 to avoid circular dependency.
12213 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12214 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12215 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12216
4a19b601
VS
122172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 Fix ZFS crypto error types.
12220
12221 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12222 (grub_gcm_decrypt): Likewise.
12223 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12224 from PBKDF2.
12225
958ee221
VS
122262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 Illumos support.
12229
12230 * Makefile.util.def (10_illumos): New script.
12231 * configure.ac: Set COND_HOST_ILLUMOS.
12232 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12233 Support Illumos calls.
12234 (find_partition_start) [__sun__]: Likewise.
12235 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12236 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12237 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12238 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12239 device.
12240 * util/grub-probe.c (probe) [__sun__]: Do character check.
12241 * util/grub.d/10_illumos.in: New file.
12242
cac14fb6
VS
122432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 Support escaped commas in hostdisk.
12246
12247 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12248 (find_grub_drive): Use unescape_cmp.
12249 (make_device_name): Escape commas.
12250
78e08dc3
VS
122512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12254
9f421dd1
VS
122552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12258 variable.
12259
ed64e9e2
VS
122602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 Support trampoline jumps on powerpc.
12263
12264 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12265 __ia64__ path.
12266 (grub_dl_load_segments): Set mod->sz.
12267 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12268 segments.
12269 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12270 (jump): Likewise.
12271 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12272 function.
12273 (trampoline): New struct.
12274 (trampoline_template): New const.
12275 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12276 * include/grub/dl.h (grub_dl): Add sz element.
12277 [__powerpc__]: Follow __ia64__.
12278 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12279 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12280 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12281 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12282
3084ede4
VS
122832011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 ZFS crypto support.
12286
12287 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12288 * grub-core/Makefile.core.def (zfscrypt): New module.
12289 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12290 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12291 it. All users updated.
12292 (grub_zfs_decrypt): New var.
12293 (grub_zfs_load_key): Likewise.
12294 (zio_checksum_functions): Add SHA256+MAC.
12295 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12296 (zio_read): Handle encrypted blocks.
12297 (zap_verify): Remove incorrect check.
12298 (fzap_iterate): Handle non-standard fzap.
12299 (zap_iterate): Likewise.
12300 (zap_iterate_u64): New function.
12301 (dnode_get_fullpath): Load keys.
12302 * grub-core/fs/zfs/zfscrypt.c: New file.
12303 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12304 (grub_crypto_ecb_encrypt): Make input const.
12305 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12306 (grub_crypto_ecb_encrypt): Make input const.
12307 (GRUB_CIPHER_AES): New macro.
12308 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12309 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12310 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12311 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12312 prefix. All users updated.
12313 (grub_zfs_add_key): New proto.
12314 (grub_zfs_decrypt): Likewise.
12315 (grub_zfs_load_key): Likewise.
12316 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12317 * util/grub-fstest.c (options): Add -K option.
12318 (argp_parser): Likewise.
12319
b632b404
VS
123202011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 Support zle compression on ZFS.
12323
12324 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12325 (decomp_table): Add zle.
12326 * include/grub/zfs/zio.h (zio_compress): Add zle.
12327
c7ba4f69
VS
123282011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 Support BtrFS embedding.
12331
12332 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12333 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12334 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12335 * util/grub-setup.c (setup): Use fs embedding if available.
12336 Add additional sanity check.
12337
455377d9
VS
123382011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * util/grub-install.in: Fix condition for config_opt.
12341
c2fd16ca
VS
123422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 Support third redundancy strip on raidz3.
12345
12346 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12347 Return error on singularity. All users updated.
12348 (read_device): Don't stop on 3rd failure on raidz3.
12349
8622923b
VS
123502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 Support case-insensitive ZFS subvolumes.
12353
12354 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12355 All users updated.
12356 (zap_hash): Likewise.
12357 (name_cmp): New function.
12358 (zap_leaf_array_equal): New parameter case_insensitive.
12359 All users updated.
12360 (zap_leaf_lookup): Likewise.
12361 (fzap_lookup): Likewise.
12362 (zap_lookup): Likewise.
12363 (dnode_get_path): New parameter case_insensitive. Retrieve case
12364 sensitiviness of a volume. All users updated.
12365 (dnode_get_fullpath): New parameter case_insensitive.
12366 All users updated.
12367 (grub_zfs_dir): Set info.case_insensitiveness.
12368
95f2e860
VS
123692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 Support second redundancy strip on raidz(2,3).
12372
12373 * grub-core/fs/zfs/zfs.c (powx): New array.
12374 (powx_inv): Likewise.
12375 (poly): New const.
12376 (xor_out): New function.
12377 (gf_mul): Likewise.
12378 (recovery): Likewise.
12379 (read_device): Use second redundancy strip.
12380
11ee4389
VS
123812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 Use a power of generator representation of GF(256) multiplication group
12384 to save space time and complexity.
12385
12386 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12387 (raid6_table2): Likewise.
12388 (powx): New array.
12389 (powx_inv): Likewise.
12390 (poly): New const.
12391 (grub_raid_block_mul): Replace with ...
12392 (grub_raid_block_mulx): ...this.
12393 (grub_raid6_init_table): Rewritten.
12394 (grub_raid6_recover): Use power of generator representation.
12395
09e2763f
VS
123962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12399 for the right device.
12400
8bec9a28
VS
124012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12404 expected by grub-mkimage and it's more clear since there is no implicit
12405 padding.
12406
dbd3a32e
VS
124072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12408
12409 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12410 disk.
12411 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12412
182c872a
PMH
124132011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12414
12415 * util/grub-mkrescue.in: Fix handling xorriso option.
12416
1e51cabd
VS
124172011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12420 NULL.
12421
9cc3581d 124222011-11-03 crocket <crockabiscuit@gmail.com>
12423
12424 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12425
158dc1ea
VS
124262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 XZ CRC64 and SHA256 support.
12429
12430 * Makefile.util.def (libgrubmods): Add crc64.c.
12431 * grub-core/Makefile.core.def (crc64): New module.
12432 * grub-core/lib/crc64.c: New file.
12433 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12434 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12435 Fix the type.
12436 (MAX_HASH_SIZE): New define.
12437 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12438 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12439 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12440 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12441 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12442 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12443 Handle non-crc32 hashes.
12444 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12445 (dec_stream_header): Handle non-crc32 hashes.
12446 (dec_stream_footer): Likewise.
12447 (dec_block_header): Likewise.
12448 (dec_main): Likewise.
12449 (xz_dec_init): Likewise.
12450 (xz_dec_reset): Likewise.
12451 (xz_dec_end): Likewise.
12452 * util/import_gcry.py: Add CRC64 line.
12453
9d9b3d2f
VS
124542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12457 as well.
12458
7d0ac931
VS
124592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 Make reiserfs label retrieval similar to other *_label functions.
12462
12463 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12464 (REISERFS_MAX_LABEL_LENGTH): Removed.
12465 (REISERFS_LABEL_OFFSET): Likewise.
12466 (grub_reiserfs_label): Rewritten.
12467
124682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12471 field.
12472
cf5ba824
VS
124732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12476
17744004
VS
124772011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12480 drive failure on both raidz and raidz2.
12481
aca5aefc
VS
124822011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Fix RAIDZ(2) for >= 5 devices.
12485
12486 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12487 asize argument. All users updated.
12488
ce8ca56e
VS
124892011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Fix RAIDZ(2).
12492
12493 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12494 (fill_vdev_info_real): Set ashift.
12495 (read_device): Rewrite RAIDZ part based on reverse engineering.
12496
7c01e783
VS
124972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12500 don't report potentially unavialiable fields in debug output.
12501 (find_path): Fix double-free and memory leak.
12502
ce109e84
VS
125032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 Read label on UFS1.
12506
12507 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12508 (grub_ufs_fs): Always set .label.
12509
87661123
VS
125102011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 Use shifts in UFS.
12513
12514 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12515 (grub_ufs_data): New field log2_blksz.
12516 (grub_ufs_read_file): Use shifts.
12517 (grub_ufs_mount): Check block size and logarithm it.
12518
46bc1dc2
VS
125192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12522 long symlinks.
12523
19ee2987
VS
125242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 Handle symlinks and long names on tar and cpio.
12527
12528 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12529 (ATTR_FILE): Likewise.
12530 (ATTR_DIR): Likewise.
12531 (ATTR_LNK): Likewise.
12532 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12533 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12534 L and K entries.
12535 (grub_cpio_mount): Zero-fill data.
12536 (handle_symlink): New function.
46bc1dc2
VS
12537 (grub_cpio_dir): Handle symlinks.
12538 (grub_cpio_open): Likewise.
12539 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12540
c83a08d8
VS
125412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 Fix iso9660 filename limitations and fix memory leaks.
12544
12545 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12546 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12547
45cdd3ea
VS
125482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 Fix JFS file name length limitations.
12551
12552 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12553 (grub_jfs_diropen): Fix maximum filename length.
12554 (grub_jfs_getent): Fix filename length.
12555 (grub_jfs_lookup_symlink): Fix size checks.
12556
94ef05c2
VS
125572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12560 string.
12561
785ab8c7
VS
125622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12563
eb0b6b45
VS
12564 Leverage BFS implementation to read AFS.
12565
12566 * Makefile.util.def (libgrubmods): Add afs.c.
12567 * grub-core/Makefile.core.def (afs): New module
12568 * grub-core/fs/afs.c: New file.
12569 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12570
125712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12574
c4a1628f
VS
125752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/fs/bfs.c: Run indent.
12578
5825b379
VS
125792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 BFS implementation based on the specification.
12582
12583 * grub-core/fs/bfs.c: New file.
12584 * Makefile.util.def (libgrubmods): Add bfs.c.
12585 * grub-core/Makefile.core.def (bfs): New module.
12586
42b2a706
VS
125872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * util/grub-fstest.c (cmd_cp): Clarify error message.
12590 (cmd_cmp): Likewise.
12591
61b99bfc
YB
125922011-10-30 Yves Blusseau <blusseau@zetam.org>
12593
12594 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12595 and befs_be.
12596
faba3d16
VS
125972011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 Remove afs and befs because of copyright problem.
12600
12601 * grub-core/fs/afs.c: Removed.
12602 * grub-core/fs/afs_be.c: Removed.
12603 * grub-core/fs/befs.c: Removed.
12604 * grub-core/fs/befs_be.c: Removed.
12605 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12606 * grub-core/Makefile.core.def (afs): Removed.
12607 (afs_be): Likewise.
12608 (befs): Likewise.
12609 (befs_be): Likewise.
12610
c39224b0
VS
126112011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 Prefer rockridge over Joliet.
12614
12615 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12616 to ...
12617 (set_rockridge): ... here.
12618 (grub_iso9660_mount): Check rockridge on the primary label when
12619 discovering. Ignore Joliet if Rockridge is present.
12620
e551115a
VS
126212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 Use shifts in nilfs2.
12624
12625 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12626 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12627 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12628 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12629 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12630 (grub_nilfs2_entries_per_block): Replaced with ...
12631 (grub_nilfs2_log_entries_per_block_log): ... this.
12632 (grub_nilfs2_blocks_per_group): Replaced with ...
12633 (grub_nilfs2_blocks_per_group_log): ... this.
12634 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12635 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12636 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12637 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12638 (grub_nilfs2_palloc_entry_offset): Replaced ...
12639 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12640 (grub_nilfs2_dat_translate): Use shifts.
12641 (grub_nilfs2_read_inode): Likewise.
12642 (GRUB_MOD_INIT): Ensure that logs are correct.
12643
564dd58c
VS
126442011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12645
12646 Use shifts in minix filesystem.
12647
12648 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12649 (GRUB_MINIX_ZONE2SECT): Likewise.
12650 (grub_minix_data): Replace block_size with log_block_size.
12651 (grub_minix_read_file): Use shifts.
12652 (grub_minix_mount): Check block size and take a logarithm.
12653
ed9ba06d
VS
126542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 Use shifts in squash4.
12657
12658 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12659 (squash_mount): Check block size and take logarithm.
12660 (direct_read): Use shifts.
12661
ad03fe76
VS
126622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 Correct befs block counting logic.
12665
12666 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12667 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12668 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12669 (grub_afs_read_inode): Use block_shift.
12670 (RANGE_SHIFT): New definition.
12671 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12672 unexpected conditions, use shifts and appropriate types.
12673 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12674
6563f63d
VS
126752011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * grub-core/disk/raid.c (scan_devices): Check partition.
12678 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12679
5b1ae25f
VS
126802011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 Support BFS (befs) UUID.
12683
12684 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12685 (grub_afs_small_data_element_header): New struct.
12686 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12687 (grub_afs_read_attribute) [MODE_BFS]: New function.
12688 (grub_afs_iterate_dir): Allocate for complete inode.
12689 (grub_afs_mount): Likewise.
12690 (grub_afs_uuid) [MODE_BFS]: New function.
12691 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12692
f8d82408
VS
126932011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12694
12695 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12696 (zfs_unmount): Fix memory leak.
12697
5773fb64
VS
126982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 Support NTFS reparse points.
12701
12702 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12703 (symlink_descriptor): New struct.
12704 (grub_ntfs_read_symlink): New function.
12705 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12706 (grub_ntfs_open): Likewise.
12707
91c3fdde
VS
127082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12711
3be82e10
VS
127122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 fstest xnu_uuid subcommand.
12715
12716 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12717 grub-core/commands/xnu_uuid.c.
12718 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12719 (fstest): Handle xnu_uuid.
12720 (options): Document xnu_uuid.
12721 (argp_parser): Parse xnu_uuid.
12722
8e32442e
VS
127232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12726 -l argument. Add newline at the end if printing.
12727 (GRUB_MOD_INIT): Document -l.
12728
52a05075
VS
127292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12732
1869edb5
VS
127332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12734
12735 ZFS multi-device and version 33 support.
12736
12737 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12738 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12739 (grub_zfs_data): Add multidev-ice-related fields.
12740 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12741 (dva_get_offset): Make dva const.
12742 (zfs_fetch_nvlist): New function.
12743 (fill_vdev_info_real): Likewise.
12744 (fill_vdev_info): Likewise.
12745 (check_pool_label): Likewise.
12746 (scan_disk): Likewise.
12747 (scan_devices): Likewise.
12748 (read_device): Likewise.
12749 (read_dva): Likewise.
12750 (zio_read_gang): Use read_dva.
12751 (zio_read_data): Likewise.
12752 (zap_leaf_lookup): Add missing endian conversion.
12753 (zap_verify): Add missing endian conversion. All users updated.
12754 (fzap_lookup): Likewise.
12755 (fzap_iterate): Likewise.
12756 (dnode_get_path): Handle SA bonus.
12757 (nvlist_find_value): Make input const. All users updated.
12758 (unmount_device): New function.
12759 (zfs_unmount): Use unmount_device.
12760 (zfs_mount): Use scan_disk.
12761 (zfs_mtime): New function.
12762 (grub_zfs_open): Handle system attributes.
12763 (fill_fs_info): Likewise.
12764 (grub_zfs_dir): Likewise.
12765 (grub_zfs_fs): Add mtime.
12766 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12767 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12768 (SA_MTIME_OFFSET): Likewise.
12769 (SA_SYMLINK_OFFSET): Likewise.
12770 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12771 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12772 (fstest): Support zfsinfo.
12773 (argp_parser): Likewise.
12774
186b4028
VS
127752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12778 error.
12779
127802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12781
12782 ZFS fixes.
12783
12784 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12785 sharing the same block. Iterate over correct number of indices.
12786 (dnode_get_path): Handle symlinks correctly.
12787
c0584900
VS
127882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12791
67e2bd71
VS
127922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 Read label on HFS+.
12795
12796 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12797 (grub_hfsplus_btree_search): Fix types.
12798 (grub_hfsplus_label): Implement.
12799
e9cc6b7b
VS
128002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12803
19832ddb
VS
128042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12807
66b40850
VS
128082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 Fix symlink handling on iso9660.
12811
12812 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12813 All users updated.
12814 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12815 (grub_iso9660_read_symlink): Moved most of code ...
12816 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12817
db821363
VS
128182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12821 Use union to avoid breaking strict-aliasing rules.
12822
e1211949
VS
128232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 Support multi-extent iso files.
12826
12827 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12828 Add node.
12829 (grub_fshelp_node): Revamp. All users updated.
12830 (FLAG_*): New enum.
12831 (read_node): New function.
12832 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12833 All users updated.
12834 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12835 (get_node_size): New function.
12836 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12837 entries.
12838 Fix memory leak on . and ..
12839 (grub_iso9660_read): Use read_node.
12840 (grub_iso9660_close): Free node.
12841
d4888031
VS
128422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 Fix tar 4G limit and handle paths containing dot.
12845
12846 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12847 (canonicalize): New function.
12848 (grub_cpio_find_file): Use canonicalize. Store offs in
12849 grub_disk_addr_t.
12850 (grub_cpio_dir): Use grub_disk_addr_t.
12851 (grub_cpio_open): Likewise.
12852
9f12e664
VS
128532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12856
12857 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12858 unused flags.
12859 (grub_squash_inode): Add long_file and block_size.
12860 (grub_squash_cache_inode): New struct.
12861 (grub_squash_dirent): Make types into enum.
12862 (SQUASH_TYPE_LONG_REGULAR): New type.
12863 (grub_squash_frag_desc): Add field size.
12864 (SQUASH_BLOCK_FLAGS): New enum.
12865 (grub_squash_data): Use grub_squash_cache_inode.
12866 (grub_fshelp_node): Make ino_chunk 64-bit.
12867 (read_chunk): Minor argument change. All users updated.
12868 (squash_mount): Use correct le_to_cpu.
12869 (grub_squash_open): Handle LONG_REGULAR.
12870 (direct_read): New function.
12871 (grub_squash_read_data): Handle blocks correctly.
12872
9f326fba
VS
128732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12876
f4d9b64b
VS
128772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12880
5bbd28b8
VS
128812011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Fix 2G limit on ZFS.
12884
12885 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12886 types.
12887 (uberblock_verify): Likewise.
12888 (dmu_read): Likewise.
12889 (grub_zfs_read): Likewise. Remove invalid cast.
12890
68c72069
VS
128912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12894 (grub_jfs_blkno): Fix incorrect shift.
12895 (grub_jfs_read_file): Use more appropriate types.
12896
6e536dc8
VS
128972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 Support triple indirect on minix2 and minix3.
12900
12901 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12902 Declare triple_indir_zone.
12903 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12904 indirect.
12905
e0864e7a
VS
129062011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 Minix FS fixes.
12909
12910 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12911 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12912 Rename ctime to mtime. All users updated.
12913 (grub_minix_get_file_block): Fix types and double indirect computations.
12914
89481cab
VS
129152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12918 if no label is found.
12919 (grub_fat_iterate_dir): Fix file size type.
12920 (grub_fat_iterate_dir): Likewise.
12921
f646e143
VS
129222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12925 save some space.
12926 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12927 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12928
534d769e
VS
129292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12932
e084ba18
VS
129332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * util/import_gcry.py: Accept space between # and include.
12936
3471ecdf
VS
129372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12940
124df5f6
VS
129412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12944
12945 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12946 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12947 yylex_strncpy.
12948 * grub-core/script/yylex.l: Add fine-grained #pragma.
12949
4defb8d5
VS
129502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12951
12952 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12953 New inline function.
12954 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12955 Likewise.
12956 (memset) [GRUB_UTIL]: Likewise.
12957 (memcmp) [GRUB_UTIL]: Likewise.
12958
4e94ae65
VS
129592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12962 inline function rather than a define.
12963
18c575e5
VS
129642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * util/grub-setup.c: Add missing include.
12967
f8bc22a8
VS
129682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * util/ieee1275/grub-ofpathname.c: Add missing include.
12971
3ce69fc9
VS
129722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12975 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12976 Likewise.
12977
d1e293bb
VS
129782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12981 grub_memcmp usage.
12982
7a5c54a4
VS
129832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * util/grub-install.in: Add datarootdir as per automake manual
12986 suggestion.
12987 * util/grub-mknetdir.in: Likewise.
12988
129892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12990
12991 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12992 suggestion.
12993 * util/grub.d/10_kfreebsd.in: Likewise.
12994 * util/grub.d/10_linux.in: Likewise.
12995 * util/grub.d/10_netbsd.in: Likewise.
12996 * util/grub.d/10_windows.in: Likewise.
12997 * util/grub.d/20_linux_xen.in: Likewise.
12998
766f7d08
VS
129992011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 Remove redundant grub_kernel_image_size.
13002
13003 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13004 _edata and _start.
13005 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13006 the small code. It moves it only by few bytes but simplifies the code.
13007 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13008 _start.
13009 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13010 (grub_kernel_image_size): Removed.
13011 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13012 (grub_kernel_image_size): Removed.
13013 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13014 compiled with Apple toolchain.
13015 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13016 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13017 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13018 (grub_total_module_size): Likewise.
13019 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13020 Removed.
13021 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13022 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13023 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13024 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13025 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13026 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13027 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13028 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13029 Removed.
13030 (grub_total_module_size): Removed.
13031 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13032 (image_targets): Likewise.
13033 Set .compressed_size to no field on sparc.
13034 (generate_image): Remove kernel_image_size handling.
13035
fcf1d672
SJ
130362011-10-19 Szymon Janc <szymon@janc.net.pl>
13037
13038 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13039 NULL pointer dereference.
13040
de9c615e
VS
130412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13044 done with a dedicated section.
13045
13046 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13047 Ensure the correct position of boot_path.
13048 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13049 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13050 other fields.
13051 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13052 * include/grub/boot.h: Removed. All references removed.
13053 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13054 Removed.
13055 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13056
e55599dc
VS
130572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13060 name.
13061
36dd20ad
VS
130622011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13065
f8f72eb8
VS
130662011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13069 Don't add the bogus brackets.
13070
a374751b
VS
130712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 ExFAT support.
13074
13075 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13076 * grub-core/Makefile.core.def (exfat): New module.
13077 * grub-core/fs/exfat.c: New file.
13078 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13079 (GRUB_FAT_ATTR_*): Make into an enum.
13080 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13081 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13082 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13083 (GRUB_FAT_MAXFILE): Removed.
13084 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13085 (grub_current_fat_bpb_t): New type.
13086 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13087 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13088 (grub_fat_dir_node_t): New type.
13089 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13090 (fat_log2) [MODE_EXFAT]: Removed.
13091 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13092 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13093 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13094 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13095 (grub_fat_label) [MODE_EXFAT]: New function.
13096 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13097 reserved_first_sector to 0.
13098
544c2487
VS
130992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 Move grub_reboot out of the kernel.
13102
13103 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13104 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13105 * grub-core/lib/efi/reboot.c: ... here.
13106 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13107 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13108 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13109 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13110 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13111 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13112 * grub-core/lib/ieee1275/reboot.c: ... here.
13113 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13114 * grub-core/lib/mips/arc/reboot.c: ... here.
13115 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13116 * grub-core/lib/mips/loongson/reboot.c: ...here.
13117 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13118 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13119 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13120 * include/grub/i386/reboot.h: New file.
13121 * include/grub/mips/loongson/ec.h: Fix includes.
13122 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13123 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13124 * grub-core/lib/i386/reboot.c: New file.
13125
a97501d2
VS
131262011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Make grub_prefix into module to fix the arbitrary limit and save
13129 some space.
13130
13131 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13132 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13133 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13134 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13135 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13136 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13137 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13138 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13139 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13140 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13141 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13142 * include/grub/ia64/efi/kernel.h: Removed.
13143 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13144 (grub_prefix): Removed.
13145 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13146 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13147 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13148 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13149 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13150 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13151 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13152 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13153 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13154 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13155 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13156 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13157 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13158 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13159 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13160 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13161 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13162 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13163 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13164 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13165 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13166 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13167 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13168 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13169 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13170 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13171 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13172 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13173 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13174 from module.
13175 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13176 prefix_end.
13177 (image_targets): Likewise.
13178 (generate_image): Put prefix as a module.
13179
39705fad
VS
131802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 Replace grub_module_iterate with FOR_MODULES.
13183
13184 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13185 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13186 (grub_efi_modules_addr): ...this.
13187 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13188 (grub_efi_init): Set grub_modbase.
13189 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13190 (grub_modbase): New variable.
13191 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13192 (grub_modbase): New variable.
13193 (grub_machine_init): Set grub_modbase.
13194 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13195 (grub_modbase): New variable.
13196 (grub_machine_init): Set grub_modbase.
13197 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13198 (grub_modbase): New variable.
13199 (grub_machine_init): Set grub_modbase.
13200 * grub-core/kern/main.c (grub_module_iterate): Remove.
13201 (grub_modules_get_end): Use grub_modbase.
13202 (grub_load_modules): Use FOR_MODULES.
13203 (grub_load_config): Likewise.
13204 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13205 (grub_modbase): New variable.
13206 (grub_machine_init): Set grub_modbase.
13207 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13208 (grub_modbase): New variable.
13209 (grub_machine_init): Set grub_modbase.
13210 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13211 Removed.
13212 (grub_modbase): New variable.
13213 (grub_machine_init): Set grub_modbase.
13214 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13215 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13216 (grub_module_iterate): Likewise.
13217 (grub_modbase): New variable declaration.
13218 (FOR_MODULES): New macro.
13219
2afb7f6c
VS
132202011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13223 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13224
366e34fa
VS
132252011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Fix few obvious type discrepancies.
13228
13229 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13230 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13231 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13232 variable.
13233 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13234 and connected types.
13235 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13236 offset.
13237 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13238 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13239 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13240 and connected types.
13241
177b960e
VS
132422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 Fix python 3.x incompatibilities.
13245
13246 * gentpl.py: Put brackets around print strings.
13247 * util/import_gcry.py: Open explicitly as utf-8.
13248 Use in instead of has_key.
13249
3b619ae1
VS
132502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13253 (GRUB_XFS_INO_AGBITS): Make into inline function.
13254 (GRUB_XFS_INO_INOINAG): Likewise.
13255 (GRUB_XFS_INO_AG): Likewise.
13256 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13257 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13258 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13259 (GRUB_XFS_EXTENT_SIZE): Likewise.
13260 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13261 (GRUB_XFS_NEXT_DIRENT): Likewise.
13262 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13263 (grub_xfs_read_file): Fix offset type.
13264
8bcebcb8
RM
132652011-10-15 Robert Millan <rmh@gnu.org>
13266
13267 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13268
0017e5ef
RM
132692011-10-15 Robert Millan <rmh@gnu.org>
13270
13271 Fix build problem on FreeBSD and GNU/kFreeBSD.
13272
13273 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13274
d8919552
VS
132752011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13278
13279 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13280 types.
13281 (grub_hfsplus_btree_recoffset): Likewise.
13282 (grub_hfsplus_btree_recptr): Likewise.
13283 (grub_hfsplus_find_block): Likewise.
13284 (grub_hfsplus_btree_search): Likewise.
13285 (grub_hfsplus_read_block): Likewise.
13286 (grub_hfsplus_read_file): Likewise.
13287 (grub_hfsplus_mount): Likewise.
13288 (grub_hfsplus_btree_iterate_node): Likewise.
13289 (grub_hfsplus_btree_search): Likewise.
13290 (grub_hfsplus_iterate_dir): Likewise.
13291 (grub_hfsplus_read): A small code simplification.
13292
c81296b6
VS
132932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/kern/emu/hostdisk.c
13296 (convert_system_partition_to_system_disk): Don't assume that children
13297 of mapper nodes are mapper nodes.
13298
0eb8ffb1
VS
132992011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13302 * include/grub/misc.h (grub_isxdigit): New function.
13303 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13304 switched to grub_isxdigit.
13305 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13306 number starting with a letter.
13307
a98f4a08
RM
133082011-10-09 Robert Millan <rmh@gnu.org>
13309
13310 LVM support for FreeBSD and GNU/kFreeBSD.
13311
13312 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13313 GNU/kFreeBSD.
13314 (LVM_DEV_MAPPER_STRING): Move from here ...
13315 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13316 * util/getroot.c: Include `<grub/util/lvm.h>'.
13317 (grub_util_get_dev_abstraction): Enable
13318 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13319 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13320 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13321 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13322 support it.
13323 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13324 GNU/kFreeBSD.
13325 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13326 when LVM abstraction is required for ${GRUB_DEVICE}.
13327
050e8e90
SJ
133282011-10-06 Szymon Janc <szymon@janc.net.pl>
13329
13330 Add support for LZO compression in GRUB:
13331 - import of minilzo library,
13332 - LZO decompression for btrfs,
13333 - lzop files decompression.
13334
13335 * grub-core/io/lzopio.c: New file.
13336 * grub-core/lib/adler32.c: Likewise.
13337 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13338 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13339 * grub-core/lib/minilzo/minilzo.c: Likewise.
13340 * grub-core/lib/minilzo/minilzo.h: Likewise.
13341 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13342 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13343 grub-core/lib/minilzo/minilzo.c to common.
13344 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13345 cflags in cppflags.
13346 * grub-core/Makefile.core.def (btrfs): Likewise.
13347 * grub-core/Makefile.core.def (lzopio): New module.
13348 (adler32): Likewise.
13349 * grub-core/fs/btrfs.c: Include minilzo.h.
13350 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13351 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13352 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13353 (grub_btrfs_lzo_decompress): New function.
13354 (grub_btrfs_extent_read): Add support for LZO compression type.
13355 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13356 (GRUB_USHRT_MAX): Likewise.
13357 (GRUB_UINT_MAX): Likewise.
13358 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13359 (UINT_MAX): Likewise.
13360 (CHAR_BIT): Likewise.
13361 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13362 grub-core/lib/posix_wrap/limits.h
13363 (UCHAR_MAX): Likewise.
13364 * include/grub/file.h (grub_file_filter_id): New compression filter
13365 GRUB_FILE_FILTER_LZOPIO.
13366 * include/grub/file.h (grub_file_filter_id): Set
13367 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13368 * include/grub/types.h (grub_get_unaligned16): New function.
13369 (grub_get_unaligned32): Likewise.
13370 (grub_get_unaligned64): Likewise.
13371 * util/import_gcry.py (cryptolist): Add adler32.
13372
0eb8ffb1
VS
133732011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13376 in perspective decreases the complexity of build system and fixes
13377 compilation right now.
13378
ce79cc99 133792011-10-01 Ales Nesrsta <starous@volny.cz>
13380
13381 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13382 (fixed problem related to using UHCI with coreboot).
13383
8667a314
BC
133842011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13385
13386 * gentpl.py: Use Autogen macros so that the output template file
13387 (Makefile.tpl) size is reduced.
13388
fc5efcc0
MK
133892011-09-29 Mads Kiilerich <mads@kiilerich.com>
13390
13391 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13392 extra_dist.
13393
d1ab689d
ML
133942011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13395
13396 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13397 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13398
c05de032
ML
133992011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13400
13401 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13402 _fullpath.
13403
cca7ccd8
ML
134042011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13405
13406 Remove extra declaration of sleep for mingw32.
13407
13408 * util/misc.c (sleep) [__MINGW32__]: Removed.
13409 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13410
e0b0dc83
GS
134112011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13412
13413 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13414 type and packname.
13415 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13416 Resurrected.
13417 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13418 (grub_netbsd_btinfo_bootwedge): New struct.
13419 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13420 New function.
13421 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13422
91a1a164
TH
134232011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13424
13425 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13426 loader.
13427
2ded951e
AB
134282011-09-28 Andreas Born <futur.andy@googlemail.com>
13429
13430 Fix incorrect identifiers in bash-completion.
13431
13432 * util/bash-completion.d/grub-completion.bash.in
13433 (_grub_mkpasswd-pbkdf2): Rename to ...
13434 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13435 (_grub_script-check): Rename to ...
13436 (_grub_script_check): ... this. All users updated.
13437
69915030
VS
134382011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13441 Return 0 if disk isn't biosdisk.
13442
20fd15f9
GS
134432011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13444
13445 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13446 on NetBSD.
13447 * Makefile.util.def (grub-fstest): Likewise.
13448
1a7d7db9
GS
134492011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13450
13451 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13452 Get sector size from disk label.
13453
2221ab6c
CW
134542011-09-05 Colin Watson <cjwatson@ubuntu.com>
13455
13456 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13457 */README* as well as README*.
13458 Reported by: Axel Beckert.
13459
ca51c4a0
VS
134602011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13463 case of less than 256 MiB of RAM.
13464
ab80f326
VS
134652011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 * grub-core/commands/wildcard.c (make_regex): Handle @.
13468
4155e697
VS
134692011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13472
ab178c08
SJ
134732011-08-21 Szymon Janc <szymon@janc.net.pl>
13474
13475 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13476 AC_LANG_CONFTEST macros.
13477
7dc3c686
SJ
134782011-08-20 Szymon Janc <szymon@janc.net.pl>
13479
13480 Add grub-fstest option to uncompress data for commands.
13481
13482 * util/grub-fstest.c (uncompress): New var.
13483 (options): New option -u.
13484
fe8d4a7b
SJ
134852011-08-20 Szymon Janc <szymon@janc.net.pl>
13486
13487 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13488 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13489
a5219af1
SJ
134902011-08-20 Szymon Janc <szymon@janc.net.pl>
13491
13492 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13493 file type was not recognized correctly (not gzip or corrupted).
13494
f87abff5
VS
134952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13498 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13499
d94497ea
VS
135002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13503 loongson.
13504 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13505 video_radeon_fuloong2e.
13506 * grub-core/video/radeon_fuloong2e.c: New file.
13507 * include/grub/video.h (grub_video_id_t): Add new ID
13508 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13509
0d1fd011
VS
135102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13513 define.
13514 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13515 that PRID matches the detected subplatform and reset the subplatform
13516 if it doesn't.
13517
84beb0ee
VS
135182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13521
1227c133
VS
135222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 Fix PCI iterating on functions >= 4.
13525
13526 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13527 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13528 Removed.
13529 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13530 (grub_pci_read): Fix bitmask.
13531 (grub_pci_read_word): Likewise.
13532 (grub_pci_read_byte): Likewise.
13533 (grub_pci_write): Likewise.
13534 (grub_pci_write_word): Likewise.
13535 (grub_pci_write_byte): Likewise.
13536
9594c689
VS
135372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13540 can still be specified in TARGET_CFLAGS)
13541
14a2562c
VS
135422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13545
13546 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13547 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13548 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13549 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13550 (FULOONG): Rename to ...
13551 (FULOONG2F): ... this. All users updated.
13552 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13553 (machtype_fuloong2f_str): ... this.
13554 (machtype_fuloong2e_str): New string.
13555 Check for machtype_fuloong2e_str.
13556 * grub-core/loader/mips/linux.c (loongson_machtypes)
13557 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13558 * grub-core/term/serial.c (loongson_defserial)
13559 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13560 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13561 loongson_defserial.
13562 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13563 Rename to ...
13564 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13565 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13566 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13567 to IMAGE_FULOONG2F_FLASH. All users updated.
13568 (image_targets): Rename images.
13569 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13570
b526cbb6
SJ
135712011-08-19 Szymon Janc <szymon@janc.net.pl>
13572
13573 Make enable of disk cache statistics code configurable.
13574
13575 * configure.ac: --enable-cache-stats added.
13576 * config.h.in (DISK_CACHE_STATS): New define.
13577 * grub-core/Makefile.core.def (cacheinfo): New command.
13578 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13579 * grub-core/commands/cacheinfo.c: New file.
13580 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13581 moved to cacheinfo.c.
13582 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13583 debug code.
13584 * include/grub/disk.h: Likewise.
13585
fb739ccd
SJ
135862011-08-19 Szymon Janc <szymon@janc.net.pl>
13587
13588 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13589 * grub-core/Makefile.am: Likewise.
13590
2bba8cfd
VS
135912011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13594 non-zero pull.
13595
43526629
VS
135962011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13599 All users updated.
13600 (grub_jfs_lookup_symlink): Use correct starting inode.
13601
5c144cc8
VS
136022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * util/grub-setup.c (main): Add missing gcry initialisation.
13605
b1257f65
VS
136062011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 Don't accept text modes on EFI when booting Linux.
13609
13610 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13611 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13612
828bc390
ML
136132011-08-15 Mario Limonciello <mario_limonciello@dell.com>
136142011-08-15 Colin Watson <cjwatson@ubuntu.com>
13615
13616 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13617 use of "/path/.." as in grub-install for EFI as well as handling
13618 symlinks correctly.
13619 Fixes Debian bug #637768.
13620
5f60ccac
CW
136212011-08-15 Colin Watson <cjwatson@ubuntu.com>
13622
13623 * util/grub-probe.c: Remove duplicate #include.
13624
6dc212f9
RM
136252011-08-10 Robert Millan <rmh@gnu.org>
13626
13627 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13628
13629 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13630 function.
13631 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13632 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13633
66816d85
RM
136342011-08-03 Robert Millan <rmh@gnu.org>
13635
13636 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13637 la_array as packed.
13638 Reported by: Zachary Bedell
13639
20168fca
CW
136402011-07-26 Colin Watson <cjwatson@ubuntu.com>
13641
13642 * configure.ac: The Loongson port requires grub-mkfont due to its
13643 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13644 be built.
13645
303b6246
CW
136462011-07-26 Colin Watson <cjwatson@ubuntu.com>
13647
13648 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13649 processing arguments (otherwise help2man fails when GRUB has not yet
13650 been installed).
13651
6795300e
VS
136522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13653
41aa28ea
VS
13654 New script grub-mkstandalone.
13655
13656 * Makefile.util.def (grub-mkstandalone): New script.
13657 * docs/man/grub-mkstandalone.h2m: New file.
13658 * util/grub-mkstandalone.in: Likewise.
13659
136602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 Support ATA disks with 4K sectors.
6795300e
VS
13663
13664 * include/grub/ata.h (grub_ata): New member log_sector_size.
13665 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13666 (grub_ata_identify): Read sector size.
13667 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13668
92227597
VS
136692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * util/grub-install.in: Don't use uhci outside of x86.
13672
c77069f5
VS
136732011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * util/grub-mkrescue.in: Add missing quotes.
13676
136772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13678
13679 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13680 dereference.
13681
583168a2
VS
136822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13685
6be1c01f
VS
136862011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * include/grub/video.h: add missing EXPORT_FUND on
13689 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13690
a1167439
VS
136912011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * include/grub/mips/kernel.h: Fix define conflict.
13694
bf66054f
VS
136952011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13698 all four ways.
13699
8fc4fa45
CW
137002011-07-21 Colin Watson <cjwatson@ubuntu.com>
13701
13702 Preferred resolution detection for VBE.
13703
13704 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13705 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13706 the Flat Panel extension, in line with the X.org VESA driver.
13707 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13708 New function.
13709 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13710 (grub_vbe_bios_read_edid): Likewise.
13711 (grub_vbe_get_preferred_mode): Likewise.
13712 (grub_video_vbe_setup): When the mode is "auto", try to get the
13713 preferred mode from VBE, and use the largest mode that is no larger
13714 than the preferred mode (some BIOSes expose a preferred mode that is
13715 not in their mode list!). If this fails, fall back to 640x480 as a
13716 safe conservative choice.
13717 (grub_video_vbe_get_edid): New function.
13718 (grub_video_vbe_adapter): Add get_edid.
13719 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13720 (struct grub_video_adapter): Add get_edid.
13721 (grub_video_edid_checksum): Add prototype.
13722 (grub_video_edid_preferred_mode): Likewise.
13723 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13724 structure.
13725
13726 * grub-core/commands/videoinfo.c (print_edid): New function.
13727 (grub_cmd_videoinfo): Print EDID if available.
13728
13729 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13730 is more appropriate on a wider range of platforms than 640x480.
13731 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13732 documentation.
13733
ca5572a9
VS
137342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13737
e4bcf625
VS
137382011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * po/POTFILES.in: Regenerate.
13741
c4edd548
VS
137422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13745 incorrect memory usage.
13746
16a2bab0
VS
137472011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * util/grub-install.in: Source grub-mkconfig_lib.
13750
2e418de6
VS
137512011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 Remove getroot.c from core on emu platform.
13754
13755 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13756 kern/emu/raid.c.
13757 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13758 useless.
13759 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13760 * util/getroot.c (get_win32_path): ... here.
13761 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13762 * util/getroot.c (fini_libzfs): ... here.
13763 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13764 * util/getroot.c (grub_get_libzfs_handle): ... here.
13765 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13766 Moved from here...
13767 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13768 * grub-core/kern/emu/misc.c
13769 (grub_make_system_path_relative_to_its_root): Moved from here...
13770 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13771 * grub-core/kern/emu/getroot.c: Moved from here ...
13772 * util/getroot.c: ... here. All users updated.
13773 * grub-core/kern/emu/raid.c: Moved from here ...
13774 * util/raid.c: ... here. All users updated.
13775
def9832a
VS
137762011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 * po/POTFILES.in: Regenerate.
13779
cd8fe79a
VS
137802011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 Fix compilation on GNU/Linux.
13783
13784 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13785 Disable geli.
13786 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13787 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13788 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13789
a251b719
VS
137902011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
137912011-07-07 Michael Gorven <michael@gorven.za.net>
137922011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13793
13794 LUKS and GELI support.
13795
13796 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13797 grub-core/disk/luks.c, grub-core/disk/geli.c,
13798 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13799 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13800 grub-core/lib/arg.c.
13801 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13802 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13803 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13804 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13805 (grub-bin2h): Add libgcry.a.
13806 (grub-mkimage): Likewise.
13807 (grub-mkrelpath): Likewise.
13808 (grub-script-check): Likewise.
13809 (grub-editenv): Likewise.
13810 (grub-mkpasswd-pbkdf2): Likewise.
13811 (grub-pe2elf): Likewise.
13812 (grub-fstest): Likewise.
13813 (grub-mkfont): Likewise.
13814 (grub-mkdevicemap): Likewise.
13815 (grub-probe): Likewise.
13816 (grub-ofpath): Likewise.
13817 (grub-mklayout): Likewise.
13818 (example_unit_test): Likewise.
13819 (grub-menulst2cfg): Likewise.
13820 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13821 * grub-core/Makefile.core.def (cryptodisk): New module.
13822 (luks): Likewise.
13823 (geli): Likewise.
13824 * grub-core/disk/AFSplitter.c: New file.
13825 * grub-core/disk/cryptodisk.c: Likewise.
13826 * grub-core/disk/geli.c: Likewise.
13827 * grub-core/disk/luks.c: Likewise.
13828 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13829 grub_util_is_lvm.
13830 (grub_util_get_dm_abstraction): New function.
13831 (grub_util_follow_gpart_up): Likewise.
13832 (grub_util_get_geom_abstraction): Likewise.
13833 (grub_util_get_dev_abstraction): Use new functions.
13834 (grub_util_pull_device): Pull GELI and LUKS.
13835 (grub_util_get_grub_dev): Handle LUKS and GELI.
13836 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13837 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13838 (follow_geom_up): Removed.
13839 (grub_util_fd_seek): New function.
13840 (open_device): Use grub_util_fd_seek.
13841 (nread): Rename to ..
13842 (grub_util_fd_read): ... this. All users updated.
13843 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13844 (grub_crypto_cbc_decrypt): Likewise.
13845 (grub_crypto_hmac_write): Likewise.
13846 (grub_crypto_hmac_buffer): Likewise.
13847 (grub_password_get): Extend to util.
13848 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13849 New member modname.
13850 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13851 * include/grub/cryptodisk.h: New file.
13852 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13853 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13854 LUKS and GELI.
13855 (grub_util_follow_gpart_up): New proto.
13856 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13857 (grub_util_fd_read): Likewise.
13858 (grub_cryptodisk_cheat_mount): Likewise.
13859 (grub_util_cryptodisk_print_uuid): Likewise.
13860 (grub_util_get_fd_sectors): Likewise.
13861 * util/grub-fstest.c (mount_crypt): New var.
13862 (fstest): Mount crypto if requested.
13863 (options): New option -C.
13864 (argp_parser): Parse -C.
13865 (main): Init and fini gcry.
13866 * util/grub-install.in: Support cryptodisk install.
13867 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13868 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13869 cryptodisk.
13870 (prepare_grub_to_access_device): Likewise.
13871 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13872 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13873 (probe_cryptodisk_uuid): New function.
13874 (probe_abstraction): Likewise.
13875 (probe): Use new functions.
13876 * util/import_gcry.py: Create Makefile.utilgcry.def.
13877 Add modname member.
13878
9bfdcbbc
VS
138792011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 Lazy device scanning.
13882
13883 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13884 (grub-setup): Remove util/raid.c.
13885 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13886 * grub-core/disk/lvm.c (scan_depth): New variable.
13887 (grub_lvm_iterate): Rescan if necessary.
13888 (find_lv): New function based on grub_lvm_open.
13889 (grub_lvm_open): Use find_lv. Rescan on error.
13890 (is_node_readable): New function.
13891 (is_lv_readable): Likewise.
13892 (grub_lvm_scan_device): Skip already found disks.
13893 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13894 Stop if searched device is found and readable.
13895 * grub-core/disk/raid.c (inscnt): New variable.
13896 (scan_depth): Likewise.
13897 (scan_devices): New function based on grub_raid_register. Abort if
13898 looked for device is found.
13899 (grub_raid_iterate): Rescan if needed.
13900 (find_array): NEw function based on -grub_raid_open.
13901 (grub_raid_open): Use find_array and rescan.
13902 (insert_array): Set became_readable_at.
13903 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13904 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13905 New function.
13906 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13907 (grub_util_pull_device): New function.
13908 (grub_util_get_grub_dev): Call grub_util_pull_device.
13909 * util/raid.c: Moved to ..
13910 * grub-core/kern/emu/raid.c: ... here.
13911 (grub_util_raid_getmembers): New parameter "bootable".
13912 All users updated. Support 1.x.
13913 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13914 All users updated.
13915 * include/grub/disk.h (grub_disk_pull_t): New enum.
13916 (grub_disk_dev): Change iterate prototype.
13917 All users updated.
13918 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13919 New proto.
13920 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13921 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13922 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13923 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13924 All users updated.
13925 * include/grub/util/raid.h: Removed.
13926
1c358e59
VS
139272011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * po/POTFILES.in: Regenerate.
13930
abee94ed
VS
139312011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 Unify sparc init with other ieee1275.
13934
13935 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13936 instead of kern/sparc64/ieee1275/init.c.
13937 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13938 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13939 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13940 grub/machine/kernel.h.
13941 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13942 (grub_claim_heap) [__sparc__]: Use sparc version.
13943 (grub_machine_init): Moved args parsing to
13944 (grub_parse_cmdline): ...this.
13945 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13946 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13947 New definition.
13948 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13949
13950 Move BOOTP to separate file.
13951
13952 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13953 * grub-core/net/net.c: Move all BOOTP functions to
13954 * grub-core/net/bootp.c: ... here.
13955
13956 Use frame interface on PXE.
13957
13958 * grub-core/Makefile.core.def (pxecmd): Removed.
13959 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13960 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13961 * grub-core/i386/pc/pxe.c: Moved from here ...
13962 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13963 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13964 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13965
13966 EFI network support.
13967
13968 * grub-core/Makefile.core.def (efinet): New module.
13969 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13970 here...
13971 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13972 All users updated.
13973 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13974 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13975 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13976 * grub-core/net/drivers/efi/efinet.c: New file.
13977 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13978 (grub_efi_net_config): New extern var.
13979
13980 Various cleanups and bugfixes.
13981
13982 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13983 error.
13984 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13985 disk declared as partition.
13986 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13987 leak on failure.
13988 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13989 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13990 (grub_debug_zalloc): Likewise.
13991 (grub_debug_realloc): Likewise.
13992 (grub_debug_memalign): Likewise.
13993 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13994 Check that target is IPv4.
13995 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13996 local-mac-address as fallback.
13997 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13998 memory leak.
13999 * grub-core/net/ip.c (ipchksum): Rename to ...
14000 (grub_net_ip_chksum): ... this. All users updated.
14001 (grub_net_recv_ip_packets): Special handling for DHCP.
14002 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14003
14004 Unify prefix handling
14005
14006 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14007 (grub_machine_get_bootlocation): ... this.
14008 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14009 (grub_machine_get_bootlocation): ... this.
14010 (grub_prefix): New variable.
14011 (prefix): Removed.
14012 (root_dev): New variable.
14013 (dir): Likewise.
14014 (main): Use new variables.
14015 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14016 Revamped into ...
14017 (grub_machine_get_bootlocation): ... this.
14018 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14019 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14020 (grub_machine_get_bootlocation): ... this.
14021 (grub_machine_set_prefix): Removed.
14022 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14023 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14024 Revamped into ...
14025 (grub_machine_get_bootlocation): ... this.
14026 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14027 (grub_set_prefix_and_root): ... this. All users updated.
14028 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14029 Revamped into ...
14030 (grub_machine_get_bootlocation): ... this.
14031 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14032 (grub_machine_get_bootlocation): New proto.
14033 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14034
14035 Less intrusive and more reliable seek on network implementation.
14036
14037 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14038 (grub_file_seek): Don't call grub_file_net_seek.
14039 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14040 (grub_net_fs_read_real): .. this.
14041 (grub_net_seek_real): Use net->offset.
14042 (grub_net_fs_read): Seek if necessary.
14043
14044 Unify IEEE1275 netwotk config with the other platforms.
14045
14046 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14047 New variable.
14048 (grub_machine_get_bootlocation): Support network.
14049 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14050 Support type and device parsing.
14051 (grub_ieee1275_get_device_type): New function.
14052 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14053 into ...
14054 (grub_ieee1275_net_config_real): ... this.
14055 (grub_ofnet_probecards): Removed.
14056 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14057 * include/grub/ieee1275/ofnet.h: Removed.
14058 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14059 extern var.
14060 (grub_ieee1275_get_device_type): New function.
14061
14062 Unify network device closing across platforms and make more robust.
14063
14064 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14065 grub_grubnet_fini.
14066 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14067 already.
14068 * grub-core/net/net.c (grub_net_network_level_interface_register):
14069 Update num_ifaces.
14070 (grub_net_card_unregister): Close all interfaces.
14071 (receive_packets): Don't poll if no iterfaces are registered.
14072 Open if necessary.
14073 (grub_net_fini_hw): New function.
14074 (grub_net_restore_hw): Likewise.
14075 (fini_hnd): New variable.
14076 (GRUB_MOD_INIT): Register preboot hook.
14077 (GRUB_MOD_FINI): Run and unregister preboot hook.
14078
14079 Poll network cards when idle.
14080
14081 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14082 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14083 * grub-core/net/net.c (receive_packets): Save last poll time.
14084 (grub_net_poll_cards_idle_real): New function.
14085 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14086 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14087 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14088
14089 Rename ofnet interfaces.
14090
14091 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14092 (grub_ofnet_findcards): Use ofnet_%s names.
14093
14094 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14095
14096 Cleanup socket opening.
14097
14098 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14099 (grub_net_fs_close): Likewise.
14100 (grub_net_fs_read_real): Use eof member.
14101 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14102 (+grub_net_udp_close): New inline function.
14103
14104 * include/grub/net/tftp.h: Moved to the top of ...
14105 * grub-core/net/tftp.c: ... here.
14106 * include/grub/net/ip.h: Moved mostly to the top of ...
14107 * grub-core/net/ip.c: ... here.
14108 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14109 * grub-core/net/ethernet.c: ... here.
14110
14111 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14112
14113 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14114 FS name.
14115
14116 * include/grub/net/ip.h (ipv4_ini): Removed.
14117 (ipv4_fini): Likewise.
14118
14119 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14120 (grub_net_send_ip_packets): Likewise.
14121
cf1337aa
VS
141222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14125 grub_read_cmos prototype.
14126
93c06ff9
VS
141272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 VGA text support in qemu-mips
14130
14131 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14132 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14133 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14134 text.
14135 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14136 * grub-core/kern/vga_init.c: ... this.
14137 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14138 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14139 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14140 Adjust.
14141 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14142 GRUB_MACHINE_PCI_IO_BASE.
14143
748ccabe
VS
141442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 MIPS qemu flash support.
14147
14148 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14149 magic.
14150 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14151 (grub_machine_init): Probe memory if its size isn't known.
14152 * util/grub-mkimage.c (image_targets): Add flash targets.
14153 (generate_image): Handle flash targets.
14154
d7345994
VS
141552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 MIPS qemu at_keyboard support.
14158
14159 * gentpl.py (videoinkernel): Add qemu-mips.
14160 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14161 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14162 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14163 modules.
14164 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14165 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14166 * grub-core/term/serial.c (grub_serial_register)
14167 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14168
a07a81b3
VS
141692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 CMOS support on sparc.
14172
14173 * gentpl.py (cmos): Add powerpc and sparc.
14174 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14175 powerpc and sparc.
14176 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14177 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14178 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14179 grub_set_datetime_cmos.
14180 * grub-core/lib/ieee1275/cmos.c: New file.
14181 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14182 (find_rtc): Set no_ieee1275_rtc on error.
14183 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14184 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14185 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14186 fail. Move value to argument. All users updated
14187 (grub_cmos_write): Likewise.
14188 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14189 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14190 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14191 grub_get_datetime_cmos and grub_set_datetime_cmos.
14192
77546584
GS
141932011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14194
14195 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14196 sourcing grub-mkconfig_lib.
14197 * util/update-grub_lib.in: Likewise.
14198 * util/grub.d/00_header.in: Likewise.
14199 * util/grub.d/10_hurd.in: Likewise.
14200 * util/grub.d/10_kfreebsd.in: Likewise.
14201 * util/grub.d/10_linux.in: Likewise.
14202 * util/grub.d/10_netbsd.in: Likewise.
14203 * util/grub.d/10_windows.in: Likewise.
14204 * util/grub.d/20_linux_xen.in: Likewise.
14205 * util/grub.d/30_os-prober.in: Likewise.
14206
54894791
CW
142072011-06-28 Colin Watson <cjwatson@ubuntu.com>
14208
14209 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14210 default_bg_color rather than black.
14211 (grub_gfxterm_fullscreen): Likewise.
14212 (grub_gfxterm_background_color_cmd): Save new background color in
14213 default_bg_color.
14214
8d5d8444
VS
142152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14218
5afeb5bd
VS
142192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14222 mismerge.
14223
ba7df45e
VS
142242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 Chainloading on coreboot support.
14227
14228 * grub-core/Makefile.core.def (chain): Add coreboot.
14229 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14230
d0b526b2
VS
142312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14234 if it happens.
14235
5ff1d945
VS
142362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 Implement time command.
14239
14240 * grub-core/Makefile.core.def (time): New module.
14241 * grub-core/commands/time.c: New file.
14242 * grub-core/script/parser.y: Remove "time" keyword.
14243 * grub-core/script/yylex.l: Likewise.
14244
5ebaad7e
VS
142452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14248
bdea3798
VS
142492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14252 when handling leftovers.
14253
b28c5655
VS
142542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14257 so that help2man doesn't fail.
14258
b6f945dc
VS
142592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14262 type in pointers on sparc64.
14263 (get_card_packet): Likewise.
14264
f9b75e8a
CW
142652011-06-27 Colin Watson <cjwatson@ubuntu.com>
14266
14267 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14268 with `*'.
14269 (grub_cmd_videoinfo): Fetch current video mode.
14270
1e3d9b86
VS
142712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14274 because of underlying system restrictions.
14275
efff4b1c
VS
142762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14279 necessary.
14280
9fc9ce37
VS
142812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 Coreboot video support.
14284
14285 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14286 (vbe): Likewise.
14287 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14288 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14289 here ...
14290 * grub-core/kern/i386/int.S: ... here.
14291 * grub-core/video/i386/pc/vbe.c: Updated includes.
14292 * grub-core/video/i386/pc/vga.c: Likewise.
14293 * include/grub/i386/coreboot/memory.h
14294 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14295 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14296 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14297 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14298 Disable interrupts.
14299 * include/grub/i386/pc/vga.h: Removed. All users updated.
14300
41bec7fe
VS
143012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14304 definitions for dprintf.
14305 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14306
ca80309d
VS
143072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14310 prototype.
14311 (get_card_packet): Likewise.
14312
9e322ce8
YB
143132011-06-26 Yves Blusseau <blusseau@zetam.org>
14314
14315 Display the path of the file when file is not found
14316
14317 * grub-core/fs/fat.c: Display the filename when file is not found.
14318 * grub-core/fs/fshelp.c: Likewise.
14319 * grub-core/fs/hfs.c: Likewise.
14320 * grub-core/fs/jfs.c: Likewise.
14321 * grub-core/fs/minix.c: Likewise.
14322 * grub-core/fs/ufs.c: Likewise.
14323 * grub-core/fs/btrfs.c: Likewise.
14324 * grub-core/commands/i386/pc/play.c: Likewise.
14325
cbf597af
SJ
143262011-06-26 Szymon Janc <szymon@janc.net.pl>
14327
14328 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14329 pointer checks before calling grub_free().
14330 * grub-core/commands/wildcard.c (match_devices): Likewise.
14331 * grub-core/commands/wildcard.c (match_files): Likewise.
14332 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14333 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14334 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14335 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14336 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14337 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14338 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14339 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14340 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14341
6295b32f
P
143422011-06-25 Patrick <p55@mailinator.com>
14343
14344 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14345
77c0840b
VS
143462011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14349 (grub_pxe_send): Likewise.
14350 (GRUB_MOD_INIT): Fix types.
14351
40ea05de
SJ
143522011-06-24 Szymon Janc <szymon@janc.net.pl>
14353
14354 * grub-core/io/xzio.c: Fix code style issues
14355
90162423
MRA
143562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
143572011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14358
14359 Network infrastructure.
14360 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14361
14362 * include/grub/net/arp.h: New file.
90162423
MRA
14363 * include/grub/net/device.h: Likewise.
14364 * include/grub/net/ethernet.h: Likewise.
14365 * include/grub/net/ip.h: Likewise.
14366 * include/grub/net/netbuff.h: Likewise.
14367 * include/grub/net/tftp.h: Likewise.
14368 * include/grub/net/udp.h: Likewise.
14369 * include/grub/ieee1275/ofnet.h: Likewise.
14370 * include/grub/emu/export.h: Likewise.
14371 * include/grub/net.h: Likewise.
14372 * grub-core/net/arp.c: Likewise.
14373 * grub-core/net/ethernet.c: Likewise.
14374 * grub-core/net/ip.c: Likewise.
14375 * grub-core/net/udp.c: Likewise.
14376 * grub-core/net/tftp.c: Likewise.
14377 * grub-core/net/netbuff.c: Likewise.
14378 * grub-core/net/net.c: Likewise.
14379 * grub-core/net/drivers/emu/emunet.c: Likewise.
14380 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14381 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14382 export.h.
14383 * grub-core/Makefile.core.def (net): New module.
14384 (tftp): Likewise.
14385 (ofnet): Likewise.
14386 (emunet): Likewise.
14387 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14388 network protocols.
14389 * grub-core/kern/device.c (grub_net_open) : New variable.
14390 (grub_device_open): Handle network device.
14391 (grub_device_close): Likewise.
14392 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14393 (grub_grubnet_fini): Likewise.
14394 (grub_file_seek): Seek in network device.
14395 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14396 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14397 network root.
14398 (grub_machine_fini): Call grub_grubnet_fini.
14399 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14400 network.
14401 (grub_ieee1275_get_aliasdevname): New function.
14402 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14403 Add unofficial Solaris network info.
14404 (grub_multiboot_make_mbi): Likewise.
14405 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14406 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14407 * include/grub/device.h (grub_fs): Removed.
14408 * include/grub/err.h (grub_err_t): Add network-related values.
14409 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14410 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14411 (grub_ieee1275_get_aliasdevname): New proto.
14412 * include/grub/net.h: Rewritten.
423a1849 14413
031f22a0
VS
144142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14417 names.
14418
4388ca72
VS
144192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14422 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14423 it truncates the output.
14424 Reported by: Ximin Luo.
14425
98e2f506
VS
144262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14427
14428 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14429
2a5e94d8
VS
144302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14433 partmap before abstraction.
14434
535c1910
AK
144352011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14436
14437 * util/grub-mkconfig_lib.in: Add missing quotes.
14438
bc09e1a2
VS
144392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14442 old method if mountinfo would return /dev/root and /dev/root doesn't
14443 exist.
14444
290766fb
VS
144452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 ZFS zlib support
14448
14449 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14450 (decomp_table): Add zlib entries.
14451 (zio_read): USe 8 bits for compression function rather than 3.
14452 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14453
144542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * grub-core/disk/ahci.c: Add missing license statements.
14457 * grub-core/fs/romfs.c: Likewise.
14458 * grub-core/lib/ia64/setjmp.S: Likewise.
14459 * grub-core/loader/i386/pc/freedos.c: Likewise.
14460 * grub-core/loader/ia64/efi/linux.c: Likewise.
14461 * grub-core/video/colors.c: Likewise.
14462 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14463
5ab3f48a
VS
144642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 AHCI support.
14467
14468 * grub-core/Makefile.core.def (ata_pthru): Removed.
14469 (ahci): New module.
14470 (pata): Likewise.
14471 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14472 on unload.
14473 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14474 readwrite.
14475 (grub_hdparm_do_check_powermode_cmd): Likewise.
14476 (grub_hdparm_do_smart_cmd): Likewise.
14477 (grub_hdparm_set_val_cmd): Likewise.
14478 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14479 * grub-core/disk/ahci.c: New file.
14480 * grub-core/disk/ata.c: Factor out the low-level part into ...
14481 * grub-core/disk/pata.c: ... here.
14482 * grub-core/disk/ata_pthru.c: Contents moved to ...
14483 * grub-core/disk/pata.c: ... here.
14484 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14485 (grub_scsi_iterate): Use grub_scsi_names.
14486 (grub_scsi_open): Likewise.
14487 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14488 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14489 (grub_ata_regs_t): New struct.
14490 (grub_disk_ata_pass_through_parms): Likewise.
14491 (grub_ata_device): Renamed to ...
14492 (grub_ata): ... this.
14493 (grub_ata_dev): New struct.
14494 Removed all low-level inline functions.
14495 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14496 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14497 iterate hooks and open. All users updated.
14498 * util/grub-install.in: Handle AHCI disk module.
14499
c31dc5f5
SJ
145002011-06-23 Szymon Janc <szymon@janc.net.pl>
14501
14502 Add support for DRI and RSTn markers in JPEG files.
14503
14504 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14505 (JPEG_MARKER_RST0): Likewise.
14506 (JPEG_MARKER_RST1): Likewise.
14507 (JPEG_MARKER_RST2): Likewise.
14508 (JPEG_MARKER_RST3): Likewise.
14509 (JPEG_MARKER_RST4): Likewise.
14510 (JPEG_MARKER_RST5): Likewise.
14511 (JPEG_MARKER_RST6): Likewise.
14512 (JPEG_MARKER_RST7): Likewise.
14513 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14514 (grub_jpeg_decode_dri): New function.
14515 (grub_jpeg_decode_sos): Move image data related part into
14516 grub_jpeg_decode_data function.
14517 (grub_jpeg_decode_data): New function.
14518 (grub_jpeg_reset): New function.
14519 (grub_jpeg_decode_jpeg): Handle new markers.
14520
fe12fd5b
VS
145212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * util/ieee1275/ofpath.c (check_sas): Close fd.
14524 (main): Free of_path.
14525 Reported by: David Volgyes <dvolgyes>.
14526
03147f46
VS
145272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14530 Reported by: David Volgyes <dvolgyes>.
14531
cad3237f
VS
145322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14535 file after stat.
14536 Reported by: David Volgyes <dvolgyes>.
14537
13548d26
VS
145382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14541
14542 Reported by: David Volgyes <dvolgyes>.
14543
e061a1b5
VS
145442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14547 Prevent memory leak.
14548
1abe47dc
VS
145492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14552 (main): Close file.
e061a1b5 14553 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14554
fbc62666
VS
145552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14558 to continue if allocation is failed.
14559
14560 Reported by: David Volgyes <dvolgyes>.
14561
e98c83e9
DV
145622011-06-23 David Volgyes <dvolgyes>
14563
14564 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14565 dereference.
14566
a199a8cd
VS
145672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 Fix spurious warning.
14570
14571 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14572 (acorn_partition_map_find): Use .bin member.
14573
e2d1dba0
VS
145742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14577 /dev/root as a valid device.
14578
8a5d6919
JM
145792011-06-23 Jim Meyering <meyering@redhat.com>
14580
e2d1dba0
VS
14581 Avoid NULL deref in grub_device_open.
14582
8a5d6919
JM
14583 * grub-core/kern/device.c (grub_device_open): Don't dereference
14584 a NULL pointer upon failed grub_env_get.
14585
f7db6f4a
VS
145862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 Support non-512B sectors and agglomerate reads.
14589
14590 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14591 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14592 (disk_io_guid): Removed.
14593 (make_devices): Locate solely by BlockIO.
14594 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14595 (grub_efidisk_read): Use read_blocks.
14596 (grub_efidisk_write): Use write_blocks.
14597 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14598 log_sector_size.
14599 (get_safe_sectors): Handle non-512B sectors.
14600 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14601 sectors.
14602 (grub_biosdisk_write): Handle non-512B sectors.
14603 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14604 (grub_scsi_read): Remove special non-512B block handling (now handled
14605 one level up).
14606 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14607 and do sanity checks.
14608 (grub_disk_adjust_range): Handle non-512B sectors.
14609 (transform_sector): New function.
14610 (grub_disk_read_small): Likewise.
14611 (grub_disk_read): Rewritten.
14612 (grub_disk_write): Handle non-512B sectors.
14613 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14614 log_sector_size.
14615 (open_device): Use log_sector_size.
14616 (grub_util_biosdisk_read): Likewise.
14617 (grub_util_biosdisk_write): Likewise.
14618 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14619 non-512B sectors.
14620 (pc_partition_map_embed): Likewise.
14621 * include/grub/disk.h (grub_disk): New field log_sector_size.
14622 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14623 (GRUB_DISK_CACHE_BITS): Increased to 6.
14624 * util/grub-fstest.c (fstest): New command testload.
14625 (argp_parser): Likewise.
14626
881ac815
RM
146272011-06-16 Robert Millan <rmh@gnu.org>
14628
14629 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14630 `ata' driver on kernel of FreeBSD 9.
14631
14632 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14633 (get_ataraid_disk_name): New functions.
14634 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14635 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14636 get_ataraid_disk_name() and get_ada_disk_name().
14637
1e9aef7d
CW
146382011-06-13 Colin Watson <cjwatson@ubuntu.com>
14639
14640 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14641 input format.
14642
351c7c8a
CW
146432011-05-29 Colin Watson <cjwatson@ubuntu.com>
14644
14645 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14646 `ftp.gnu.org' for `alpha.gnu.org'.
14647
6b4e6430
CW
146482011-05-27 Colin Watson <cjwatson@ubuntu.com>
14649
14650 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14651 partitions under /dev/disk/by-id/.
14652
c64db050
CW
146532011-05-27 Colin Watson <cjwatson@ubuntu.com>
14654
14655 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14656 after ten consecutive open failures. Scanning all the way up to
14657 10000 is excessive and can cause serious performance problems in
14658 some configurations.
14659 Fixes Ubuntu bug #787461.
14660
245f4aba
VS
146612011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14664 opening new one.
14665
f767c929
VS
146662011-05-21 Colin Watson <cjwatson@ubuntu.com>
146672011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 Don't stat devices unless we have to.
14670
14671 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14672 dir == /dev/mapper.
14673 (grub_guess_root_device): Use already known os_dev if possible.
14674 * grub-core/kern/emu/hostdisk.c
14675 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14676 if device is known to be a dm one.
14677
f35fa3a6
CW
146782011-05-20 Colin Watson <cjwatson@ubuntu.com>
14679
14680 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14681 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14682 Reported by: Pawel Tecza.
14683
9a79fcf2
VS
146842011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14687 (lsefisystab): Likewise.
14688 (lssal): Likewise.
14689 (lsefimmap): Likewise.
14690 (hdparm): Enable on qemu-mips.
14691 (setjmp): Add ia64 nodist.
14692 (serial): Simplify tags.
14693
63e3eea9
CW
146942011-05-18 Colin Watson <cjwatson@ubuntu.com>
14695
14696 * Makefile.util.def (grub-ofpathname): Install manual page.
14697
09728256
CW
146982011-05-18 Colin Watson <cjwatson@ubuntu.com>
14699
14700 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14701
8b63a142
CW
147022011-05-18 Colin Watson <cjwatson@ubuntu.com>
14703
14704 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14705
e775d8ed
VS
147062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14709 into dprintf.
14710
bf947d36
VS
147112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 Use full 64-bit division.
14714
14715 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14716 (grub_divmod64): ... this.
14717 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14718 version.
14719
b84f26c5
CW
147202011-05-18 Colin Watson <cjwatson@ubuntu.com>
14721
14722 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14723 `source'.
14724
5626056f
CW
147252011-05-18 Colin Watson <cjwatson@ubuntu.com>
14726
14727 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14728 to avoid accidents when debugging with 'sh -x'.
14729 * grub-core/gensyminfo.sh.in: Likewise.
14730 * tests/example_scripted_test.in: Likewise.
14731 * tests/grub_cmd_regexp.in: Likewise.
14732 * tests/grub_script_blanklines.in: Likewise.
14733 * tests/grub_script_dollar.in: Likewise.
14734 * tests/grub_script_expansion.in: Likewise.
14735 * tests/grub_script_final_semicolon.in: Likewise.
14736 * tests/partmap_test.in: Likewise.
14737 * tests/util/grub-shell-tester.in: Likewise.
14738 * tests/util/grub-shell.in: Likewise.
14739
e2965f4a
CW
147402011-05-18 Colin Watson <cjwatson@ubuntu.com>
14741
14742 Move gfxmenu color handling to video, so that gfxterm can use it
14743 too.
14744
14745 * grub-core/gfxmenu/named_colors.c: Move to ...
14746 * grub-core/video/colors.c: ... here. Rename
14747 grub_gui_get_named_color to grub_video_get_named_color.
14748 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14749 * grub-core/video/colors.c (my_isxdigit): ... here.
14750 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14751 Move to ...
14752 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14753 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14754 to ...
14755 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14756
14757 * include/grub/gui.h (grub_gui_color_t): Move to ...
14758 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14759 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14760 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14761 * include/grub/gui.h (grub_gui_map_color): Move to ...
14762 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14763 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14764 to ...
14765 * include/grub/video.h (grub_video_get_named_color): ... here.
14766 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14767 * include/grub/video.h (grub_video_parse_color): ... here.
14768
14769 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14770 video/colors.c.
14771 (gfxmenu): Remove gfxmenu/named_colors.c.
14772 (video) [videomodules]: Add video/colors.c.
14773
14774 Add a background_color command.
14775
14776 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14777 function.
14778 (GRUB_MOD_INIT): Register background_color command.
14779 (GRUB_MOD_FINI): Unregister background_color command.
14780 (redraw_screen_rect): Allow blend/replace of text layer to be
14781 controlled independently from whether there is a background bitmap.
14782 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14783 changing bitmap.
14784
1e4b4390
VS
147852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14786
26618ff0
VS
14787 Patch BPB in ntldr and chainloader --bpb.
14788
1e4b4390
VS
14789 * grub-core/fs/fat.c: Include grub/fat.h.
14790 (grub_fat_bpb): Moved to ...
14791 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14792 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14793 grub/ntfs.h.
14794 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14795 Moved from here...
14796 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14797 here.
14798 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14799 New function.
14800 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14801 (GRUB_MOD_INIT): Show --bpb.
14802 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14803 * grub-core/normal/main.c (features): New variable.
14804 (GRUB_MOD_INIT): Set feature_* variables.
14805 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14806 proto.
14807 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14808
cf02731e
VS
148092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14812 for cleanness.
14813
e3a1073f
VS
148142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 FreeDOS direct loading support.
14817
14818 * docs/grub.texi (Supported OS): Add FreeDOS.
14819 * grub-core/Makefile.core.def (freedos): New module.
14820 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14821 variable.
14822 (grub_relocator16_boot): Handle %ebx.
14823 * grub-core/lib/i386/relocator16.S: Likewise.
14824 * grub-core/loader/i386/pc/freedos.c: New file.
14825
05caa461
VS
148262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 Long Linux command line support.
14829
14830 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14831 (maximal_cmdline_size): New variable.
14832 (allocate_pages): Use maximal_cmdline_size.
14833 (grub_cmd_linux): Set and use maximal_cmdline_size.
14834 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14835 (allocate_pages): Use maximal_cmdline_size.
14836 (grub_cmd_linux): Set and use maximal_cmdline_size.
14837 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14838 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14839 and cmdline_size.
14840
a2491e23
VS
148412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
148422011-05-18 Colin Watson <cjwatson@ubuntu.com>
14843
14844 Improve devmapper support
14845
14846 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14847 (grub_util_is_lvm): New function.
14848 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14849 than lvm if not dmraid.
14850 Handle mapped md nodes.
14851 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14852 (grub_util_device_is_mapped): ... this. Make always available. All users
14853 updated.
14854 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14855 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14856 dmraid nodes.
14857 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14858
6ad6223e
VS
148592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14862
14863 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14864 * grub-core/modinfo.sh.in: New file.
14865 * grub-core/Makefile.core.def (modinfo.sh): New script.
14866 * util/grub-mknetdir.in: Use modinfo.sh.
14867 * util/grub-mkrescue.in: Likewise.
14868
543a8f6e
VS
148692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14872 Fix potential usage of Elf32 instead of Elf64 when compiling on
14873 32-bit architecture. Add endianness macros while on it.
14874
4959e111
VS
148752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 Use mipsel- rather than mips- in directories involving mipsel ports to
14878 allow both endiannesses coexist.
14879
14880 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14881 mips. All conditions adjusted.
14882 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14883 variable.
14884 * util/grub-install.in: Adjust conditions to take renaming into account.
14885 * util/grub-mkimage.c (image_targets): Likewise. New target
14886 mips-qemu_mips-elf for bigendian mips.
14887
35341bbc
VS
148882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 Avoid unnecessary copying on MIPS.
14891
14892 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14893 early if src == dest.
14894 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14895 compression is none.
14896
b772baed
VS
148972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 Reduce memory footprint on SGI by putting modules before the kernel
14900 as opposed to after.
14901
14902 * grub-core/Makefile.core.def (kernel): Increase linking address.
14903 (none_decompress): Likewise.
14904 (xz_decompress): Likewise.
14905 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14906 address.
14907 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14908 layout change.
14909 (grub_arch_modules_addr): New function.
14910 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14911 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14912 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14913 here.
14914 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14915 (grub_total_modules_size): ... this. Make global.
14916 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14917 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14918 New definition.
14919 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14920 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14921 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14922 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14923 * util/grub-mkimage.c (image_target_desc): New flag
14924 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14925 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14926 (generate_image): Handle images with modules before kernel.
14927
566a1917
VS
149282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Prevent potential loss of memory map by overwrite on qemu-mips.
14931
14932 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14933 Save ram size in $s4.
14934 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14935 All users changed to grub_arch_memsize.
14936 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14937 Loongson.
14938 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14939 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14940 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14941 external variable.
14942
5d420cd9
CW
149432011-05-17 Colin Watson <cjwatson@ubuntu.com>
14944
14945 * .bzrignore: Remove grub-dumpbios.
14946
d064b830
CW
149472011-05-17 Colin Watson <cjwatson@ubuntu.com>
14948
14949 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14950 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14951 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14952 existing options which append).
14953 * docs/grub.texi (Simple configuration): Document new options.
14954 Reported by: Ian Jackson. Fixes Debian bug #617538.
14955
3ca2b466
CW
149562011-05-17 Colin Watson <cjwatson@ubuntu.com>
14957
14958 * util/grub-fstest.c (cmd_cat): New function.
14959 (fstest): Handle CMD_CAT.
14960 (options): Add cat.
14961 (argp_parser): Handle cat.
14962
24c9143a
CW
149632011-05-17 Colin Watson <cjwatson@ubuntu.com>
14964
14965 * Makefile.util.def (grub-bin2h): Don't install.
14966 * docs/man/grub-bin2h.h2m: Remove.
14967
90f7ac19
VS
149682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14971 place.
14972
8d4a5178
VS
149732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 Reenable qemu-mips port.
14976
14977 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14978 Fix small arc bug while on it.
14979 * gentpl.py: Handle qemu_mips.
14980 * grub-core/Makefile.am: Likewise.
14981 * grub-core/Makefile.core.def: Likewise.
14982 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14983 inappropriate includes.
14984 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14985 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14986 * grub-core/kern/main.c (grub_modules_get_end)
14987 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14988 * grub-core/kern/mips/qemu-mips: Moved to ..
14989 * grub-core/kern/mips/qemu_mips: ... this.
14990 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14991 (grub_machine_init): Call terminfo_init and serial_init.
14992 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14993 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14994 New variable.
14995 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14996 parameter passing.
14997 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14998 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14999 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15000 * include/grub/mips/qemu_mips/cmos.h: New file.
15001 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15002 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15003 Removed.
15004 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15005 Use correct mips-style address.
15006 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15007 (GRUB_TICKS_PER_SECOND): Removed.
15008 (grub_get_rtc): Likewise.
15009 (grub_cpu_idle): Likewise.
15010 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15011 New definition.
15012 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15013 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15014 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15015 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15016 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15017 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15018 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15019 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15020
400b9371
VS
150212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 SGI ARCS port.
15024
15025 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15026 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15027 platforms.
15028 * configure.ac: New target mips-arc.
15029 * gentpl.py: Likewise.
15030 * grub-core/Makefile.am: Likewise.
15031 * grub-core/Makefile.core.def: Likewise.
15032 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15033 (none_decompress): Likewise.
15034 (lsdev): New module.
15035 (datetime): Use lib/arc/datetime.c on ARC.
15036 (part_dvh): New module.
15037 * grub-core/commands/arc/lsdev.c: New file.
15038 * grub-core/disk/arc/arcdisk.c: Likewise.
15039 * grub-core/kern/mips/arc/init.c: Likewise.
15040 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15041 aligned addresses.
15042 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15043 support.
15044 (grub_arch_dl_relocate_symbols): Likewise.
15045 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15046 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15047 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15048 platforms.
15049 * grub-core/lib/arc/datetime.c: New file.
15050 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15051 pci.h on non-loongson.
15052 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15053 (grub_linux_boot): Set unused registers to 0.
15054 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15055 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15056 * grub-core/mmap/mips/uppermem.c: ...here.
15057 * grub-core/partmap/dvh.c: New file.
15058 * grub-core/term/arc/console.c: Likewise.
15059 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15060 (grub_terminfo_set_current): Add terminal "arc".
15061 (grub_terminfo_readkey): Support ARC sequences.
15062 * include/grub/arc/arc.h: New file.
15063 * include/grub/arc/console.h: Likewise.
15064 * include/grub/disk.h (grub_disk_dev_id): Add
15065 GRUB_DISK_DEVICE_ARCDISK_ID.
15066 * include/grub/mips/arc/kernel.h: New file.
15067 * include/grub/mips/arc/memory.h: Likewise.
15068 * include/grub/mips/arc/time.h: Likewise.
15069 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15070 * include/grub/mips/kernel.h (grub_halt): ... here.
15071 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15072 here...
15073 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15074 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15075 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15076 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15077 proto.
15078 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15079 from here ...
15080 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15081 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15082 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15083 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15084 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15085 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15086 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15087 (grub_phys_addr_t): Moved from here ...
15088 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15089 (grub_vtop): Moved from here ...
15090 * include/grub/mips/memory.h (grub_vtop): ... here.
15091 (grub_map_memory): Moved from here ...
15092 * include/grub/mips/memory.h (grub_map_memory): ... here.
15093 (grub_unmap_memory): Moved from here ...
15094 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15095 (grub_machine_mmap_iterate): Moved from here ...
15096 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15097 (grub_mmap_get_lower): Moved from here ...
15098 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15099 (grub_mmap_get_upper): Moved from here ...
15100 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15101 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15102 here ...
15103 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15104 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15105 here ...
15106 * include/grub/mips/time.h (grub_get_rtc): ... here.
15107 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15108 here ...
15109 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15110 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15111 here ...
15112 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15113 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15114 definition.
15115 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15116 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15117 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15118 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15119 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15120 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15121 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15122 (GRUB_MACHINE_LINK_ADDR): Likewise.
15123 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15124 to 6.
15125 * util/grub-install.in: Run dvhtool on ARC.
15126 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15127 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15128
c8ecc840
VS
151292011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15132 blocks.
15133
153a4b55
VS
151342011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15137 after enabling port.
15138
ff44d107
VS
151392011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 Skip incorrect USB devices.
15142
15143 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15144 configcnt == 0.
15145 * include/grub/usb.h (grub_usb_err_t): New enum value
15146 GRUB_USB_ERR_BADDEVICE.
15147
638dbe4f
VS
151482011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 Fuloong video init support.
15151
15152 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15153 well.
15154 (grub_vga_read_arx): New function.
15155 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15156 definition.
15157 (framebuffer): New members io, mmioptr and mmiobase.
15158 (read_sis_cmd): New function.
15159 (write_sis_cmd): Likewise.
15160 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15161 rather than 640x400.
15162 * grub-core/video/sis315_init.c: New file.
15163
c3fc520c
VS
151642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15167 non-loongson.
15168 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15169 to grub_dl_register_symbol.
15170
67b1e5c9
VS
151712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 Fix compilation errors.
15174
15175 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15176 potentially unused.
15177 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15178 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15179 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15180 to loongson machines.
15181
b756f75f
VS
151822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 Several FS mtime support.
15185
15186 * grub-core/fs/affs.c (grub_affs_time): New struct.
15187 (grub_affs_file): New field mtime.
15188 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15189 type. Removed 'size'. New field 'di'. All users updated.
15190 (grub_affs_mount): Simplify checsum checking.
15191 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15192 (grub_affs_dir): Handle mtime.
15193 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15194 (grub_cpio_dir): Likewise.
15195 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15196 (grub_hfs_filerec): New field mtime.
15197 (grub_hfs_dir): Handle mtime.
15198 (grub_hfs_mtime): New function.
15199 (grub_hfs_fs): Register grub_hfs_mtime.
15200 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15201 (grub_iso9660_dir): New field mtime.
15202 (grub_fshelp_node): New field dirent.
15203 (iso9660_to_unixtime): New function.
15204 (iso9660_to_unixtime2): Likewise.
15205 (grub_iso9660_read_symlink): Use node->dirent.
15206 (grub_iso9660_iterate_dir): Likewise.
15207 (grub_iso9660_dir): Set mtime.
15208 (grub_iso9660_mtime): New function.
15209 (grub_iso9660_fs): Register grub_iso9660_mtime.
15210 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15211 (grub_jfs_inode): New fields atime, ctime and mtime.
15212 (grub_jfs_dir): Set mtime.
15213 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15214 * grub-core/fs/ntfs.c (list_file): Set mtime.
15215 (grub_ntfs_dir): Likewise.
15216 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15217 (grub_reiserfs_iterate_dir): Set mtime.
15218 (grub_reiserfs_dir): Likewise.
15219 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15220 (grub_fshelp_node): Likewise.
15221 (grub_sfs_iterate_dir): Set mtime.
15222 (grub_sfs_dir): Likewise.
15223 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15224 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15225 (grub_xfs_inode): New fields atime, mtime, ctime.
15226 (grub_xfs_dir): Set mtime.
15227 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15228 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15229 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15230
15231 Support UDF symlinks.
15232
15233 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15234 (grub_ufs_read_symlink): New function. All users updated.
15235
15236 Check amiga partmap checksum.
15237
15238 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15239 (grub_amiga_partition): Likewise.
15240 (amiga_partition_map_checksum): New function.
15241 (amiga_partition_map_iterate): Check checksum.
15242
5470225d
VS
152432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 ROMFS support.
15246
15247 * Makefile.util.def (libgrubmods.a): Add romfs.
15248 * grub-core/Makefile.core.def (romfs): New module.
15249 * grub-core/fs/romfs.c: New file.
15250
d4680a35
VS
152512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 Squashfs v4 support.
15254
15255 * Makefile.util.def (libgrubmods.a): Add squash4.
15256 * grub-core/Makefile.core.def (squash4): New module.
15257 * grub-core/fs/squash4.c: New file.
15258 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15259 disk_input_start, disk_input.
15260 (get_byte): Handle disk_input.
15261 (grub_zlib_disk_read): New function.
15262 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15263
bcb18e74
FZ
152642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
152652011-05-15 Feiran Zheng <famcool@gmail.com>
15266
15267 * Makefile.util.def (libgrubmods.a): Add minix3.
15268 * grub-core/Makefile.core.def (minix3): New module.
15269 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15270 (GRUB_MINIX_BSIZE): Removed.
15271 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15272 (grub_minix_ino_t): New type.
15273 (grub_minix_le_to_cpu_ino): New macro.
15274 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15275 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15276 (grub_minix_data): New field block_size.
15277 (grub_minix_read_file): Handle 64-bit correctly.
15278 * grub-core/fs/minix3.c: New file.
15279
32297d5f
TG
152802011-05-15 Tristan Gingold <gingold@free.fr>
152812011-05-15 Robert Millan <rmh.grub@aybabtu.com>
152822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 IA64 support.
15285
15286 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15287 * configure.ac: Add ia64-efi target.
15288 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15289 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15290 * gentpl.py: Add ia64_efi platform.
15291 Rename x86_efi to efi and Add ia64-efi. All users updated.
15292 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15293 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15294 Remove kern/generic/rtc_get_time_ms.c on EFI.
15295 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15296 kern/ia64/dl_helper.c on ia64-efi.
15297 Add kern/emu/cache.c on emu.
15298 (linux): Use on loader/ia64/efi/linux.c on ia64.
15299 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15300 whether symbol is a function.
15301 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15302 (grub_symbol): New field 'isfunc'.
15303 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15304 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15305 (grub_dl_load_segments): Place all sections into the same region.
15306 [__ia64__]: Create trampolines and got.
15307 [GRUB_MACHINE_EMU]: Call mprotect.
15308 (grub_dl_resolve_symbols): Resolve symbol type as well.
15309 [__ia64__]: Create function descriptors.
15310 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15311 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15312 (grub_get_rtc): New function.
15313 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15314 * grub-core/kern/emu/cache.S: Renamed to ...
15315 * grub-core/kern/emu/cache_s.S: ... this.
15316 [__ia64__]: Add a nop.
15317 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15318 [__ia64__]: New function.
15319 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15320 * grub-core/kern/ia64/dl.c: New file.
15321 * grub-core/kern/ia64/dl_helper.c: Likewise.
15322 * grub-core/kern/ia64/efi/init.c: New file.
15323 * grub-core/kern/ia64/efi/startup.S: Likewise.
15324 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15325 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15326 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15327 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15328 * grub-core/loader/ia64/efi/linux.c: New file.
15329 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15330 (GRUB_MOD_DEP): Likewise.
15331 (grub_dl) [__ia64__]: New fields got and tramp.
15332 (grub_dl): New field 'base'.
15333 (grub_dl_register_symbol): New argument isfunc. All users updated.
15334 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15335 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15336 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15337 (grub_ia64_dl_get_tramp_got_size): New proto.
15338 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15339 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15340 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15341 * include/grub/efi/api.h: Skip call wrappers on ia64.
15342 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15343 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15344 * include/grub/elf.h (ELF_ST_INFO): New definition.
15345 * include/grub/ia64/efi/kernel.h: New file.
15346 * include/grub/ia64/efi/memory.h: Likewise.
15347 * include/grub/ia64/efi/time.h: Likewise.
15348 * include/grub/ia64/kernel.h: Likewise.
15349 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15350 * include/grub/ia64/time.h: New file.
15351 * include/grub/ia64/types.h: Likewise.
15352 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15353 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15354 New protos.
15355 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15356 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15357 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15358 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15359 All users updated.
15360 (EFI64_HEADER_SIZE): New definition. All users updated.
15361 (image_targets): Add ia64-efi.
15362 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15363 jumpers_addr. All users updated.
15364 Create function descriptors.
15365 (count_funcs): New function.
15366 (unaligned_uint32): New struct.
15367 (MASK20): New definition.
15368 (MASK19): Likewise.
15369 (MASKF21): Likewise.
15370 (add_value_to_slot_20b): New function.
15371 (add_value_to_slot_21_real): Likewise.
15372 (add_value_to_slot_21): Likewise.
15373 (ia64_kernel_trampoline): New struct.
15374 (nopm): New variable.
15375 (jump): Likewise.
15376 (make_trampoline): New function.
15377 (relocate_addresses): Handle ia64.
15378 (make_reloc_section): Likewise.
15379 (load_image): Likewise.
15380
983b414d
VS
153812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15382
15383 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15384 warning. Move variables before code while on it.
15385
5d063cdc
VS
153862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Fuloong support.
15389
15390 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15391 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15392 * grub-core/boot/mips/loongson/fuloong.S: New file.
15393 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15394 Explicitly init CS5536.
15395 [FULOONG]: Don't use serial until CS5536 is available.
15396 Set GPIO based on dumps.
15397 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15398 [FULOONG]: Handle GPIO and memory controller differences.
15399 Parse machine type in $a2.
15400 * grub-core/boot/mips/startup_raw.S: Determine and save the
15401 architecture.
15402 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15403 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15404 init on architecture type.
15405 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15406 SIS315E. Don't init at_keyboard on fuloong.
15407 (grub_halt): Support Fuloong.
15408 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15409 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15410 (loongson_machtypes): New array.
15411 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15412 type.
15413 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15414 config. All users updated. Handle CS5536 serial.
15415 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15416 default port on machine type. Register serial as inactive.
15417 * grub-core/video/sis315pro.c: New file.
15418 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15419 definition.
15420 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15421 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15422 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15423 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15424 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15425 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15426 to ...
15427 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15428 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15429 definition.
15430 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15431 (grub_arch_machine): New extern var.
15432 * include/grub/mips/loongson/serial.h
15433 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15434 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15435 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15436 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15437 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15438 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15439 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15440 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15441 * include/grub/term.h (grub_term_register_input_inactive): New inline
15442 function.
15443 (grub_term_register_output_inactive): Likewise.
15444 * include/grub/video.h (grub_video_driver_id): New value
15445 GRUB_VIDEO_DRIVER_SIS315PRO.
15446 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15447 New field "names". All users updated.
15448 New field value IMAGE_FULOONG_FLASH.
15449 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15450
6ada82d1
JU
154512011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15452
15453 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15454 and add some clarification.
15455
90c571a4
VS
154562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15459 platforms if kernel is compressed.
15460
de04eecf
VS
154612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15464 unused modules since currently referrence counter isn't reliable and
15465 there isn't much memory to recover there anyway.
15466
57688121
VS
154672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15470 rather than resetting it to allow modules to reference themselves
15471 in init.
15472
3d2c7e35
VS
154732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15476 counter on dependencies since grub_dl_unref already handles this.
15477
b25db218
VS
154782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15481 on error if not already done.
15482
25a45338
VS
154832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 Fix few potential memory misusage.
15486
15487 * grub-core/font/font.c (load_font_index): Don't free char_index to
15488 avoid double free.
b25db218
VS
15489 (grub_font_load): Zero-fill font at alloc for safety.
15490 Close file on error.
15491 (free_font): Free bmp_idx.
25a45338 15492
0cac83df
VS
154932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * docs/grub.texi (Installation): Fix several outdated claims.
15496
2217a143
VS
154972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 Handle module_license on windows.
15500
15501 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15502 sections shifted.
15503 (insert_string): Make argument const char * instead of char *.
15504 (write_section_data): Handle long section names.
15505 Handle module_license.
15506
d4de6b01
VS
155072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15510 handle class-free menuentries.
15511 (grub_normal_add_menu_entry): Add a check to be sure.
15512
4c2a3b43
VS
155132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15516 PgUp and PgDown.
15517
85c6210f
VS
155182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * configure.ac: Bump version to 1.99.
15521
36084912
VS
155222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 Give ATA device a bit more time on first try in order to allow disks
15525 to spin up.
15526
15527 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15528 if dev->present is 1. Reset dev->present on failure.
15529 (grub_ata_device_initialize): Set dev->present to 1.
15530 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15531 (grub_ata_device): New member 'present'.
15532
bda0e219
VS
155332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * util/grub-mkimage.c (generate_image): Update hash.
15536
19e1c41b
VS
155372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 Flush caches on DMA memory.
15540
15541 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15542 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15543 (grub_dma_free): Likewise.
15544 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15545
91bbcc0c
VS
155462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15549 to avoid asm treating ld and sd as macros.
15550
60ddfad3
VS
155512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15554 decompressor.
15555
a298aa04
VS
155562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15559 grub_decompress_core since later would fail if grub_decompress_core
15560 is too far.
15561
9b44feca
VS
155622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15565 R_MIPS_JALR since it's used by newer compiler.
15566
56dbe7b4
VS
155672011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15570
52856af2
VS
155712011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15574 file_path to 0 for surety.
15575 (grub_chainloader_boot): Set exit_data to NULL.
15576 Unset the loader once done.
15577 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15578
9c9bfc6d
VS
155792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15582 unknown key into a dprintf.
15583
dd94a3df
VS
155842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15587 on first non-existant partition.
15588
fa68d99c
VS
155892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15592 openning fails.
15593 Reported by: Mark Korenberg.
15594
157effb7
VS
155952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15598 overflow.
15599
ea75312f
VS
156002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15603 before closing to ensure that it will be readable by grub-setup.
15604
072b5d31
VS
156052011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15608 (devpath_1): Use MAKE_PIWG_PATH.
15609 (devpath_2): Likewise.
15610 (devpath_3): Likewise.
15611 (devpath_4): Likewise.
15612 (devpath_5): Likewise.
15613 (devpath_6): Likewise.
15614
15615 The appleldr.mod was checked that to be binary identical to previous
15616 version.
15617
7fae0051
Z
156182011-05-05 Zach <mikezackles>
15619
15620 Support 2010 Macbooks.
15621
15622 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15623 (devs): Add devpath_6.
15624
7c515bee
VS
156252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15628 /dev/random. /dev/urandom is good enough for our purposes (salting).
15629
ed660bd8
VS
156302011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15633
ee5614b7
VS
156342011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15637 hexadecimal.
15638
664889a6
VS
156392011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15642 and not 0 on failure.
15643
bd405bbc
CW
156442011-05-03 Colin Watson <cjwatson@ubuntu.com>
15645
15646 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15647 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15648 disk; otherwise grub_fs_probe will not fall back to the next
15649 filesystem.
15650 (grub_pxefs_open): Likewise, for consistency.
15651 Reported and tested by: Ezekiel Grave.
15652
4ebff753
CW
156532011-05-03 Colin Watson <cjwatson@ubuntu.com>
15654
15655 * tests/partmap_test.in: Don't hardcode path to parted.
15656 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15657
8f942553
CW
156582011-05-01 Colin Watson <cjwatson@ubuntu.com>
15659
15660 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15661 of `ls' to find out which devices are available.
15662
3c62402d
VS
156632011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15666 than source address for efi mmap buffer.
15667
723f63f2
VS
156682011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15671 wrong action on non-detecting the magic.
15672
68797f92
VS
156732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15676 already supplied by another part of the module (fixes compilation on
15677 FreeBSD).
15678
6be8715d
VS
156792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15682 match the one used by mdadm.
15683
e91dba5b
CW
156842011-04-21 Colin Watson <cjwatson@ubuntu.com>
15685
15686 * po/README: Add instructions for creating po/LINGUAS.
15687
c85140b3
CW
156882011-04-21 Colin Watson <cjwatson@ubuntu.com>
15689
15690 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15691 #551428.
15692
15693 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15694 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15695 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15696 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15697 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15698 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15699 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15700 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15701 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15702 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15703 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15704 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15705 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15706 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15707 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15708 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15709 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15710 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15711 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15712 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15713 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15714 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15715
92051871
CW
157162011-04-21 Colin Watson <cjwatson@ubuntu.com>
15717
15718 * grub-core/kern/emu/getroot.c
15719 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15720 test that was incorrectly reintroduced in r3214.
15721 Reported by: Ian Dall. Fixes Savannah bug #33133.
15722
b13f79a4
CW
157232011-04-21 Colin Watson <cjwatson@ubuntu.com>
15724
15725 Fix stack pointer handling in 16-bit relocator.
15726
15727 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15728 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15729 Fixes Ubuntu bug #683904.
15730
9b710a88
VS
157312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 * configure.ac: Bump version to 1.99~rc2.
15734
d97e7b59
VS
157352011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15738 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15739 * grub-core/lib/x86_64/setjmp.S: Likewise.
15740 * grub-core/lib/mips/setjmp.S: Likewise.
15741 * grub-core/lib/powerpc/setjmp.S: Likewise.
15742 * grub-core/lib/sparc64/setjmp.S: Likewise.
15743
0624551c
VS
157442011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15747 * grub-core/lib/efi/datetime.c: Likewise.
15748
e8f28d4c
VS
157492011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15752 New function.
15753 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15754 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15755 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15756
bba79a15
VS
157572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15760 bitmap.
15761 (grub_gfxterm_term_init): Likewise.
15762
abc474ef
VS
157632011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 Take into account the decorations the computing menu entry width.
15766
15767 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15768 (grub_gfxmenu_create_box): Register get_border_width.
15769 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15770 if available.
15771 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15772 get_border_width.
15773
e74b3947
EP
157742011-04-18 Endres Puschner <code@e7p.de>
15775
15776 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15777 Don't skip first class.
15778
34faa595
VS
157792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15782 chunks.
15783 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15784
93a777e3
VS
157852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 Complete 64-bit division support.
15788
15789 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15790 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15791 * include/grub/misc.h (grub_divmod64): Rename to ...
15792 (grub_divmod64_full): ... this.
15793 (grub_divmod64): New inline function.
15794
a5102d94
VS
157952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15798
f3fb7b36
VS
157992011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15802 performing the necessary test.
15803
9ac718b0
VS
158042011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15807 (kfreebsd.elf): Likewise.
15808 (pc-chainloader.elf): Likewise.
15809 (ntldr.elf): Likewise.
15810
50d2cc5a
VS
158112011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 Identify RAID by its UUID rather than (guessed) name.
15814
15815 * grub-core/disk/raid.c (ascii2hex): New function.
15816 (grub_raid_open): Accept mduuid/%s specification.
15817 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15818 (get_mdadm_uuid): ... this.
15819 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15820
e03f7bea
VS
158212011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15822
15823 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15824 to negative size.
15825
e74c3112
CW
158262011-04-13 Colin Watson <cjwatson@ubuntu.com>
15827
15828 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15829 btrfs subvolume.
15830 * util/grub.d/20_linux_xen.in: Likewise.
15831
78fa584f
CW
158322011-04-13 Colin Watson <cjwatson@ubuntu.com>
15833
15834 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15835 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15836
15837 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15838 Build a list of relevant visible mounts using the mnt_id and
15839 parent_mnt_id fields, and then scan that list at the end.
15840
9d5f8162
CW
158412011-04-12 Colin Watson <cjwatson@ubuntu.com>
15842
15843 * docs/grub.texi (normal): New section.
15844 (normal_exit): New section.
15845 (Embedded configuration): Add reference to normal.
15846 (GRUB only offers a rescue shell): Likewise.
15847 * docs/grub-dev.texi (Error Handling): Fix typo.
15848
09a9d66f
CW
158492011-04-12 Colin Watson <cjwatson@ubuntu.com>
15850
15851 * NEWS: Drop obsolete entry about probe-only btrfs support.
15852
0c676933
CW
158532011-04-12 Colin Watson <cjwatson@ubuntu.com>
15854
15855 * util/import_gcry.py: Fix typo.
15856
ec9f5e0d
VS
158572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * NEWS: Add btrfs support.
15860
fe6b2cba
VS
158612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
158622011-04-11 Colin Watson <cjwatson@ubuntu.com>
15863
15864 BtrFS support. Written by me (Vladimir) with important bugfixes and
15865 even more important testing by Colin.
15866
15867 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15868 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15869 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15870 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15871 mem_input_off and mem_input. All users updated to accept in-RAM input.
15872 (gzio_seek): New function.
15873 (test_zlib_header): Likewise.
15874 (grub_gzio_read): Likewise.
15875 (grub_zlib_decompress): Likewise.
15876 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15877 Accept partial and non-virtual mounts.
15878 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15879 avoid receiving /dev/dm-X as device.
15880 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15881 Handle bind and partial mounts.
15882 * grub-core/lib/crc.c: New file.
15883 * include/grub/deflate.h: Likewise.
15884 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15885 proto.
15886 * include/grub/lib/crc.h: New file.
15887
e745cf0c
VS
158882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 Implement automatic module license checking according to new GNU
15891 guidelines.
15892
15893 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15894 (grub_dl_load_core): Use grub_dl_check_license.
15895 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15896 (GRUB_MOD_LICENSE): Likewise.
15897 (GRUB_MOD_DUAL_LICENSE): Likewise.
15898 All modules updated.
15899
2a9bc016
CW
159002011-04-11 Colin Watson <cjwatson@ubuntu.com>
15901
15902 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15903 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15904 loaders.
15905 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15906
8a3bc88e
VS
159072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15910
af869a4a
VS
159112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15914 failed.
15915
9ee8d94f
VS
159162011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15919 parenthesis in the middle of the filename.
15920
b01abe3e
VS
159212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15924 rather than trying to put initrd way too high.
15925 Reported by: Ryan Lortie <desrt@desrt.ca>
15926
335bda1e
VS
159272011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15930 improperly removed string.
15931
5ca1a64d
VS
159322011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15935 is_disk.
15936 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15937 (open_device) Likewise.
15938 (grub_util_biosdisk_close): Likewise.
d8ce9995 15939 Reported by: Mark Korenberg.
5ca1a64d 15940
cbac5b1e
AK
159412011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15942
15943 * util/grub-mkconfig_lib.in: Add missing quotes.
15944
088cdb65
CW
159452011-04-10 Colin Watson <cjwatson@ubuntu.com>
15946
15947 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15948 is NULL.
15949
8b8a81fa
VS
159502011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 Dynamically count the number of lines for the lower banner.
15953
15954 * grub-core/normal/menu_entry.c (per_term_screen): New member
15955 num_entries.
15956 (print_down): Use num_entries.
15957 (update_screen): Likewise.
15958 (grub_menu_entry_run): Set num_entries.
15959 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15960 num_entries.
15961 (grub_print_message_indented): Move real part to ...
15962 (grub_print_message_indented_real): ... here. Additional argument
15963 dry_run.
15964 (draw_border): Additional argument num_entries.
15965 (print_message): Additional argument dry_run.
15966 (print_entries): Receive menu viewer data.
15967 (grub_menu_init_page): New argment num_entries.
15968 (menu_text_set_chosen_entry): Use num_entries.
15969 (grub_menu_try_text): Likewise.
15970 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15971 All users updated.
15972 (grub_ucs4_count_lines): New function.
15973 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15974 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15975 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15976 (grub_term_border_height): Likewise.
15977 (grub_term_num_entries): Likewise.
15978
277f955b
VS
159792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15982 Remove now unused string.
15983
536ce85a
CW
159842011-04-09 Colin Watson <cjwatson@ubuntu.com>
15985
15986 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15987 build system.
15988 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15989
15990 (Comment): Fix typo.
15991 (Getting started): General copy-editing.
15992 (Typical Development Experience): Likewise.
15993 (Error Handling): Likewise.
15994 (Video API): Likewise.
15995
2cf09e32
CW
159962011-04-09 Colin Watson <cjwatson@ubuntu.com>
15997
15998 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15999 throughout.
16000
1ec652f4
VS
160012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16004 directory.
16005
2c583728
CW
160062011-04-08 Colin Watson <cjwatson@ubuntu.com>
16007
16008 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16009 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16010 "development".
16011
d7a565e9
VS
160122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16015 grub_strcpy since the lines aren't necessarily 0-terminated.
16016
7c2e4909
VS
160172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16020 root on legacy.
16021
34c09785
VS
160222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16025 (GRUB_MOD_INIT): DEVICE isn't optional.
16026
6a6f8058
VS
160272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16030 word on new line if it's too long anyway. Fixes a hang.
16031
2e335e90
VS
160322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16035 const.
16036 * util/grub-setup.c (main): Reuse md device name if available.
16037 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16038 not GRUB name as argument.
16039 Based on patch by: Florian Wagner <fwagner>.
16040
10a7a867
VS
160412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16044 Place mbi on low memory for better compatibility.
16045
7a3d6cd9
VS
160462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16049
18dd6b47
VS
160502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
160512011-04-08 Colin Watson <cjwatson@ubuntu.com>
16052
16053 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16054 * conf/Makefile.common: Likewise.
18dd6b47 16055
3c0e3f14
VS
160562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16057
f7148863
VS
16058 * grub-core/normal/menu.c: Add missing include.
16059
160602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16063
6d1fa41f
MZ
160642011-04-08 Martin Zuther <mzuther@mzuther.de>
16065
16066 * util/grub-mkconfig.in: Ignore emacsen backup.
16067
478182a8
VS
160682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16071 on open.
16072 (grub_util_biosdisk_close): Likewise.
16073
72a89a54
VS
160742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16077 const attribute and use grub_isdigit.
16078
b5ebecfa
A
160792011-04-06 Andrey <dev_null@ukr.net>
16080
16081 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16082 gcc warning.
16083
7755f66e
VS
160842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16087 useful grub_dprintf's.
16088
461121ff
VS
160892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16092
2a961775
VS
160932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16096
adf594cc
VS
160972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 Output errors if theme loading failed.
16100
16101 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16102 grub_gfxterm_fullscreen on error paths to ...
16103 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16104 theme loading error.
16105
665900a3
VS
161062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16109 space for older compilers.
16110 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16111
a562b479
VS
161122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16115 and report them as not RAID members since they are useless for GRUB.
16116 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16117
850e9373
VS
161182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 Increase LVM implementation robustness in order not to crash on
16121 configurations like pvmove. Previously code assumed that in some places
16122 only lvs or only pvs are used whereas it seems that they are used
16123 interchangeably.
16124
16125 * grub-core/disk/lvm.c (read_node): New function.
16126 (read_lv): Use read_node.
16127 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16128 Match volumes only at the end when all lvs are found. Take both
16129 pvs (first) and lvs (second) into account.
16130 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16131 mirror_* into node_*. All users updated.
16132 (grub_lvm_stripe): Merge this ...
16133 (grub_lvm_mirror): ... and this ...
16134 (grub_lvm_node): ... into this. All users updated.
16135
6f332153
VS
161362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16139 of function to allow further scanning for LVMs.
16140
829ea451
VS
161412011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16144 on failed seek as it breaks open fd reusage.
16145
09ceb9a5
VS
161462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * util/grub-install.in: Add a recommendation to use --recheck before
16149 reporting bugs.
16150
67e11623
VS
161512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16154 are obtained.
16155
caee5efd
VS
161562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 GRUB developper manual based on existing Internals section and
16159 contributions by the various authors with active copyright assignment.
16160
16161 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16162 * docs/font_char_metrics.png: New file.
16163 * docs/font_char_metrics.txt: Likewise.
16164 * docs/grub-dev.texi: Likewise.
16165 * docs/grub.texi (Internals): Move from here ...
16166 * docs/grub-dev.texi: ... here.
16167
2cccc747
CW
161682011-04-01 Colin Watson <cjwatson@ubuntu.com>
16169
16170 Store the loopback device as data on loopback grub_disk structures,
16171 rather than the file it points to. This fixes use of freed memory
16172 if an existing loopback device is replaced.
16173
16174 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16175 disk->data, not dev->file.
16176 (grub_loopback_read): Adjust file assignment to match.
16177 Fixes Ubuntu bug #742967.
16178
186ae367
CW
161792011-04-01 Colin Watson <cjwatson@ubuntu.com>
16180
16181 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16182 when replacing an existing device.
16183
cfed2ad0
VS
161842011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16187 memory corruptions.
16188
16189 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16190 unsigned.
16191 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16192 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16193 (grub_jfs_read_inode): Likewise.
16194 (grub_jfs_opendir): Likewise. Remove now useless casts.
16195 (grub_jfs_getent): Likewise.
16196 Make ino a grub_uint32_t rather than int.
16197 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16198 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16199 division and module with bit operations.
16200 (grub_jfs_find_file): Make ino a grub_uint32_t.
16201 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16202
05d2ed32
CW
162032011-04-01 Colin Watson <cjwatson@ubuntu.com>
16204
16205 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16206 warning. (This was in fact always initialised before use, but GCC
16207 wasn't smart enough to prove that.)
16208 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16209
91dc6073
VS
162102011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16213 stack alignment.
16214 (efi_wrap_1): Likewise.
16215 (efi_wrap_2): Likewise.
16216 (efi_wrap_3): Likewise.
16217 (efi_wrap_4): Likewise.
16218 (efi_wrap_5): Likewise.
16219 (efi_wrap_6): Likewise.
16220 (efi_wrap_10): Likewise.
16221 Based on information by: Red Hat/Peter Jones.
16222
a8afc1d1
CW
162232011-03-31 Colin Watson <cjwatson@ubuntu.com>
16224
16225 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16226 set-but-not-used variable.
16227
a826cc7d
CW
162282011-03-31 Colin Watson <cjwatson@ubuntu.com>
16229
16230 * docs/grub.texi (Simple configuration): Be more explicit about
16231 GRUB_DEFAULT, and add an example.
16232 Reported by: Leslie Rhorer.
16233
875b67ba
CW
162342011-03-30 Colin Watson <cjwatson@ubuntu.com>
16235
16236 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16237 shell".
16238
fd7cd914
AS
162392011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16240
16241 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16242 * util/grub.d/20_linux_xen.in: Likewise.
16243
090b1b6a
VS
162442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16245
16246 * util/grub.d/10_linux.in: Try alternative config filenames where
16247 we parse config file.
16248 * util/grub.d/20_linux_xen.in: Likewise.
16249
baad885c
AS
162502011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16251
16252 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16253 * util/grub.d/20_linux_xen.in: Likewise.
16254
241e41f5
VS
162552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 * grub-core/disk/raid.c (insert_array): Add few potentially
16258 useful grub_util_info.
16259 (grub_raid_register): Likewise.
16260
56445fb2
VS
162612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16264 Preserve partition number in mdadm code path.
16265
c871b1c6
VS
162662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16269 few potentially useful grub_util_info.
16270
5e631b4f
CW
162712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16274
2d5d0333
CW
162752011-03-30 Colin Watson <cjwatson@ubuntu.com>
16276
16277 * docs/grub.texi (default): Use @example rather than nested
16278 itemized lists to avoid breaking gendocs.
16279
3d7ed04e
CW
162802011-03-30 Colin Watson <cjwatson@ubuntu.com>
16281
16282 * docs/grub.texi (Future): Update.
16283
abf04200 162842011-03-30 Colin Watson <cjwatson@ubuntu.com>
16285
16286 * docs/grub.texi (Environment): New chapter.
16287 (Changes from GRUB Legacy): Link to "Environment block" section for
16288 details of limitations.
16289 (Simple configuration): Likewise. Link to documentation of gfxmode
16290 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16291 respectively.
16292 (Shell-like scripting): Note that normal variables are stored in the
16293 environment.
16294 (gettext): Link to documentation of lang and locale_dir.
16295 (list_env): New section.
16296 (load_env): New section.
16297 (save_env): New section.
16298
16299 (Reporting bugs): Fix typo.
16300
e1ad0edd
VS
163012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16304 the example.
16305
5d803174
VS
163062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * grub-core/term/at_keyboard.c (set_scancodes)
16309 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16310
2a2da1d0
CW
163112011-03-30 Colin Watson <cjwatson@ubuntu.com>
16312
16313 * docs/grub.texi (Menu-specific commands): Remove some semantics
16314 that were true in GRUB Legacy but not in GRUB 2.
16315 (submenu): New section.
16316 (false): New section.
16317 (read): New section.
16318 (true): New section.
16319
a7527639
CW
163202011-03-30 Colin Watson <cjwatson@ubuntu.com>
16321
16322 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16323
163242011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16325
16326 * docs/grub.texi (Simple configuration): Explain some of the
16327 current limitations of grub-mkconfig.
8a748df2 16328 Reported by: Leslie Rhorer.
e30af029 16329
fc858482
VS
163302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 Old macs search for boot.efi rather than for bootia32.efi.
16333
16334 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16335 * util/grub-mkrescue.in: Likewise.
16336 Suggested by: Peter Jones.
16337
e1eb511d
VS
163382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16339
16340 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16341
70e75364
VS
163422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16345 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16346 (grub_lvm_mirror): New struct.
16347 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16348 (grub_lvm_iterate): Iterate only visible volumes.
16349 (grub_lvm_read): Factor out to ..
16350 (read_lv): ... this. Support mirrors.
16351 (grub_lvm_read): New wrapper function.
16352 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16353 stripped or mirrored.
16354
fc18f6a3
VS
163552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16358
5c650f4c
CW
163592011-03-29 Colin Watson <cjwatson@ubuntu.com>
16360
16361 * docs/grub.texi (loopback): New section.
16362
61d7156b
CW
163632011-03-29 Colin Watson <cjwatson@ubuntu.com>
16364
16365 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16366 removed -p option.
16367
994b8264
CW
163682011-03-29 Colin Watson <cjwatson@ubuntu.com>
16369
16370 * docs/grub.texi (BIOS installation): New section, partly based on
16371 previous text in other sections.
16372 (Installing GRUB using grub-install): Replace BIOS discussion with a
16373 cross-reference.
16374 (Images): Likewise.
16375
9e4d19e0
VS
163762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16379 [HAVE_DIOCGDINFO]: Add safety checks.
16380
a307c0b2
VS
163812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16384 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16385
b4db4f39
CW
163862011-03-29 Colin Watson <cjwatson@ubuntu.com>
16387
16388 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16389 real_sb->size is zero (e.g. RAID-0), get the disk size from
16390 real_sb->data_size instead.
16391 Fixes Ubuntu bug #743136.
16392
35e5f84c
VS
163932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16396 printf clauses for printing size and start.
16397
d2e29d81
VS
163982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16401 Reported and tested by: Timothy Nikkel.
16402
ed5587af
VS
164032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16406 (dirty_region_add_real): ... this.
16407 (dirty_region_add): Don't discard margin refresh when performing
16408 scheduled repaint.
16409
a1dc717c
VS
164102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * grub-core/lib/relocator.c (allocate_regstart)
16413 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16414 terminals are capabple of malloc-free operation.
16415 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16416 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16417
9f3677d3
VS
164182011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16419
16420 * util/grub-setup.c: Copy the partition table zone if floppy support
16421 is disabled, even if no partition table is found.
16422
16423 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16424 during POST if an invalid partition table is contained in the PBR
16425 of the active partition when GRUB is installed to a partition.
16426
24148725
CW
164272011-03-28 Colin Watson <cjwatson@debian.org>
16428
16429 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16430 comment.
16431
f329eda7
CW
164322011-03-28 Colin Watson <cjwatson@debian.org>
16433
16434 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16435 to be specific about what kind of RAID device we're scanning for.
16436
c482ad98
SG
164372011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16438
16439 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16440 return freed string.
16441
5ee04984
VS
164422011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16445
f4727da9
VS
164462011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 Use libgeom on FreeBSD to detect partitions.
16449
16450 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16451 (grub-mkrelpath): Likewise.
16452 (grub-script-check): Likewise.
16453 (grub-editenv): Likewise.
16454 (grub-mkpasswd-pbkdf2): Likewise.
16455 (grub-fstest): Likewise.
16456 (grub-mkfont): Likewise.
16457 (grub-mkdevicemap): Likewise.
16458 (grub-probe): Likewise.
16459 (grub-setup): Likewise.
16460 (grub-ofpathname): Likewise.
16461 (grub-mklayout): Likewise.
16462 (example_unit_test): Likewise.
16463 (grub-menulst2cfg): Likewise.
16464 * grub-core/Makefile.core.def (grub-emu): Likewise.
16465 (grub-emu-lite): Likewise.
16466 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16467 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16468 define HAVE_DIOCGDINFO.
16469 (follow_geom_up) [FreeBSD]: New function.
16470 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16471 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16472 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16473 unconditionally of HAVE_DIOCGDINFO.
16474
82fe6c75
VS
164752011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 Fix FreeBSD compilation problem.
16478
16479 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16480 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16481
4c6c9431
CW
164822011-03-24 Colin Watson <cjwatson@ubuntu.com>
16483
16484 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16485 Switch back to page zero before loading a kernel, since some kernel
16486 drivers expect that.
16487 Thanks to: Felix Kuehling.
16488
c7064d94
VS
164892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16492 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16493 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16494
3f71cded
VS
164952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16498 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16499
ef6de21a
VS
165002011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16503 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16504 malloc is disabled.
16505
8bc66a2c
VS
165062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16509 for modules headers when counting the needed allocation size.
16510
5657722c
VS
165112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16514 if no ASCII character is found to prevent crash.
16515
41a85f55
AK
165162011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16517
16518 * grub-core/video/bitmap.c (match_extension): Ignore case.
16519
59e1e5f1
VS
165202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16523
bd4d051a
VS
165242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 * grub-core/script/parser.y: Declare "time" as valid argument.
16527
bae7fcc1
PJ
165282011-03-23 Peter Jones <pjones@redhat.com>
16529
16530 Fix incorrect assert failure reporting.
16531
16532 * grub-core/tests/example_functional_test.c (example_test): Add
16533 a failure comment.
16534 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16535 (failure_start): ...this. Check that malloc succeeded.
16536 Don't call xvasprintf. Return failure struct.
16537 (failure_append_vtext): New function.
16538 (failure_append_text): Likewise.
16539 (add_failure): Likewise.
16540 (grub_test_assert_helper): Likewise.
16541 * include/grub/test.h (grub_test_assert_helper): New declaration.
16542 (grub_test_assert): Macro rewritten.
16543
537dc9be
VS
165442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16545
16546 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16547
fa3e01bf
VS
165482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16551
b1d28404
VS
165522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16555 into GRUB-style one.
16556
2e3e2e09
VS
165572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16560 error and not grub_errno.
16561 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16562
ed57e557
VS
165632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16566 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16567
d1611f01
VS
165682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * grub-core/efiemu/i386/pc/cfgtables.c
16571 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16572 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16573 (grub_xnu_unlock): Likewise.
16574 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16575
7d4e39d6
VS
165762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16577
16578 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16579 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16580 * grub-core/commands/hashsum.c (aliases): Likewise.
16581 * grub-core/commands/setpci.c (pci_registers): Likewise.
16582 * grub-core/disk/usbms.c (attach_hook): Likewise.
16583 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16584 (zio_checksum_table): Likewise.
16585 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16586 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16587 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16588 * grub-core/lib/relocator.c (leftovers): Likewise.
16589 (extra_blocks): Likewise.
16590 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16591 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16592 (modules_last): Likewise.
16593 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16594 (devices): Likewise.
16595 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16596 (modules_last): Likewise.
16597 * grub-core/normal/auth.c (users): Likewise.
16598 * grub-core/normal/context.c (initial_menu): Likewise.
16599 (current_menu): Likewise.
16600 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16601 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16602 (grub_serial_terminfo_input_template): Likewise.
16603 (grub_serial_terminfo_output_template): Likewise.
16604 (grub_serial_terminfo_input): Likewise.
16605 (grub_serial_terminfo_output): Likewise.
16606 (registered): Likewise.
16607 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16608
40fc4659
VS
166092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16612 grub_video_mode_type_t.
16613 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16614 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16615 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16616
2da48d28
VS
166172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 * util/grub-install.in: Correct the x86-64 name as x86_64.
16620
9b43bf39
CW
166212011-03-11 Colin Watson <cjwatson@ubuntu.com>
16622
16623 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16624 initial chunk read from the kernel always includes GRUB's multiboot
16625 header, which is now outside the first sector.
16626
be1a7ce0
CW
166272011-03-09 Colin Watson <cjwatson@ubuntu.com>
16628
16629 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16630 cached mmap_size, so that this works correctly when called multiple
16631 times.
16632 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16633
83a3c48d
CW
166342011-03-09 Colin Watson <cjwatson@ubuntu.com>
16635
16636 * docs/grub.texi (Simple configuration): Tidy up formatting.
16637
57d75699
SJ
166382011-03-07 Szymon Janc <szymon@janc.net.pl>
16639
16640 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16641 Set-but-not-used variable removed.
16642
028501a0
VS
166432011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 Workaround yet another IEEE1275 bug.
16646
16647 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16648 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16649 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16650 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16651 is set.
16652 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16653 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16654
d998657d
VS
166552011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16658 error.
16659
fee7cdd4
CW
166602011-02-11 Colin Watson <cjwatson@ubuntu.com>
16661
16662 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16663 empty, since in that case we can only generate either nothing or a
16664 syntactically invalid configuration file.
16665 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16666
97286eb5
CW
166672011-02-09 Colin Watson <cjwatson@ubuntu.com>
16668
16669 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16670 (Making a GRUB bootable CD-ROM): Likewise.
16671 (Invoking grub-mkrescue): New section.
16672 Reported by: Yann Dirson. Fixes Debian bug #612585.
16673
22b28eb3
CW
166742011-02-09 Colin Watson <cjwatson@ubuntu.com>
16675
16676 * util/grub-install.in: Remove unnecessary brackets from tr
16677 arguments.
16678 * util/grub.d/10_hurd.in: Likewise.
16679 * util/grub.d/10_kfreebsd.in: Likewise.
16680 * util/grub.d/10_linux.in: Likewise.
16681 * util/grub.d/20_linux_xen.in: Likewise.
16682 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16683
7e735e43
CW
166842011-02-08 Colin Watson <cjwatson@ubuntu.com>
16685
16686 * include/grub/file.h (not_easly_seekable): Rename to ...
16687 (not_easily_seekable): ... this. Update all users.
16688
800f1881
CW
166892011-01-28 Colin Watson <cjwatson@ubuntu.com>
16690
16691 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16692 grub-mkrescue.
16693
3281d3d6
VS
166942011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * util/grub-mkimage.c (generate_image): Refuse to create the images
16697 bigger than the actual flash (512K) in Loongson machines. 512K is also
16698 the biggest chip supported by them.
16699
3533413c
VS
167002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16703
73ae4f4f
VS
167042011-01-22 Anthony DeRobertis <anthony@derobert.net>
16705
16706 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16707 super_offset field.
16708
37f4f608
VS
167092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * util/grub-install.in: Ignore install device on platforms
16712 where it doesn't make sense. Always use UUIDs except on pc, efi and
16713 sparc64.
16714 Reported by: Daniel Kahn Gillmor.
16715
03a4ccb5
VS
167162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16719
ffc8f4d8
VS
167202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16723 (iterate_real): Don't rely on partition being non-NULL.
16724
80f23be7
VS
167252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16728 supported platforms. Put a compile time assert for this rather than
16729 generate a warning with 32-bit shift.
16730
5d4f4dd5
VS
167312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16734 logical expression more readable.
16735
e489601a
VS
167362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16739 even if some elements have a name.
16740 Reported by: Alexander GQ Gerasiov.
16741
96e0a6ea
CW
167422011-01-22 Colin Watson <cjwatson@ubuntu.com>
16743
16744 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16745 path unreadable if `grub-probe -t abstraction' fails, for example if
16746 memberlist fails on an LVM volume group.
16747 Reported by: Darius Jahandarie.
16748
81431e2b
CW
167492011-01-22 Colin Watson <cjwatson@ubuntu.com>
16750
16751 * docs/grub.texi (Simple configuration): Document
16752 GRUB_PRELOAD_MODULES.
16753
5e79d66a
CW
167542011-01-17 Colin Watson <cjwatson@ubuntu.com>
16755
16756 * .bzrignore: Remove nonexistent grub-pbkdf2.
16757
646ada34
VS
167582011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 * configure.ac: Bump version to 1.99~rc1.
16761
04360337
VS
167622011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16765 for safety.
16766
46c9db88
VS
167672011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16770 module.
16771
167722011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16773
16774 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16775
4fbf1852
VS
167762011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16779 diskdevid.
16780
f1632d4d
VS
167812011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 Fix compilation on cygwin.
16784
16785 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16786 -R .drectve on cygwin.
16787 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16788 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16789 (COND_CYGWIN): New condition.
16790 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16791 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16792 not @TARGET_OBJ2ELF@.
16793 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16794 type to determine whether aux is to be used.
16795
0b5e127b
VS
167962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16799 realpath'ed device string.
16800 Handle floppy (somewhat).
16801 Issue error in unknown case rather than garbage.
16802 Reported by: Axel Beckert.
16803
173b71e9
VS
168042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * util/grub.d/00_header.in (load_video): Handle the case when no video
16807 drivers available.
16808 Thanks to: Axel Beckert.
16809
f8f479db
VS
168102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16813 variable. Fixes problem on big endian platforms.
16814
8fc0a245
VS
168152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16818 It doesn't work well there.
16819
b8494fbe
VS
168202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16823 warning.
16824 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16825 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16826 counter.
16827
b44a558c
VS
168282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 Use alias->path rather than buggy "canon".
16831
16832 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16833 (ofdisk_hash_add): New argument curcan. All users updated.
16834
51fa856c
CW
168352011-01-11 Colin Watson <cjwatson@ubuntu.com>
16836
16837 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16838
9da068a5
VS
168392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16842 loadmask before doing any calculations. Use correct type for offset.
16843 (grub_linux_load64): Likewise.
16844
86205c94
CW
168452011-01-11 Colin Watson <cjwatson@ubuntu.com>
16846
16847 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16848 with NULL.
16849 (console_grub_equivalences_unshift): Likewise.
16850 Reported by: Daniel Dehennin.
16851
4531a206
VS
168522011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16855 (set_env_limn_ro): Likewise.
16856 (GRUB_MOD_INIT): Likewise.
16857 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16858 ARRAY_SIZE while on it.
16859 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16860 * grub-core/normal/context.c (grub_env_export): Move from here ...
16861 * grub-core/kern/env.c (grub_env_export): ... here.
16862 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16863 prefix.
16864 * grub-core/kern/main.c (grub_main): Export root and prefix.
16865 * include/grub/env.h (grub_env_export): Export.
16866 Reported by: Seth Goldberg.
16867
45146057
VS
168682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16871 Take into account space used by ELF sections and multiboot palette.
16872 Reported by: Grégoire Sutre.
16873
f093110b
VS
168742011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * BUGS: New file.
16877
3395fe52
VS
168782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 Pass more appropriate video id to Linux.
16881
16882 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16883 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16884 fill have_vga.
16885 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16886 shift params->lfb_size.
16887 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16888
c2fa6cbb
VS
168892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16890
16891 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16892
b3ff6ff0
VS
168932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16896 separator and pass bootpath/devid even if only one of them is available.
16897 Reported by: Seth Goldberg.
16898
ae67942e
VS
168992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16902 implementations bug on them.
16903
16904 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16905 memory.
16906 (filter_memory_map): Likewise.
16907
d570097a
VS
169082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16909
16910 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16911 Reported by: nebuchadnezzar.
16912
a508e776
VS
169132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16914
16915 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16916 Reported by: nebuchadnezzar.
16917
dcb883b1
VS
169182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 Submenu default support.
16921
16922 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16923 auto_boot. All users updated.
16924 Declared static.
16925 Handle chosen and default with submenus.
16926 (grub_menu_execute_with_fallback): Declared static.
16927 Don't notify failure if autobooted. Upper level does it.
16928 (menuentry_eq): New function.
16929 (get_entry_number): Use menuentry_eq.
16930 (show_menu): New parameter "autobooted". All users updated.
16931 (grub_show_menu): Likewise.
16932 * include/grub/normal.h (grub_show_menu): Likewise.
16933 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16934 (grub_menu_execute_with_fallback): Likewise.
16935
6fef99b4
VS
169362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 * util/grub-mklayout.c (usage): Update help text.
16939
47a77af5
VS
169402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16943
ce6bb3ee
VS
169442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * util/grub-menulst2cfg.c (main): Trim the line.
16947
db87be2a
VS
169482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16951 (grub_machine_init): Don't check amount of low memory as reportedly
16952 INT 12h can be broken and if low memory is too low we wouldn't have
16953 gotten into grub_machine_init anyway.
16954
c49849cc
VS
169552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16956
16957 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16958 (grub_machine_mmap_iterate): Take low memory into account
16959
b1969b30
VS
169602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16961
16962 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16963 badfs.
16964 Reported by: TiCPU.
16965
cf0eaf13
VS
169662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16969 members errors.
16970
1f060f39
GS
169712011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16972
16973 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16974 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16975
a21e5672
GS
169762011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16977
16978 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16979 openbsd and netbsd types being in part_bsd module.
16980
c88172fa
VS
169812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16984 (_FILE_OFFSET_BITS): Likewise.
16985 Reported by: Seth Goldberg.
16986
53798c4b
GS
169872011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16988
16989 * configure.ac: Check for libdevmapper header.
16990
e7121b69
VS
169912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16994 avoid aliasing.
16995 (fzap_lookup): Likewise.
16996 (dnode_get): Likewise.
16997 (make_mdn): Likewise.
16998 (zfs_mount): Likewise.
16999 (fzap_iterate): Use temporary pointer to avoid aliasing.
17000 (grub_zfs_read): Likewise.
17001 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17002 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17003 pointers to avoid aliasing.
17004 (grub_cmd_xnu_kernel64): Likewise.
17005 (grub_xnu_load_driver): Likewise.
17006
fc836af9
VS
170072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17010 aliasing warning.
17011 (grub_cmd_terminal_output): Likewise.
17012 Reported and tested by: Grégoire Sutre.
17013
f9f37648
VS
170142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17017 warning.
17018 Reported and tested by: Grégoire Sutre.
17019
ec1dfd63
VS
170202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 * configure.ac: Do CPU substitution even if it's specified explicitly.
17023 Reported and tested by: Alain Greppin.
17024
9462775a
VS
170252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17028 Reported and tested by: Alain Greppin.
17029
0fd48e35
VS
170302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 Satisfy some bison versions need for inttypes.h.
17033
17034 * grub-core/lib/posix_wrap/inttypes.h: New file.
17035 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17036 (int16_t): Likewise.
17037 (int32_t): Likewise.
17038 (int64_t): Likewise.
17039 Reported and tested by: Alain Greppin.
17040
43f1bc83
VS
170412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17044 Silence spurious warning.
17045 Reported and tested by: Alain Greppin.
17046
64d1f041
SJ
170472011-01-07 Szymon Janc <szymon@janc.net.pl>
17048
17049 * docs/grub.texi (Support automatic decompression): Update with xz
17050 decompression support.
17051
25953e10
SJ
170522011-01-07 Szymon Janc <szymon@janc.net.pl>
17053
17054 Improve loaders' kernel command line handling.
17055
17056 * grub-core/lib/cmdline.c: New file.
17057 * include/grub/lib/cmdline.h: Likewise.
17058 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17059 grub_create_loader_cmdline to create kernel command line.
17060 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17061 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17062 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17063 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17064 (linux): Add lib/cmdline.c on common.
17065
e72d259f
VS
170662011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17067
17068 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17069 inopos might be unaligned.
17070
c0cf26da
VS
170712011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17074 endian transformations.
17075 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17076 Based on report by: Doug Nazar.
17077
0ca09e6c
DN
170782011-01-07 Doug Nazar <nazard.michi@gmail.com>
17079
17080 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17081 array->members[i].start_sector.
17082 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17083
014b6806
VS
170842011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17085
17086 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17087 Reported and tested by: Grégoire Sutre.
17088
415502c2
CW
170892011-01-06 Colin Watson <cjwatson@ubuntu.com>
17090
17091 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17092 avoid causing test failures by clearing the screen.
17093
71b6a2b7
CW
170942011-01-06 Colin Watson <cjwatson@ubuntu.com>
17095
17096 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17097 Fix prefix check to handle the case where dir ends with a slash
17098 (most significantly, "/" itself).
17099 Reported by: Michael Vogt.
17100
b3f8d28a
VS
171012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 Run terminfo_cls on initing terminfo output to clear the screen and
17104 move the cursor to (0,0).
17105
17106 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17107 Call grub_terminfo_output_init.
17108 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17109 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17110 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17111
4c3e4f37
VS
171122011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17115 only when needed.
17116
488f71f1
VS
171172011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17120 CTRL.
17121
18a38098
VS
171222011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 The E820 type 5 is BADRAM, not EXEC_CODE.
17125
17126 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17127 (GRUB_E820_BADRAM): New define.
17128 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17129 into reserved. Propagate BADRAM.
17130 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17131 (GRUB_E820_BADRAM): New define.
17132
9eae2084
VS
171332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17136 Ignore the memory post-4G.
17137 (grub_relocator_firmware_alloc_region): Additional debug statement.
17138
ebc71d28
VS
171392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17142 names.
17143 Reported by: David Pravec.
17144
446fa400
VS
171452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17148 BIOSes.
17149
a0159f37
VS
171502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17153 Prevent overflow.
17154 (grub_reed_solomon_recover): Likewise.
17155
e5146ca1
VS
171562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17159
171602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17161
17162 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17163 variable.
17164
5b1bdf12
CW
171652011-01-04 Colin Watson <cjwatson@ubuntu.com>
17166
17167 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17168 descriptions of extract_legacy_entries_source and
17169 extract_legacy_entries_configfile.
17170 Reported by: Seung Soo, Ha.
17171
99d925aa
CW
171722011-01-03 Colin Watson <cjwatson@ubuntu.com>
17173
17174 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17175 on devices that do not implement function 0.
17176
4af0504b
DV
171772011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17178
17179 * grub-core/fs/hfsplus.c: Make parent unsigned.
17180 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17181 overflows.
17182 (grub_hfsplus_cmp_extkey): Likewise
17183
469ee10a
VS
171842011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 * util/grub-install.in: Correctly use bootloader_id and not
17187 GRUB_DISTRIBUTOR on efibootmgr line.
17188
323a8e9c
VS
171892011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17192
1b394975
IC
171932010-12-31 Ian Campbell <ijc@hellion.org.uk>
17194
17195 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17196 Xen and reorder menu item wording to make it clearer that this entry
17197 will launch Xen. Print separate messages when loading Xen and
17198 Linux.
17199
275bff5f
VS
172002010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17201
17202 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17203 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17204 loop in case of incorrect amiga partmap.
17205
307806cb
VS
172062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17209 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17210 Reported by:EHeM.
17211
b12b923e
VS
172122010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17215 spurious warning.
17216 Reported by: crocket
17217
14b48a19
VS
172182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17219
17220 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17221 Preload EFIemu.
17222 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17223
693db2df
VS
172242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17225
17226 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17227 is loaded
17228 (grub_cmd_xnu_kextdir): Likewise.
17229 (grub_cmd_xnu_splash): Likewise.
17230
c7638645
VS
172312010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 Avoid using Reed-Solomon with 0 redundancy.
17234
17235 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17236 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17237 or 0 redundancy.
17238 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17239 (grub_reed_solomon_recover): Likewise.
17240
25dd4780
VS
172412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 Don't use disk subsystem in freebsd_boot.
17244
17245 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17246 (freebsd_biosdev): Likewise.
17247 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17248 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17249
0b2db943
VS
172502010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 Handling of files of unknown size is currently limited. They can't be
17253 used e.g. for initrd or modules. Moreover gzip handling of not
17254 easily seekable files is buggy. Disable unknown file size for now. May
17255 be inefficient but works.
17256
17257 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17258 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17259
5c408d0f
MP
172602010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17261
17262 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17263 floppy probe.
17264
190a011a
JD
172652010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17266
17267 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17268
022d01b8
SL
172692010-12-25 Shea Levy <shlevy>
17270
17271 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17272
c4855fdc
VS
172732010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17276 Windows Server 2008.
17277 Reported by: Devin Giddings.
17278
0354b867
VS
172792010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17282 writing an error message because of async power management.
17283 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17284 (grub_reboot): Likewise.
17285
ab66c69f
JU
172862010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17287
17288 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17289 keep unit tests from failing when they shouldn't.
17290
1426ef35
CW
172912010-12-21 Colin Watson <cjwatson@ubuntu.com>
17292
17293 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17294 previous patch increased the size of the RS code by 20 bytes (at
17295 least with gcc-4.4), so increase this by 20 bytes to match.
17296 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17297
20641b6b
CW
172982010-12-21 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17301 scratch area. Make sure to initialise chosen in standalone mode as
17302 well as non-standalone.
17303 Reported by: Robert Hooker and Andy Whitcroft.
17304 Tested by: Andy Whitcroft.
17305
d060ad60
CW
173062010-12-21 Colin Watson <cjwatson@ubuntu.com>
17307
17308 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17309 constructing a new unescaped string and passing it to grub_xputs in
17310 one go, rather than passing characters to grub_printf one at a time.
17311
b889cfad
CW
173122010-12-21 Colin Watson <cjwatson@ubuntu.com>
17313
17314 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17315 initialising utf16.
17316
4e01b6c8
CW
173172010-12-21 Colin Watson <cjwatson@ubuntu.com>
17318
17319 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17320 comment. Add an extra layer of quotation, requiring the output of
17321 this function to be used in a printf format string.
17322 (gettext_printf): New function.
17323 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17324 Extract translatable strings from here-documents and use a temporary
17325 variable instead, so that xgettext can find them.
17326 * util/grub.d/10_kfreebsd.in: Likewise.
17327 * util/grub.d/10_linux.in: Likewise.
17328 * util/grub.d/20_linux_xen.in: Likewise.
17329
17330 * po/grub.d.sed: New file.
17331 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17332 arguments. Set c-format flags on all strings extracted from
17333 util/grub.d/ (xgettext refuses to include these itself for strings
17334 it extracted from a shell file, but these really are c-format).
17335
5318fe98
VS
173362010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17339 Avoid next pointing to nowhere.
17340
6c85b743
VS
173412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17344 rather than assuming than rootblock is exactly in the middle.
17345 (grub_affs_label): Likewise.
17346
a2a08a35
VS
173472010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17350 reserved_first_sector to 0.
17351 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17352 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17353 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17354
7059d1ec
VS
173552010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 Fix handling of UTF-16 UDF labels.
17358
17359 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17360 (read_string): .. here.
17361 (grub_udf_label): Use read_string.
17362
30aff4cb
BC
173632010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17364
17365 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17366 editor under argument scope.
17367 Reported by: Jordan Uggla
17368
5cf86f4b
VS
173692010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17372
32570200
CW
173732010-12-18 Colin Watson <cjwatson@ubuntu.com>
17374
17375 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17376 line, and other keys scroll an entire page (previous handling was
17377 for \r and \n to scroll a page and other keys to scroll two lines).
17378
e1dffcf2
VS
173792010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17382 Set ptrdest to correct get_physical_target_address rather than
17383 incorrect get_virtual_current_address.
17384
b04298cf 173852010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17386
17387 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17388 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17389
5367ecd3
CW
173902010-12-10 Colin Watson <cjwatson@ubuntu.com>
17391
17392 * .bzrignore: Ignore grub-core/rs_decoder.S.
17393
1fb430f8
CW
173942010-12-10 Colin Watson <cjwatson@ubuntu.com>
17395
17396 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17397 .mo/.mo.gz opening sequence to ...
17398 (grub_mofile_open_lang): ... here.
17399 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17400 * util/grub.d/00_header.in (grub_lang): Include country part of
17401 locale.
17402 Reported by: Mario Limonciello.
17403
a94a6671
RM
174042010-12-09 Robert Millan <rmh@gnu.org>
17405
17406 * NEWS: Document addition of ZFS support.
17407
24b7938b
CW
174082010-12-04 Colin Watson <cjwatson@ubuntu.com>
17409
17410 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17411 rather than `/ 2', as the latter requires -Wa,--divide which would
17412 require bumping our minimum binutils version.
17413
bddc3ef6
BC
174142010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17415
17416 * util/grub-script-check.c (main): Print script line number on
17417 error.
17418
bf78d5b2
RM
174192010-12-01 Robert Millan <rmh@gnu.org>
17420
17421 * grub-core/fs/zfs/zfs.c: New file.
17422 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17423 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17424 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17425 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17426
17427 * include/grub/zfs/dmu.h: Likewise.
17428 * include/grub/zfs/dmu_objset.h: Likewise.
17429 * include/grub/zfs/dnode.h: Likewise.
17430 * include/grub/zfs/dsl_dataset.h: Likewise.
17431 * include/grub/zfs/dsl_dir.h: Likewise.
17432 * include/grub/zfs/sa_impl.h: Likewise.
17433 * include/grub/zfs/spa.h: Likewise.
17434 * include/grub/zfs/uberblock_impl.h: Likewise.
17435 * include/grub/zfs/vdev_impl.h: Likewise.
17436 * include/grub/zfs/zap_impl.h: Likewise.
17437 * include/grub/zfs/zap_leaf.h: Likewise.
17438 * include/grub/zfs/zfs.h: Likewise.
17439 * include/grub/zfs/zfs_acl.h: Likewise.
17440 * include/grub/zfs/zfs_znode.h: Likewise.
17441 * include/grub/zfs/zil.h: Likewise.
17442 * include/grub/zfs/zio.h: Likewise.
17443 * include/grub/zfs/zio_checksum.h: Likewise.
17444
17445 * Makefile.util.def: Build ZFS into libgrubmods.
17446 * grub-core/Makefile.core.def: Build zfs.mod.
17447
3f0f3831
SJ
174482010-11-30 Szymon Janc <szymon@janc.net.pl>
17449
17450 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17451 variable.
17452 * grub-core/commands/wildcard.c (match_files): Likewise.
17453
3a4253b2
RM
174542010-11-30 Robert Millan <rmh@gnu.org>
17455
17456 * grub-core/loader/i386/bsd.c
17457 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17458 whether kernel is loaded using grub_loader_is_loaded(), rather
17459 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17460 certain error conditions.
17461
8c317b27
RM
174622010-11-30 Robert Millan <rmh@gnu.org>
17463
c5c9cd3e
RM
17464 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17465 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17466
49d3ab46
VS
174672010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 Avoid using tricks for initialising endian variables.
17470
17471 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17472 Make const.
17473 (GRUB_MOD_INIT): Don't byte-swap.
17474 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17475 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17476 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17477 (grub_swap_bytes32_compile_time): Likewise.
17478 (grub_cpu_to_le32_compile_time): Likewise.
17479 (grub_cpu_to_le16_compile_time): Likewise.
17480
f420a804
VS
174812010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17482
17483 * util/grub-setup.c (setup): Stop recommending --force. People who
17484 understand the dangers of blocklists are able to find this option
17485 anyway and the ones who don't shouldn't use it anyway.
17486
4e7db17b
RM
174872010-11-26 Robert Millan <rmh@gnu.org>
17488
17489 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17490 Update all users.
17491
9be57a0d
CW
174922010-11-26 Colin Watson <cjwatson@ubuntu.com>
17493
17494 Fix LVM-on-RAID probing.
17495
17496 * util/grub-probe.c (probe): Remember which disk was detected as
17497 RAID (perhaps an LVM physical volume). Use that disk's raidname
17498 rather than that of the top-level disk.
17499
2c7859b3 175002010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17501
d7647bb6
BC
17502 Fix cmdline argument quotes for setparams command of menuentry
17503 definitions.
7e623b0d
BC
17504
17505 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17506 quotes for arguments.
f866fe80 17507 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17508 grub_strchrsub function instead.
f866fe80 17509
7955bea0 17510 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17511
74f72a64
CW
175122010-11-24 Colin Watson <cjwatson@ubuntu.com>
17513
17514 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17515 effort by skipping "." and ".." entries up-front.
17516 Suggested by: Michael Lazarev.
17517
5a407278
CW
175182010-11-24 Colin Watson <cjwatson@ubuntu.com>
17519
17520 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17521 ldflags to ldadd, to fix link line ordering.
17522 (none_decompress): Likewise.
17523
3030d8ec
CW
175242010-11-24 Colin Watson <cjwatson@ubuntu.com>
17525
17526 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17527 platforms.
17528 (grub-emu-lite): Remove kern/emu/cache.S.
17529
b7fbac12
CW
175302010-11-23 Colin Watson <cjwatson@ubuntu.com>
17531
17532 * util/deviceiter.c (compare_devices): If the by-id link for a
17533 device couldn't be resolved, fall back to sorting by the by-id link
17534 rather than segfaulting.
17535 Reported and tested by: Daniel Mierswa.
17536
5225f328
CW
175372010-11-23 Colin Watson <cjwatson@ubuntu.com>
17538
17539 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17540 ldflags, to fix link line ordering.
17541
038b3ce8
CW
175422010-11-23 Colin Watson <cjwatson@ubuntu.com>
17543
17544 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17545 linkers are picky about this.
17546
bf16e98e
CW
175472010-11-23 Colin Watson <cjwatson@ubuntu.com>
17548
17549 * grub-core/Makefile.am (command.lst): Adjust sed expression
17550 ordering so that extended and priority commands aren't treated as
17551 ordinary commands.
17552
7242bab6
CW
175532010-11-23 Colin Watson <cjwatson@ubuntu.com>
17554
17555 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17556 Remove byte-swapping function calls, which are not valid in
17557 structure initialisers.
17558 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17559 non-const.
17560 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17561 grub_gpt_partition_type_bios_boot.
17562
14e8b279
CW
175632010-11-22 Colin Watson <cjwatson@ubuntu.com>
17564
17565 Fix test program build on GNU/kFreeBSD.
17566
17567 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17568 $(LIBNVPAIR)' library dependencies.
17569
e6f63338 175702010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17571
17572 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17573
cf8ffc38
CW
175742010-11-22 Colin Watson <cjwatson@ubuntu.com>
17575
17576 * util/grub-install.in: Remove excessive quoting that broke
17577 installations to RAID devices.
17578
7f8b0fd7
VS
175792010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17582 bootloader version instead of 0.
17583
dfd240b1
VS
175842010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17585
17586 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17587 warning.
17588
7b61e609
VS
175892010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17592 retrieve the metadat sector if size isn't known.
17593 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17594
9dfe92d0
RM
175952010-11-18 Robert Millan <rmh@gnu.org>
17596
17597 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17598 with grub_memcmp().
17599
41cc919e
VS
176002010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17603 arrow.
17604 Reported by: Jordan Uggla.
17605
1afcc914
VS
176062010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 Make better UTF compliant.
17609
17610 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17611 sequences as incorrect.
17612 (grub_is_valid_utf8): Likewise.
17613 (grub_utf8_to_ucs4): Likewise.
17614 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17615 (grub_ucs4_to_utf8_alloc): Likewise.
17616 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17617
f1808884
VS
176182010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 Make legacy_source behave like source.
17621
17622 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17623 grub_show_menu.
17624 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17625
24ec575b
CW
176262010-11-16 Colin Watson <cjwatson@debian.org>
17627
17628 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17629 (-Wunused implies -Wunused-parameter, but not vice versa).
17630
72b7c7aa
CW
176312010-11-16 Colin Watson <cjwatson@ubuntu.com>
17632
17633 * configure.ac: Make error messages less confusing by testing for
17634 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17635 accepted, but produces a diagnostic if something else is wrong).
17636
e98937aa
VS
176372010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17640 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17641 (now unused).
17642 (grub_keyboard_controller_init)
17643 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17644 read the initial state since controller isn't inited yet.
17645
f6bbabc3
VS
176462010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17649 allocate_regbeg may need to create new chunk header.
17650
22e7dbb2
VS
176512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 Fix quoting in legacy parser.
17654
17655 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17656 single quotes.
17657 (grub_legacy_parse): Likewise.
17658 Reported by: Jordan Uggla.
17659 Tested by: Jordan Uggla.
17660
03f80960
VS
176612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 Don't add -lgcc on i386 and x86_64.
17664
17665 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17666 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17667 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17668
779dc15b
VS
176692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17670
17671 * configure.ac: Add -Wno-trampolines when supported.
17672
d20a3b37
MV
176732010-11-14 Modestas Vainius <modax@debian.org>
17674
17675 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17676 fakeraid.
17677
e5360933
GC
176782010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17679
17680 Add generic logical block size support for UDF.
17681
17682 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17683 (GRUB_UDF_BLKSZ): Removed.
17684 (struct grub_udf_data): New field "lbshift" to hold the logical block
17685 size of the file system in log2 format. All users updated.
17686 (sblocklist): Change type to unsigned.
17687 (grub_udf_mount): Change type of "sblklist" to unsigned.
17688 Move AVDP search before VRS recognition, because the latter requires
17689 knowledge of the logical block size, which is detected during the
17690 former.
17691 Detect and validate logical block size during AVDP search, adding
17692 support for block sizes 512, 1024 and 4096.
17693 Make VRS recognition independent of block size.
17694
cb0229c5
GC
176952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17696
17697 Properly handle deleted files on UDF.
17698
17699 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17700 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17701 set.
17702
406858a8
GC
177032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17704
17705 Support reading files larger than 2 GiB.
17706
17707 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17708 "offset" to grub_off_t.
17709 (grub_udf_read_file): Likewise for parameter "pos".
17710
130da6a7
VS
177112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17714 unavailable.
17715 (Simple configuration): Refer to Changes from GRUB Legacy about
17716 save_env availability.
17717
65e93f6b
VS
177182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17719
17720 * util/grub-install.in: Ignore empty partition table detection
17721 instead of trying to include part_ module.
17722
1fd08bf1
VS
177232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17726 LVM on RAID support.
17727
de1a024f
VS
177282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 Properly define WORDS_BIGENDIAN in wrapped environments.
17731
17732 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17733 definition.
17734 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17735
17736 Reported by: Manoel Rebelo Abranches.
17737 Tested by: Manoel Rebelo Abranches.
17738
bc5dd0b9
VS
177392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * util/grub-mkconfig.in: Fix quoting.
17742
58c184be
VS
177432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 Support big ext2 files.
17746
17747 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17748 (grub_ext2_read_block): Support triple indirect blocks.
17749 (grub_ext2_read_file): Use 64-bit types and read size_high.
17750 (grub_ext2_open): Read size_high.
17751 Reported by: Ximin Luo.
17752 Tested by: Manoel Rebelo Abranches.
17753
5f0c02b3
VS
177542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * util/grub-install.in: Handle filenames containing spaces.
17757 Reported by: Jordan Uggla.
17758 Tested by: Jordan Uggla.
17759
4417aae6
VS
177602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * util/grub-mkconfig.in (grub_script_check): New variable.
17763 Use grub_script_check instead of grub-script-check.
17764 Reported by: Barry Jackson.
17765
7625a68e
VS
177662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17767
17768 * docs/grub.texi (menu): Correct the order.
17769 Reported by: D. Hugh Redelmeier.
17770
10001ac5
VS
177712010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17774 jump.
17775
9c4cf53b
MRA
177762010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17777
10001ac5
VS
17778 * include/grub/elfload.h (grub_elf32_size): New parameter.
17779 All users updated.
9c4cf53b
MRA
17780 Return maximum segments alignment.
17781 (grub_elf64_size): Likewise.
17782 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17783 Return maximum segments alignment.
17784 (grub_elf64_size): Likewise.
17785 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17786 (grub_linux_claimmap_iterate): New function. Uses the
17787 "available" property in the "memory" node for memory allocation
17788 for kernel in the PowerPC loader.
9c4cf53b
MRA
17789 (grub_linux_load32): Correctly find linux entry point offset.
17790 (grub_linux_load64): Likewise.
17791
d2bf06bf
RM
177922010-11-07 Robert Millan <rmh@gnu.org>
17793
17794 On mips-yeeloong, build with -march=loongson2f when this flag is
17795 available (GCC >= 4.4).
17796 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17797 `-march=mips3'.
17798 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17799 or otherwise add -march=mips3.
17800
898c99a2
BC
178012010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17802
87220a68
BC
17803 Suppress shell expansion on echo '*' and echo "*" like cases.
17804 Reported by: Jordan Uggla.
898c99a2
BC
17805
17806 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17807 string arguments before shell expansion.
17808 * tests/grub_cmd_echo.in: New testcases.
17809
4f9b406a
RM
178102010-11-07 Robert Millan <rmh@gnu.org>
17811
17812 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17813 transition.
17814
80c6d25e
VS
178152010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 * grub-core/kern/emu/hostdisk.c
17818 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17819
4a1a0153
VS
178202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17823 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17824 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17825
34706ddc
VS
178262010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17829
6972dea9
VS
178302010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * util/grub-install.in: Replace useless recomendation to pass
17833 --modules with a recomendation to report a bug.
17834
9c693bd6
VS
178352010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 Properly register serial terminfo.
17838 Reported by: Jordan Uggla
17839
17840 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17841 const.
17842 (grub_serial_terminfo_output_template): Likewise.
17843 (grub_cmd_serial): Register "serial" with terminfo.
17844 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17845 grub_serial_terminfo_output.
17846
6c9e4c0c
RM
178472010-11-05 Robert Millan <rmh@gnu.org>
17848
17849 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17850 needed).
17851
b9b3839f
RM
178522010-11-05 Robert Millan <rmh@gnu.org>
17853
17854 On Yeeloong, pass machine type information to Linux.
17855
17856 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17857 (LOONGSON_MACHTYPE): New macro, set to
17858 "machtype=lemote-yeeloong-2f-8.9inches".
17859 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17860 additional argument to Linux.
17861
1a3aaff4
RM
178622010-11-04 Robert Millan <rmh@gnu.org>
17863
17864 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17865 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17866 (its SATA disks are detected as slaveless IDE master drives on
17867 kFreeBSD).
17868 Reported by Carsten Aulbert.
17869
a75f4f62
CW
178702010-11-02 Colin Watson <cjwatson@ubuntu.com>
17871
17872 * util/bin2h.c (main): Fix spelling error in generated output.
17873
33b4b0c6
GS
178742010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17875
17876 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17877
2b36fbf4
VS
178782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17881 vga= option is supplied.
17882
74aaf558
VS
178832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17886 * util/grub.d/10_kfreebsd.in: Likewise.
17887 * util/grub.d/10_linux.in: Likewise.
17888 * util/grub.d/20_linux_xen.in: Likewise.
17889
6428dec3
VS
178902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17891
17892 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17893 argument as an argument to no-argument option.
17894
f8729d98
VS
178952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * util/grub.d/10_linux.in: Add missing load_video with explicit
17898 GRUB_GFXPAYLOAD_LINUX.
17899
89d68fa6
VS
179002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17903
3a1197cd
VS
179042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17907 elements with invlid index.
17908 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17909 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17910 members.
17911 * include/grub/raid.h (grub_raid_member): New struct.
17912 (grub_raid_array): Transform devices and start_sector into usage of
17913 grub_raid_member. All users updated
17914 (allocated_devs): New member.
17915
71574288
VS
179162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17919 is modified
17920
8d40ec65
BC
179212010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17922
17923 NetBSD build fix for getline function conflict from gnulib.
17924
17925 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17926 components that depend on gnulib headers.
17927 (libgrubmods.a): Renamed from earlier libgrub.a.
17928 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17929
95b9257e
VS
179302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17933 install rather than creating a broken install.
17934
26c53dc6
VS
179352010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 * util/grub-setup.c (argp): Remove misleading example of installing to
17938 a partition.
17939
4171b3c5
VS
179402010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * util/grub-setup.c (setup): Clarify the error message.
17943
18568d18
VS
179442010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17947
4f6a2e21
VS
179482010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 * grub-core/kern/emu/misc.c
17951 (grub_make_system_path_relative_to_its_root)
17952 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17953
179542010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17955
17956 * grub-core/kern/emu/misc.c
17957 (grub_make_system_path_relative_to_its_root): Revert r2882.
17958
e138c458
VS
179592010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17962 useless field head. All users updated.
17963 (free_subchunk): Correct handling of IN_REGION subchunk.
17964
0cbcdf0e
CW
179652010-10-22 Colin Watson <cjwatson@ubuntu.com>
17966
17967 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17968 (Supported kernels): Likewise.
17969
b65ea155
GS
179702010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17971
17972 Make mktemp invocations portable.
17973
17974 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17975 exit if mktemp fails.
17976 * tests/grub_script_blockarg.in: Likewise.
17977 * tests/partmap_test.in: Likewise.
17978 * tests/util/grub-shell-tester.in: Likewise.
17979 * tests/util/grub-shell.in: Likewise.
17980 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17981 * Makefile.am: Likewise, and chain shell commands with `&&'
17982 instead of ';'.
17983 * util/grub-mkrescue.in: Use the same explicit template as above, and
17984 exit if mktemp fails.
17985
05f43cdd
BC
179862010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17987
17988 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17989 Linux kernel, reported by Dennis Schridde.
17990
800e6a9b
SJ
179912010-10-17 Szymon Janc <szymon@janc.net.pl>
17992
17993 * grub-core/normal/auth.c (grub_auth_check_authentication):
17994 Set-but-not-used variable removed.
17995
d82df574
VS
179962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17999 32-bit linux protocol.
18000
7bced458
VS
180012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18004 cursor shape for sanity.
18005
5b027690
VS
180062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * docs/grub.texi (Installation): Document buggy BIOS install.
18009
ba5f65cf
VS
180102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 * docs/grub.texi (Installation): Indent.
18013
fdf2ec9c
VS
180142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * util/grub-setup.c (setup): New parameter allow_floppy.
18017 (arguments): New member allow_floppy.
18018 (argp_parser): Handle --allow-floppy.
18019 (main): Pass allow_floppy.
18020 * util/grub-install.in: New option --allow-floppy passed though to
18021 grub-setup.
18022
861dfd4c
VS
180232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * util/grub-install.in: Handle partitionless disks.
18026
f77a8c24
VS
180272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * util/grub-setup.c (setup): Don't clean blocklists before readability
18030 verfification.
18031
27d9ee32
VS
180322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * docs/grub.texi (Installation): Document embedding zone. Remove
18035 obsolete grub-install example.
18036
6bdda8f8
SJ
180372010-10-16 Szymon Janc <szymon@janc.net.pl>
18038
18039 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18040 Set-but-not-used variable ifdef'ed.
18041 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18042 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18043 variable removed.
18044 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18045 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18046 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18047 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18048 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18049 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18050 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18051 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18052 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18053 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18054 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18055 Likewise.
18056
e19b016b
VS
180572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18060 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18061 enum value.
18062
6c8d3002
VS
180632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18064
18065 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18066 synonym to _S5_. Needed for some DSDTs.
18067
c32b51c9
VS
180682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18069
18070 Userspace ACPI parser debugging.
18071
18072 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18073 headers and add relevant defines. Don't include standard headers.
18074 (main) [GRUB_DSDT_TEST]: New function.
18075 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18076 Don't declare functions.
18077
fbfbeb39
VS
180782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18079
18080 Remove dead grub_efi_mm_fini.
18081
18082 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18083 (ALLOCATED_PAGES_SIZE): Likewise.
18084 (MAX_ALLOCATED_PAGES): Likewise.
18085 (allocated_pages): Likewise.
18086 (grub_efi_allocate_pages): Don't record allocated pages.
18087 (grub_efi_free_pages): Likewise.
18088 (grub_efi_mm_init): Likewise.
18089 (grub_efi_mm_fini): Removed.
18090
65f7ed7c
VS
180912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18094 (grub_efi_mm_init): Take into account the memory map size increase.
18095
24977b44
VS
180962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18099 (serial_hw_put): Wait based on real time rather than port reads. Don't
18100 roken ports.
18101 * include/grub/serial.h (grub_serial_port): New field broken.
18102
1eb01cd2
RM
181032010-10-16 Robert Millan <rmh@gnu.org>
18104
18105 * grub-core/kern/emu/misc.c
18106 (grub_make_system_path_relative_to_its_root): Fix premature return
18107 when processing non-root ZFS filesystems.
5f8b440b 18108 Reported by Sergio Talens-Oliag.
1eb01cd2 18109
2d5fed60
RM
181102010-10-15 Robert Millan <rmh@gnu.org>
18111
18112 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18113 guarantee compressed ones are processed first.
18114
d0f4c1ea
VS
181152010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18118 grub_efiemu_autocore.
18119
d87c681f
VS
181202010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18123 rather than 0x1b.
18124 (grub_console_getkey): Use correct jae opcode rather than ja.
18125
219b3564
RM
181262010-10-12 Robert Millan <rmh@gnu.org>
18127
18128 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18129 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18130 variable. All references updated.
18131
18132 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18133
20c6bb7e
VS
181342010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 Correctly distinguish mdraid flavours.
18137
18138 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18139 (insert_array): New argument raid.
18140 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18141 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18142 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18143
74baff84
VS
181442010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18147 handling of special keys.
18148
3ef068df 181492010-10-02 Aleš Nesrsta <starous@volny.cz>
18150
c7980ad9
VS
18151 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18152 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18153
a9455194 181542010-10-02 Aleš Nesrsta <starous@volny.cz>
18155
c7980ad9
VS
18156 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18157 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18158 users updated.
a9455194 18159 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18160 Use right endpoint when querying descriptor.
a9455194 18161
441cfe65
VS
181622010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 Clear out 0x80 color bit on EFI.
18165 Tested by: decoder
18166 Reported by: decoder and meta tech.
18167
18168 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18169 (grub_console_setcolorstate): Clear out 0x80 bit.
18170 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18171 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18172 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18173
bf26bcc4
VS
181742010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18175
18176 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18177 Set to "auto".
18178
6e3c515d
VS
181792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18180
18181 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18182 mo_file after freeing.
18183
e6d983ba
VS
181842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18187
74ccb5b5
VS
181882010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18191 flags.
18192
17821956
VS
181932010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18196 usage.
18197
ee74fa48
VS
181982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18201
18202 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18203 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18204 and terminfo.h when needed.
18205 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18206 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18207 (terminfo): Enable only on terminfokernel.
18208 (extcmd): Likewise.
18209 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18210 * include/grub/lib/arg.h: Likewise.
18211 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18212 incorrect usage of ->.
18213
aa438e68
VS
182142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18217 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18218
57994012
VS
182192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 Fix coreboot compilation.
18222
18223 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18224 Take VBE info into account even if only text is supported.
18225 (fill_vbe_info): Take into account the case when only VGA text
18226 is supported.
18227 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18228 on coreboot, multiboot and qemu.
18229
2a406611
VS
182302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18233 debug messages.
18234 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18235
d33613fc
VS
182362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18239 parameters.
18240
44a1b432
VS
182412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18244 if they were BSD-style.
18245
edde54e6
VS
182462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * grub-core/boot/i386/pc/lnxboot.S: Replace
18249 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18250 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18251
b65830fa
VS
182522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 Write embedding zone using Reed-Solomon.
18255
18256 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18257 * grub-core/Makefile.am (rs_decoder.S): New target.
18258 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18259 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18260 (multiboot): Move to RS part.
18261 (post_reed_solomon): New label.
18262 (grub_boot_drive): Move to non-RS part since it's modified in memory
18263 on boot.
18264 Include rs_decoder.S.
18265 * grub-core/lib/reed_solomon.c: New file.
18266 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18267 New definition.
18268 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18269 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18270 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18271 * include/grub/partition.h (grub_partition_map): Change prototype of
18272 embed to allow returning additional sectors.
18273 * include/grub/reed_solomon.h: New file.
18274 * util/grub-setup.c (setup): Handle Reed-Solomon.
18275
0b4b227f
CW
182762010-09-28 Colin Watson <cjwatson@ubuntu.com>
18277
18278 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18279 i386 and x86-64 definedness tests.
18280
f772623b
YB
182812010-09-27 Yves Blusseau <blusseau@zetam.org>
18282
18283 Fix generation of kernel_syms.lst
18284
18285 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18286 ASM_PREFIX
18287
8e57a6ca
RM
182882010-09-26 Robert Millan <rmh@gnu.org>
18289
18290 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18291
18292 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18293 the pool is an array of devices, iterate through it and return the
18294 first device that passes a stat() test (instead of blindly returning
18295 the first one).
18296
f9130836
RM
182972010-09-26 Robert Millan <rmh@gnu.org>
18298
18299 Build fixes for GNU/kFreeBSD.
18300
18301 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18302 to programs that require ZFS conversion.
18303 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18304 kernels that don't have FLOPPY_MAJOR.
18305
96510faf
BC
183062010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18307
18308 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18309
449333eb
BC
183102010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18311
18312 Fix grub-emu build.
18313
18314 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18315 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18316 mdraid09 and mdraid1x.
18317
e1fd1939
CW
183182010-09-24 Colin Watson <cjwatson@ubuntu.com>
18319
18320 Re-enable grub-extras.
18321
18322 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18323 avoid confusing Automake. Run autogen only twice, once for the top
18324 level and once for grub-core. Add Makefile.util.def and
18325 Makefile.core.def from extra modules to the appropriate autogen
18326 invocations. If Makefile.common exists in an extra module, include
18327 it in both Makefile.util.am and grub-core/Makefile.core.am;
18328 similarly, include any Makefile.util.common file in Makefile.util.am
18329 and any Makefile.core.common file in grub-core/Makefile.core.am.
18330 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18331 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18332 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18333 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18334
18335 * gentpl.py (gvar_add): Turn GVARS into a set.
18336 (global_variable_initializers): Sort global variables on output.
18337 (vars_init): New function.
18338 (first_time): Likewise.
18339 (library): Ensure that non-global variable initialisations are
18340 emitted before the first time we emit code for a library block.
18341 Append to variables rather than setting them. Only emit
18342 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18343 each conditional path.
18344 (program): installdir() emits an Autogen macro, so must be passed to
18345 var_add rather than gvar_add.
18346 (data): Likewise.
18347 (script): Likewise.
18348 (rules): New function, centralising handling for different target
18349 types. Set up Guile association lists for first_time and vars_init,
18350 and send most output to a diversion so that variable initialisations
18351 can be emitted first.
18352 (module_rules): Use new rules function.
18353 (kernel_rules): Likewise.
18354 (image_rules): Likewise.
18355 (library_rules): Likewise.
18356 (program_rules): Likewise.
18357 (script_rules): Likewise.
18358 (data_rules): Likewise.
18359
18360 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18361
18362 * .bzrignore: Add contrib and grub-core/contrib. Remove
18363 grub-core/Makefile.gcry.am.
18364
1d12cf29
YB
183652010-09-24 Yves Blusseau <blusseau@zetam.org>
18366
18367 * grub-core/lib/LzFind.c: Add missing include.
18368 * grub-core/lib/LzmaEnc.c: Likewise.
18369 * grub-core/script/lexer.c: Likewise.
18370 * grub-core/script/yylex.l: Likewise.
18371 * util/grub-macho2img.c: Likewise.
18372 * util/grub-menulst2cfg.c: Likewise.
18373 * util/grub-mklayout.c: Likewise.
18374 * util/grub-mkpasswd-pbkdf2.c
18375 * util/grub-mkrelpath.c: Likewise.
18376 * util/resolve.c: Likewise.
18377
dd363028
BC
183782010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18379
18380 * Makefile.util.def (example_unit_test): Add
18381 grub-core/gnulib/libgnu.a.
18382
f5a109e2
GS
183832010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18384
18385 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18386
6d0fa83c
VS
183872010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 Support xz compression on yeeloong.
18390
18391 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18392 * configure.ac: Check for LZMA.
18393 * grub-core/Makefile.core.def (xz_decompress): New target.
18394 (none_decompress): Likewise.
18395 * grub-core/boot/decompressor/minilib.c: New file.
18396 * grub-core/boot/decompressor/none.c: Likewise.
18397 * grub-core/boot/decompressor/xz.c: Likewise.
18398 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18399 * grub-core/kern/mips/cache_flush.S: Likewise.
18400 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18401 * grub-core/kern/mips/startup.S: Move first stage to ...
18402 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18403 nomacro.
18404 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18405 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18406 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18407 Allocate statically.
18408 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18409 Allocate statically or use scratch. Don't check CRC32.
18410 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18411 Allocate statically. Don't check CRC32.
18412 * include/grub/decompressor.h: New file.
18413 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18414 Removed.
18415 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18416 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18417 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18418 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18419 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18420 * util/grub-mkimage.c (grub_compression_t): New type.
18421 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18422 (image_target_desc): New field default_compression.
18423 (image_targets): Adjust yeeloong targets.
18424 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18425 (compress_kernel): New parameter comp.
18426 (generate_image): Likewise. Handle new compression case.
18427 (options): New option --compression
18428 (help): Likewise.
18429 (main): Handle new option.
18430
1b655af6
GS
184312010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18432
18433 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18434
8f03f0b5
CW
184352010-09-22 Colin Watson <cjwatson@ubuntu.com>
18436
18437 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18438 typo in __i386__ conditional.
18439
7835dfd3
VS
184402010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18443 include.
18444
e255597e
VS
184452010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18446
6d0fa83c 18447 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18448
18449 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18450 new tags as supported.
18451 (acpiv2_size): New function.
18452 (grub_multiboot_get_mbi_size): Take new tags into account.
18453 (grub_multiboot_make_mbi): Add new tags.
18454 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18455
6cc14051 184562010-09-21 Aleš Nesrsta <starous@volny.cz>
18457
18458 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18459 Added missing configuration of USB device.
18460
df7769d8
CW
184612010-09-21 Colin Watson <cjwatson@ubuntu.com>
18462
18463 * grub-core/normal/menu_entry.c (run): Make sure we always return
18464 a value.
18465
b031012d
CW
184662010-09-21 Colin Watson <cjwatson@ubuntu.com>
18467
18468 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18469 NumberOfPages is UINT64 according to the UEFI specification, not
18470 UINTN. Fix printf format.
18471
174de8f3
CW
184722010-09-21 Colin Watson <cjwatson@ubuntu.com>
18473
18474 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18475 `err' to grub_usb_err_t.
18476 Reported and tested by: KESHAV P.R.
18477
d7dbe923
CW
184782010-09-21 Colin Watson <cjwatson@ubuntu.com>
18479
18480 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18481 tpart non-const, so that we can assign to it. (Since this is a
18482 typedef, the constness refers to the pointer rather than what it
18483 points to.)
18484
8d5e2af3
CW
184852010-09-21 Colin Watson <cjwatson@ubuntu.com>
18486
18487 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18488 $(top_srcdir)/grub-core/gnulib as well as
18489 $(top_builddir)/grub-core/gnulib.
18490 Reported by: KESHAV P.R.
18491
5c527783
CW
184922010-09-21 Colin Watson <cjwatson@ubuntu.com>
18493
18494 * util/grub-install.in: Fix the bootloader ID option to be
18495 consistently --bootloader-id, not --bootloader_id.
18496 Reported by: KESHAV P.R.
18497
d309a16e
CW
184982010-09-21 Colin Watson <cjwatson@ubuntu.com>
18499
18500 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18501 check hash checksum." consistently translatable.
18502
b830cd16
YB
185032010-09-21 Yves Blusseau <blusseau@zetam.org>
18504
18505 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18506 $(top_builddir).
18507
c4fe27a8
CW
185082010-09-21 Colin Watson <cjwatson@ubuntu.com>
18509
18510 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18511 (GRUB_MOD_INIT): Register sha1sum command.
18512 (GRUB_MOD_FINI): Unregister sha1sum command.
18513
a4c1d277
YB
185142010-09-21 Yves Blusseau <blusseau@zetam.org>
18515
18516 Keep boot and grub directory names in sync with utils scripts
18517
18518 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18519 * config.h.in: Add previous macros.
18520 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18521 * util/grub-install.in: Use $bootdir and $grubdir variables.
18522
4eff79d2
CW
185232010-09-21 Colin Watson <cjwatson@ubuntu.com>
18524
18525 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18526 convert partition names to disk names if the new `convert' parameter
18527 is set.
18528 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18529 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18530 disk in its own right. This can happen with Xen disk images.
18531
934d7e44
YB
185322010-09-21 Yves Blusseau <blusseau@zetam.org>
18533
18534 * util/grub-editenv.c: Update strings to avoid warnings when generating
18535 grub.pot file.
18536 * util/grub-setup.c: Likewise.
934d7e44 18537
df3367cc
VS
185382010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * configure.ac: Change version to 1.99~beta0.
18541
77a94e98
VS
185422010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18545 Add BADRAM.
18546 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18547 Likewise.
18548 * include/multiboot.h: Resynced with specification.
18549 * include/multiboot2.h: Likewise.
18550
269004c1
CW
185512010-09-21 Colin Watson <cjwatson@ubuntu.com>
18552
18553 Fix po directory handling.
18554
18555 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18556 * grub-core/gnulib/Makefile.am: Import gettext module.
18557 * m4/gnulib-cache.m4: Likewise.
18558 * m4/gnulib-comp.m4: Likewise.
18559 * m4/gettext.m4: New file, from gnulib.
18560 * m4/glibc2.m4: Likewise.
18561 * m4/iconv.m4: Likewise.
18562 * m4/intdiv0.m4: Likewise.
18563 * m4/intl.m4: Likewise.
18564 * m4/intldir.m4: Likewise.
18565 * m4/intlmacosx.m4: Likewise.
18566 * m4/intmax.m4: Likewise.
18567 * m4/inttypes-pri.m4: Likewise.
18568 * m4/lcmessage.m4: Likewise.
18569 * m4/lib-ld.m4: Likewise.
18570 * m4/lib-link.m4: Likewise.
18571 * m4/lib-prefix.m4: Likewise.
18572 * m4/lock.m4: Likewise.
18573 * m4/nls.m4: Likewise.
18574 * m4/po.m4: Likewise.
18575 * m4/printf-posix.m4: Likewise.
18576 * m4/progtest.m4: Likewise.
18577 * m4/threadlib.m4: Likewise.
18578 * m4/uintmax_t.m4: Likewise.
18579 * m4/visibility.m4: Likewise.
18580 * po/Makefile.am: Remove.
18581 * po/Makefile.in.in: New file, from gettext.
18582 ($(DOMAIN).pot-update): Support POTFILES-shell.
18583 * po/Makevars: New file.
18584 * po/POTFILES-shell: Rename to ...
18585 * po/POTFILES-shell.in: ... this. Update.
18586 * po/POTFILES: Rename to ...
18587 * po/POTFILES.in: ... this. Update.
18588 * po/Rules-quot: New file, from gettext.
18589 * po/boldquot.sed: Likewise.
18590 * po/en@boldquot.header: Likewise.
18591 * po/en@quot.header: Likewise.
18592 * po/insert-header.sin: Likewise.
18593 * po/quot.sed: Likewise.
18594 * po/remove-potcdate.sin: Likewise.
18595
3e0fa5d0
VS
185962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18597
18598 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18599
ade9bd66
VS
186002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * util/grub.d/20_linux_xen.in: Use submenus.
18603
fc55cc4c
VS
186042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18605
18606 Support submenus.
18607
18608 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18609 parameter submenu. All users updated.
18610 * grub-core/normal/main.c (free_menu): Rename to ...
18611 (grub_normal_free_menu): ... this. Made global.
18612 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18613 if requested.
18614 * grub-core/normal/menu_entry.c (screen): New field submenu.
18615 (make_screen): Set submenu.
18616 (run): Open new context if requested.
18617 * include/grub/menu.h (grub_menu_entry): New field submenu.
18618 * include/grub/normal.h (grub_normal_free_menu): New proto.
18619
600cedf7
VS
186202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 Menu entries extractor.
18623
18624 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18625 variants.
18626 (GRUB_MOD_INIT): Register new variants.
18627 (GRUB_MOD_FINI): Unregister new variants.
18628 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18629 into grub_cmd_legacy_source.
18630 (grub_cmd_legacy_source): Implement extractor variants.
18631 (GRUB_MOD_INIT): Register new variants.
18632 (GRUB_MOD_FINI): Unregister new variants.
18633 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18634 as an extractor.
18635 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18636 search as an extractor.
18637 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18638 test as an extractor.
18639 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18640 as an extractor.
18641 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18642 (grub_env_new_context): New function.
18643 (grub_env_context_open): Likewise.
18644 (grub_env_extractor_open): Likewise.
18645 (grub_env_extractor_close): Likewise.
18646 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18647 grub_extractor_level.
18648 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18649 * include/grub/env.h (grub_env_extractor_open): New proto.
18650 (grub_env_extractor_close): Likewise.
18651 * include/grub/normal.h (grub_extractor_level): New external variable.
18652
7bda3a87
VS
186532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 Make cutmem accept a region specification.
18656 Suggested by: Samuel Thibault
18657
18658 * grub-core/mmap/mmap.c (parsemem): New function.
18659 (grub_cmd_cutmem): Handle new arguments.
18660
2ea57f88
VS
186612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 New command cutmem.
18664
18665 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18666 (GRUB_MOD_INIT): Register new command.
18667 (GRUB_MOD_FINI): Unregister new command.
18668
74342e31
VS
186692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 Support some annoying BSD and Minix subpartitions.
18672
18673 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18674 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18675 Properly handle concatenation.
18676 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18677 * grub-core/normal/completion.c (iterate_partition): Likewise.
18678 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18679 contain partition. All users updated.
18680 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18681 struct.
18682 (grub_openbsdlabel_partition_map): Likewise.
18683 (bsdlabel_partition_map_iterate): Rename to ..
18684 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18685 (bsdlabel_partition_map_iterate): New function.
18686 (netopenbsdlabel_partition_map_iterate): Likewise.
18687 (netbsdlabel_partition_map_iterate): Likewise.
18688 (openbsdlabel_partition_map_iterate): Likewise.
18689 (GRUB_MOD_INIT): Register new partmaps.
18690 (GRUB_MOD_FINI): Unregister new partmaps.
18691 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18692 (grub_partition_msdos_iterate): ... this. All users updated.
18693 Don't support embedding other than in a minix partition.
18694 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18695 proto.
18696 * include/grub/partition.h (grub_partition): New field msdostype.
18697 * util/grub-install.in: Handle openbsd and netbsd types being in
18698 part_bsd module.
18699
1e8d555b
VS
187002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18703
18704 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18705 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18706 (mdraid09): ... this.
18707 (mdraid1x): New module.
18708 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18709 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18710
899d8af4
VS
187112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18714 vsprintf.
18715
40901acd
CW
187162010-09-20 Colin Watson <cjwatson@ubuntu.com>
18717
18718 * grub-core/commands/efi/lsefimmap.c: Correct header.
18719 * NEWS: Update.
18720
dfe3b247
CW
187212010-09-20 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18724 as printf format strings; the translations might contain '%' which
18725 could cause a crash.
18726 (main): Likewise.
18727 * util/grub-fstest.c (argp_parser): Likewise.
18728 * util/grub-setup.c (argp_parser): Likewise.
18729 (main): Likewise.
18730
3286a4b4
VS
187312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18732
18733 Use argp in grub-fstest.
18734
18735 * util/grub-fstest.c: Don't include getopt.h.
18736 Include argp.h.
18737 (root): New variable.
18738 (args_count): Likewise.
18739 (nparm): Likewise.
18740 (num_disks): Likewise.
18741 (images): Likewise.
18742 (cmd): Likewise.
18743 (debug_str): Likewise.
18744 (args): Likewise.
18745 (options): Transformed to argp.
18746 (usage): Removed.
18747 (main): Split argument parsing into ...
18748 (argp_parser): ... this. Changed to argp format.
18749 (argp): New variable.
18750 (main): Use argp_parse.
18751
3dccbe4b
TG
187522010-09-20 Tristan Gingold <gingold@free.fr>
187532010-09-20 Robert Millan <rmh.grub@aybabtu.com>
187542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 * grub-core/commands/efi/lsefimmap.c: New file.
18757 * grub-core/Makefile.core.def (lsefimmap): New module.
18758 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18759
38c259a7
VS
187602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 Pause the execution (10s max) if any errors are displayed so the user
18763 has a chance to see them.
18764
18765 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18766 (grub_print_error): Increment grub_err_printed_errors.
18767 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18768 execution if any errors were displayed.
18769 (show_menu): Remove old code for pause.
18770 * grub-core/normal/menu_entry.c (run): Likewise.
18771 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18772 users updated.
18773 (grub_normal_get_char_counter): Likewise.
18774 * include/grub/err.h (grub_err_printed_errors): New external variable.
18775 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18776
f218b09c
VS
187772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18778
18779 Support multiboot VBE info.
18780
18781 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18782 Take VBE info into account.
18783 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18784 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18785 Call fill_vbe_info when appropriate.
18786 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18787 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18788 as supported.
18789 (grub_multiboot_get_mbi_size): Take new tags into account.
18790 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18791 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18792 Call fill_vbe_tag when appropriate.
18793 (grub_multiboot_make_mbi): Properly align tags.
18794 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18795 function.
18796 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18797 proto.
18798 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18799
a9cc5438
VS
188002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 Suport manual terminal geometry specification.
18803
18804 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18805 Save state in grub_ofconsole_terminfo_output.
18806 (grub_ofconsole_term): Use grub_terminfo_getwh.
18807 (grub_ofconsole_getwh): Removed.
18808 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18809 (grub_serial_term): Use grub_terminfo_getwh.
18810 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18811 (options): New struct.
18812 (OPTION_*): New enum.
18813 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18814 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18815 width and height.
18816 (grub_terminfo_getwh): New proto.
18817 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18818
1a8fed20
VS
188192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 Handle legacy "terminal" command.
18822
18823 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18824 and FLAG_TERMINAL.
18825 (legacy_commands): Add terminal and title.
18826 (grub_legacy_parse): Handle terminal. Simplify title handling.
18827
41e9c57d
VS
188282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18831 parameters overflow.
18832
61c874c5
CW
188332010-09-20 Colin Watson <cjwatson@ubuntu.com>
18834
18835 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18836 widthspec.h.
18837
18838 * docs/grub.texi (Shell-like scripting): Document `!'.
18839 (Network): Simplify using new i386-pc-pxe format. Mention
18840 grub-mknetdir.
18841
18842 * NEWS: Update.
18843
943682b4
CW
188442010-09-20 Colin Watson <cjwatson@ubuntu.com>
18845
18846 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18847 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18848 when needed.
18849
6d3d698d
CW
188502010-09-20 Colin Watson <cjwatson@ubuntu.com>
18851
18852 * grub-core/commands/efi/lsefisystab.c: Correct header.
18853 * grub-core/commands/efi/lssal.c: Likewise.
18854 * grub-core/commands/testload.c: Likewise.
18855
c982589f
CW
188562010-09-20 Colin Watson <cjwatson@ubuntu.com>
18857
18858 * util/grub-mkrescue.in: Add explicit root argument to --set to
18859 prevent the UUID being interpreted as an argument to --set (matches
18860 previous change to prepare_grub_to_access_device).
18861
a63c31b6
CW
188622010-09-20 Colin Watson <cjwatson@ubuntu.com>
18863
18864 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18865 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18866 the verbosity of later #ifs.
18867 (find_partition_start): Define this function on FreeBSD too.
18868 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18869 function.
18870 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18871 on FreeBSD.
18872
6439b8ee
YB
188732010-09-20 Yves Blusseau <blusseau@zetam.org>
18874
18875 * util/grub-editenv.c: Use argp instead of getopt.
18876
c5930ec8
YB
188772010-09-20 Yves Blusseau <blusseau@zetam.org>
18878
18879 * util/grub-setup.c: Use argp instead of getopt.
18880
15c69261
YB
188812010-09-20 Yves Blusseau <blusseau@zetam.org>
18882
18883 Use gnulib-tool to create gnulib source files.
18884
18885 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18886 grub-core/gnulib directories
18887 * .bzignore: Add **/.deps and autogenerated gnulib files
18888 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18889 of gnulib macros, add grub-core/gnulib/Makefile
18890 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18891 include m4 directory to aclocal.
18892 * Makefile.util.def: Remove direct compilation of gnulib source files
18893 and use the new grub-core/gnulib/libgnu.a.
18894 * build-aux/config.rpath: move config.rpath from top directory to
18895 build-aux
18896 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18897 in gnulib headers
18898 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18899 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18900 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18901 header.
18902 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18903 string.
18904
e511c9f5
YB
189052010-09-20 Yves Blusseau <blusseau@zetam.org>
18906
18907 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18908 grub-core/genmod.sh and grub-core/gensyminfo.sh
18909
c2dede05
BC
189102010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18911
18912 Add a test for echo command options.
18913
18914 * tests/grub_cmd_echo.in: New test.
18915 * Makefile.util.def: Rules for new test.
18916
c55f5018
SJ
189172010-09-20 Szymon Janc <szymon@janc.net.pl>
18918
18919 Remove crc.mod and move crc command to hashsum.mod.
18920 Remove lib/crc.c - users updated to use gcrypt implementation.
18921
18922 * grub-core/commands/crc.c: Removed.
18923 * grub-core/Makefile.core.def (crc): Module removed.
18924 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18925 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18926 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18927 * grub-core/lib/crc.c: Removed.
18928 * include/grub/lib/crc.h: Removed.
18929 * Makefile.util.def (crc): Remove lib/crc.c
18930 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18931 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18932 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18933 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18934 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18935 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18936
e0337366
VS
189372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18940
742f9232
VS
189412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 Split config.h for util and core.
18944
18945 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18946 (ADDR32): Likewise.
18947 (DATA32): Likewise.
18948 (BSS_START_SYMBOL): Likewise.
18949 (END_SYMBOL): Likewise.
18950 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18951 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18952 * config.h.in: New file.
18953 * configure.ac: Use config-util.h as config define file.
18954 Rename MACHINE into GRUB_MACHINE. All users updated.
18955 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18956 updated.
18957 (NESTED_FUNC_ATTR): Likewise.
18958 Substitue new variables.
18959 (COND_HAVE_ASM_USCORE): New conditional.
18960 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18961 (kernel_syms.lst): Use ASM_PREFIX.
18962 * grub-core/kern/emu/console.c: Include config-util.h.
18963 * grub-core/kern/emu/misc.c: Likewise.
18964 * grub-core/kern/emu/mm.c: Likewise.
18965 * include/grub/emu/misc.h: Likewise.
18966 * include/grub/libgcc.h: Likewise.
18967
39feb0e8
VS
189682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18971 constants usage.
18972 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18973 Fix GRUB_TERM_KEY_* constants usage.
18974 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18975
9af6dac3
VS
189762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18977
18978 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18979 print pointer.
18980 * grub-core/bus/usb/uhci.c: Remove empty define.
18981 (grub_uhci_check_transfer): Add missing cast.
18982 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18983 print pointer.
18984 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18985 PRIuGRUB_SIZE.
18986 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18987
d6d94820
VS
189882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18989
18990 * grub-core/Makefile.core.def (legacycfg): Add
18991 lib/i386/pc/vesa_modes_table.c on emu.
18992
3572f2b6
BC
189932010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18994
18995 Reduce number of temporary files generated by build system.
18996
18997 * grub-core/gencmdlist.sh: Removed.
18998 * grub-core/genfslist.sh: Removed.
18999 * grub-core/genhandlerlist.sh: Removed.
19000 * grub-core/genmodsrc.sh: Removed.
19001 * grub-core/genpartmaplist.sh: Removed.
19002 * grub-core/genparttoollist.sh: Removed.
19003 * grub-core/gentermiinallist.sh: Removed.
19004 * grub-core/genvideolist.sh: Removed.
19005
19006 * grub-core/genmod.sh.in: New file.
19007 * grub-core/gensyminfo.sh.in: New file.
19008
19009 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19010 * conf/Makefile.extra-dist: Update with new files.
19011 * gentpl.py: Remove rules related to unnecessary temporary files.
19012 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19013 and und-* files.
19014 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19015 genmod.sh scripts.
19016 * grub-core/bus/usb/uhci.c: Remove empty #define.
19017 * grub-core/genmoddep.awk: Updated with new syminfo format.
19018 * util/bash-completion.d/Makefile.am: Add config.log to
19019 CLEANFILES.
19020
c836b030
YB
190212010-09-19 Yves Blusseau <blusseau@zetam.org>
19022
19023 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19024
2f4e8053
BC
190252010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19026
19027 * util/grub-mkconfig.in: Check the config script for syntax errors
19028 before saving.
19029
75831c34
CW
190302010-09-19 Colin Watson <cjwatson@ubuntu.com>
190312010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19034 platforms.
19035 * util/grub-install.in: Add EFI and IEEE1275 support.
19036 * util/i386/efi/grub-install.in: Removed.
19037 * util/ieee1275/grub-install.in: Likewise.
19038
eaf41b25
VS
190392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19040
19041 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19042 (grub_cmd_cmosclean): Likewise.
19043 (GRUB_MOD_INIT): Register command cmosclean.
19044 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19045 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19046
1a9130dd
CPE
190472010-09-18 Carles Pina i Estany <carles@pina.cat>
190482010-09-18 Aleš Nesrsta <starous@volny.cz>
190492010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 Add keyboard layouts support.
19052
19053 * Makefile.util.def (grub-mklayout): New file.
19054 (grub-kbdcomp): New script.
19055 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19056 Add keyboard_layouts.h.
19057 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19058 commands/boot.c on yeeloong.
19059 (keylayouts): New module.
19060 * grub-core/bus/usb/ohci.c
19061 * grub-core/bus/usb/uhci.c
19062 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19063 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19064 (attach_root_port): Likewise.
19065 (poll_nonroot_hub): Likewise.
19066 (grub_usb_poll_devices): Likewise.
19067 (detach_device): Close transfer.
19068 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19069 function.
19070 (grub_usb_bulk_setup_readwrite): Likewise.
19071 (grub_usb_bulk_finish_readwrite): Likewise.
19072 * grub-core/commands/keylayouts.c: New file.
19073 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19074 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19075 aliases.
19076 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19077 support scancode 2.
19078 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19079 * include/grub/keyboard_layouts.h: New file.
19080 * util/grub-mklayout.c: New file.
19081 * util/grub-kbdcomp.in: Likewise.
19082
a1d84a5e
VS
190832010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 Unify memory types.
19086
19087 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19088 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19089 types.
19090 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19091 (grub_upper_mem): Likewise.
19092 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19093 * include/grub/memory.h (grub_memory_type_t): New enum.
19094 All users updated.
19095
9696382e
VS
190962010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * grub-core/Makefile.core.def (lsapm): New module.
19099 * grub-core/commands/i386/pc/lsapm.c: New file.
19100 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19101 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19102 Likewise.
19103 * include/grub/i386/pc/apm.h: New file.
19104 * include/multiboot.h (multiboot_apm_info): New struct.
19105
191062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 GRUB-legacy configuration file support.
19109
19110 * Makefile.util.def (grub-menulst2cfg): New util.
19111 * docs/man/grub-menulst2cfg.h2m: New file.
19112 * grub-core/Makefile.core.def (legacycfg): New module.
19113 * grub-core/commands/legacycfg.c: New file.
19114 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19115 (grub_normal_add_menu_entry): ... this.
19116 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19117 (grub_normal_set_password): ...this.
19118 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19119 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19120 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19121 * grub-core/lib/legacy_parse.c: New file.
19122 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19123 * include/grub/i386/pc/vesa_modes_table.h: New file.
19124 * include/grub/legacy_parse.h: Likewise.
19125 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19126 * util/grub-menulst2cfg.c: New file.
19127
bf8d1338
CW
191282010-09-17 Colin Watson <cjwatson@ubuntu.com>
19129
19130 * grub-core/kern/emu/hostdisk.c
19131 (convert_system_partition_to_system_disk): Initialise node.
19132
9c0bad2e
CW
191332010-09-17 Colin Watson <cjwatson@ubuntu.com>
19134
19135 * grub-core/kern/emu/hostdisk.c
19136 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19137 leak.
19138 Reported and based on patch by: Modestas Vainius.
19139
a939d135
CW
191402010-09-17 Colin Watson <cjwatson@ubuntu.com>
19141
19142 Fix DM-RAID probing with recent versions of device-mapper udev
19143 rules.
19144
19145 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19146 canonicalise device paths under /dev/mapper/.
19147 (convert_system_partition_to_system_disk): Compare the
19148 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19149 path, since device nodes under /dev/mapper/ are often symlinks.
19150
0f7ee3c9
YB
191512010-09-17 Yves Blusseau <blusseau@zetam.org>
19152
19153 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19154
10854d0d
YB
191552010-09-16 Yves Blusseau <blusseau@zetam.org>
19156
19157 * configure.ac: Avoid some annoying error messages if freetype-config
19158 program is not found.
19159
108538d8
CW
191602010-09-16 Colin Watson <cjwatson@ubuntu.com>
19161
19162 Support RAID on virtio devices, and others.
19163
19164 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19165 Rename to ...
19166 [__MINGW32__] (grub_find_device): ... this.
19167 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19168 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19169 reasonable default if dir is NULL.
19170 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19171 ...
19172 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19173 (grub_guess_root_device): Update callers.
19174 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19175
19176 * util/raid.c (grub_util_getdiskname): Remove.
19177 (grub_util_raid_getmembers): Use grub_find_device rather than
19178 grub_util_getdiskname.
19179
e5bfc130
CW
191802010-09-16 Colin Watson <cjwatson@ubuntu.com>
19181
19182 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19183 needing to be compiled with serial support.
19184 (ls): Indicate that multiple files are accepted.
19185 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19186 indicate that multiple files are accepted.
19187
be458ae2
CW
191882010-09-16 Colin Watson <cjwatson@ubuntu.com>
19189
19190 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19191 libgrub_a_init.c, and util/bash-completion.d/grub.
19192
cb731b5e
VS
191932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * util/grub-setup.c (setup): Fix incorrect container semantics.
19196
35139e8a
VS
191972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19200 misusage.
19201 Reported by: J. Nick Terry
19202
e50fca4a
VS
192032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 Move embedding routines to partmap sources files.
19206
19207 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19208 [GRUB_UTIL]: New variable.
19209 (gpt_partition_map_iterate): Set part.parent.
19210 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19211 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19212 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19213 New function.
19214 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19215 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19216 (grub_partition_map) [GRUB_UTIL]: New field embed.
19217 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19218 (setup): Use ->embed.
19219
f00478b7
VS
192202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19223 function.
19224 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19225 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19226
2b94e3ff
YB
192272010-09-15 Yves Blusseau <blusseau@zetam.org>
19228
19229 Add function to get completions from usage.
19230
19231 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19232 completions from usage. Use LC_ALL=C to get options properly.
19233
2e04a006
VS
192342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * grub-core/gnulib/basename-lgpl.c: Imported.
19237 * grub-core/gnulib/basename.c: Likewise.
19238 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19239 * grub-core/gnulib/dirname.c: Likewise.
19240 * grub-core/gnulib/dirname.h: Likewise.
19241 * grub-core/gnulib/stripslash.c: Likewise.
19242
5dcdf93a
VS
192432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 * grub-core/gnulib/error.c: Resynced.
19246 * grub-core/gnulib/getopt.c: Likewise.
19247 * grub-core/gnulib/getopt_int.h: Likewise.
19248 * grub-core/gnulib/regex.h: Likewise.
19249 * grub-core/gnulib/regex_internal.c: Likewise.
19250 * grub-core/gnulib/regex_internal.h: Likewise.
19251
014f47b7
SJ
192522010-09-15 Szymon Janc <szymon@janc.net.pl>
19253
19254 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19255 CRC calculations and validity checks.
19256 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19257 calculations.
19258
dd521a4a
SJ
192592010-09-15 Szymon Janc <szymon@janc.net.pl>
19260
19261 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19262
79c4eeb9
VS
192632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 Fix incorrect echo options handling.
19266 Reported by: Yves Blusseau.
19267
19268 * include/grub/command.h (grub_command_flags_t): New flags
19269 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19270 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19271 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19272
ed80f7d5
VS
192732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19274
19275 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19276 users updated.
19277 (GRUB_COMMAND_FLAG_MENU): Likewise.
19278 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19279 (GRUB_COMMAND_FLAG_TITLE): Removed.
19280 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19281 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19282 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19283 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19284 (grub_command_flags_t): New enum. All users updated.
19285
5fe7620a
SG
192862010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19287
19288 Fix solaris compilation.
19289
19290 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19291 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19292 (grub-emu-list): Likewise.
19293
545b752f
VS
192942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 Remove deprecated root command.
19297
19298 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19299 updated.
19300
6c1a338c
VS
193012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * util/i386/pc/grub-setup.c: Merge this ...
19304 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19305 * util/grub-setup.c: ... into this.
19306 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19307 New struct.
19308
193092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19310
19311 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19312 possible.
19313
d2ea4551
VS
193142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19317 allocate p.
19318
3c3b5040
VS
193192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19322 explicit root argument to set to prevent UUID to be interpreted as
19323 argument to set.
19324
b71c3fae
VS
193252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19328
275433e6
VS
193292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19330
19331 Don't export grub_gate_a20.
19332
19333 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19334 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19335 to ...
19336 (grub_gate_a20): ... this. All users updated.
19337 * include/grub/i386/pc/init.h: Removed. All users updated.
19338
a5dbb1f1
VS
193392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 Create euro.pf2 which supports most European languages.
19342
19343 * Makefile.am (grubdata_DATA): Add euro.pf2.
19344 (euro.pf2): New target.
19345 (CLEANFILES): Add euro.pf2.
19346
62a747cb
VS
193472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 * configure.ac: Disable emu-usb by default to prevent inadvertent
19350 device takeover.
19351
608e43b1
VS
193522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 Disable usbserial on grub-emu since our libusb code isn't good enough
19355 yet.
19356
19357 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19358 (usbserial_pl2303): Likewise.
19359 (usbserial_ftdi): Likewise.
19360
94564f81
VS
193612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * include/grub/disk.h (grub_disk): Remove has_partitions.
19364 All users updated.
19365 * disk/loopback.c (grub_loopback): Remove has_partitions.
19366 All users updated.
19367 (options): Remove partitions. All users updated.
19368 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19369 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19370 actual partition table is found.
19371
3352800b
VS
193722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 Remove readability checks (too many false negatives).
19375
19376 * util/grub-install.in: Remove readability checks.
19377 * util/grub-mkconfig.in: Likewise.
19378 * util/grub.d/10_hurd.in: Likewise.
19379 * util/grub.d/10_kfreebsd.in: Likewise.
19380 * util/grub.d/10_linux.in: Likewise.
19381 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19382 way.
19383
2419f17a
VS
193842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19385
19386 Enable acpi shutdown on all ACPI platforms.
19387
19388 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19389 on coreboo, multiboot and EFI.
19390 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19391 (grub_acpi_halt): Likewise.
19392 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19393 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19394 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19395 * grub-core/lib/i386/halt.c (grub_halt)
19396 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19397
0575c7c3
VS
193982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19401 context.
19402
54ac3cd1
VS
194032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19406 * grub-core/video/efi_uga.c: Likewise.
19407
b2a30ac5
VS
194082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 Filter devaliases and never open same device twice.
19411
19412 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19413 (last_ihandle): Likewise.
19414 (ofdisk_hash_ent): New member shortest.
19415 (ofdisk_hash_add): Add canonical path too.
19416 (scan): New function.
19417 (grub_ofdisk_iterate): Iterate over hashed entries.
19418 (compute_dev_path): Don't add :0.
19419 (grub_ofdisk_open): Don't really open the disk.
19420 (grub_ofdisk_close): Avoid closing unrelated disk.
19421 (grub_ofdisk_read): Implement reopen logic.
19422 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19423 New function.
19424 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19425 New proto.
19426
fb53b340
VS
194272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 Fix sparc64.
19430
19431 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19432 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19433 right address. Add sparc64_ieee1275_ldflags.
19434 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19435 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19436 to grub_host_to_target_addr
19437 (load_image): Likewise.
19438
f452b040
VS
194392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 * grub-core/normal/completion.c (complete_file): Handle device
19442 containing slash.
19443 Fix based on patch by Doug Nazar.
19444
9b5b2541
VS
194452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 grub-mknetdir script.
19448
19449 * Makefile.util.def (grub-mknetdir): New module.
19450 * tests/util/grub-shell.in: Support boot=net
19451 * util/grub-mknetdir.in: New file.
19452
9d2be652
VS
194532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 videoinfo on non-vbe.
19456
19457 * grub-core/Makefile.core.def (vbeinfo): Removed.
19458 (vbetest): Removed.
19459 (videoinfo): New module.
19460 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19461 * grub-core/commands/i386/pc/vbetest.c: Removed.
19462 * grub-core/commands/videoinfo.c: New file.
19463 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19464 specification.
19465 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19466 as vbetest.
19467 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19468 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19469 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19470 mode_number. New parameter mode. All users updated.
19471 (grub_video_gop_iterate): New function.
19472 (grub_video_efi_gop): New member iterate.
19473 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19474 (grub_vbe_set_video_mode): Remove setting useless fields.
19475 (vbe2videoinfo): New function.
19476 (grub_video_vbe_iterate): Likewise.
19477 (grub_video_vbe_setup): Use vbe2videoinfo.
19478 (grub_video_vbe_print_adapter_specific_info): New function.
19479 (grub_video_vbe_adapter): New fields iterate and
19480 print_adapter_specific_info.
19481 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19482 All users updated.
19483 (grub_video_mode_info): New field mode_number.
19484 (grub_video_adapter): New fields iterate and
19485 print_adapter_specific_info.
19486
179503f5
TG
194872010-09-13 Tristan Gingold <gingold@free.fr>
194882010-09-13 Robert Millan <rmh.grub@aybabtu.com>
194892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 * grub-core/commands/efi/lsefisystab.c: New file.
19492 * grub-core/commands/efi/lssal.c: Likewise.
19493 * grub-core/Makefile.core.def (lsacpi): New module.
19494 (lsefisystab): Likewise.
19495 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19496 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19497 (grub_efi_sal_system_table): New struct.
19498 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19499 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19500 (grub_efi_sal_system_table_platform_features): Likewise.
19501 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19502 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19503 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19504 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19505
cf9827de
VS
195062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 Support explicit user claim that a device is BIOS-visible.
19509
19510 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19511 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19512 * grub-core/kern/emu/hostdisk.c
19513 (convert_system_partition_to_system_disk): Support mdX.
19514 (find_system_device): New parameter add. All users updated.
19515 (grub_util_biosdisk_is_present): New function.
19516 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19517 proto.
19518
53f0eb1f
VS
195192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19520
19521 Search hints support.
19522
19523 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19524 All users updated.
19525
b23ffd70
YB
195262010-09-13 Yves Blusseau <blusseau@zetam.org>
19527
19528 Bash completion script for util commands
19529
19530 * Makefile.am: Add util/bash-completion.d directory
19531 * configure.ac: Likewise.
19532 * util/bash-completion.d/Makefile.am: New file.
19533 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19534
d547dc28
VS
195352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19538 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19539 Reported by: Yves Blusseau.
19540
2fc8ccb9
VS
195412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19544 partition size and offset.
19545
d8a84076
VS
195462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19547
19548 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19549
84fb3b3d
VS
195502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19553
768ec2e2
VS
195542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19557 (grub_xvasprintf): Likewise.
19558
4870900f
VS
195592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19562
faca6bec
VS
195632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19564
19565 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19566 args ending with NULL.
19567
195682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19569
19570 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19571 pointer.
19572
3c70f225
SJ
195732010-09-11 Szymon Janc <szymon@janc.net.pl>
19574
19575 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19576
4df7996d
VS
195772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 Shutdown using ACPI.
19580
19581 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19582 * grub-core/commands/acpihalt.c: New file.
19583 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19584 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19585 (grub_acpi_halt): New proto.
19586 (GRUB_ACPI_SLP_EN): New const.
19587 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19588 (GRUB_ACPI_OPCODE_*): New enum.
19589 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19590
126b4c32
TG
195912010-09-11 Tristan Gingold <gingold@free.fr>
195922010-09-11 Robert Millan <rmh.grub@aybabtu.com>
195932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 * commands/lsacpi.c: New file.
19596 * grub-core/Makefile.core.def (lsacpi): New module.
19597 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19598 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19599 (grub_acpi_madt_entry_header): New struct.
19600 (grub_acpi_madt): Likewise.
19601 (grub_acpi_madt_entry_interrupt_override): Likewise.
19602 (grub_acpi_madt_entry_sapic): Likewise.
19603 (grub_acpi_madt_entry_lsapic): Likewise.
19604 (grub_acpi_madt_entry_platform_int_source): Likewise.
19605 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19606 (PRIuGRUB_UINT32_T): Likewise.
19607 (PRIxGRUB_UINT64_T): Likewise.
19608
1aa4fe88
VS
196092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Implement loading palette on ieee1275_fb.
19612
19613 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19614 (have_setcolors): Likewise.
19615 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19616 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19617 (grub_video_ieee1275_set_palette): Implement.
19618
25761e13
VS
196192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
196202010-09-11 Colin Watson <cjwatson@ubuntu.com>
19621
19622 * util/grub-install.in (grub_partition): New variable.
19623 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19624 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19625 Fixes a bug reported by Yves Blusseau.
19626
050abaea
VS
196272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 Fix emu on mipsel.
19630
19631 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19632 =grub_cpu_flush_cache on all mips and not only yeeloong.
19633 * configure.ac (COND_mips): New conditional.
19634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19635 platforms.
19636 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19637 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19638 [GRUB_LINKER_HAVE_INIT]: New function.
19639 (grub_emu_post_init): Likewise.
19640 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19641 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19642 * include/grub/cache.h (_mips): Include mips/cache.h.
19643 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19644 LVM and RAID prototypes.
19645 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19646 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19647 function.
19648
5ed7d816
CW
196492010-09-10 Colin Watson <cjwatson@ubuntu.com>
19650
19651 * util/grub-install.in: Don't try to verify core.img until after
19652 running grub-mkimage to create it.
19653
90367e04
RM
196542010-09-10 Robert Millan <rmh@gnu.org>
19655
19656 * util/grub.d/10_hurd.in: Add misc readability checks.
19657 * util/grub.d/10_kfreebsd.in: Likewise.
19658 * util/grub.d/10_linux.in: Likewise.
19659
c452fa66
CW
196602010-09-10 Colin Watson <cjwatson@ubuntu.com>
19661
19662 * util/grub-install.in: ${imgext} won't be defined here until the
19663 install branch is merged. For the meantime, only verify core.img on
19664 i386-pc and sparc64-ieee1275 platforms.
19665
c38fe9f4
RM
196662010-09-10 Robert Millan <rmh@gnu.org>
19667
19668 Solaris support in grub_find_zpool_from_dir(). Thanks
19669 Seth Goldberg for referring to getextmntent() facility.
19670
19671 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19672 `sys/mkdev.h'.
19673 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19674 `<sys/mnttab.h>'.
19675 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19676 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19677 method for finding zpool name.
19678
905f7773
CW
196792010-09-10 Colin Watson <cjwatson@ubuntu.com>
19680
19681 grub-fstest needs the host and hostfs modules while other utilities
19682 actively require those modules to be absent, so grub-fstest needs
19683 its own initialisation and finalisation code.
19684
19685 * Makefile.am (grub_fstest.pp): New target.
19686 (grub_fstest_init.lst): Likewise.
19687 (grub_fstest_init.c): Likewise.
19688 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19689
fb90b546
RM
196902010-09-10 Robert Millan <rmh@gnu.org>
19691
19692 * configure.ac: Check for `struct statfs.f_fstypename' and
19693 `struct statfs.f_mntfromname'.
19694
19695 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19696 kFreeBSD-specific code.
19697
66d4bea5
RM
196982010-09-10 Robert Millan <rmh@gnu.org>
19699
19700 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19701 on ZFS. Now non-main filesystems are supported as / too.
19702
b6a690ee
CW
197032010-09-09 Colin Watson <cjwatson@ubuntu.com>
19704
19705 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19706 and grub-core/disk/host.c to ...
19707 (grub-fstest): ... here. Having the host disk implementation
19708 present confuses grub-probe and other utility programs.
19709
19710 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19711 when writing to a file, not when writing to stdout.
19712
8901b00c 197132010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19714
19715 * tests/partmap_test.in: New test for partitions.
19716 * Makefile.util.def: Rules for new test.
19717
7bf45fdd
RM
197182010-09-09 Robert Millan <rmh@gnu.org>
19719
19720 * util/grub-probe.c (probe): Fix a pair of unhandled error
19721 conditions.
19722
4dfbc574
RM
197232010-09-09 Robert Millan <rmh@gnu.org>
19724
19725 Basic Btrfs support (detection and UUID).
19726
19727 * grub-core/fs/btrfs.c: New file.
19728 * Makefile.util.def (library): Register btrfs.c.
19729 * grub-core/Makefile.core.def: Likewise.
19730
6b8e78ae
RM
197312010-09-08 Robert Millan <rmh@gnu.org>
19732
19733 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19734 with (optional) parameters to specify device and relative path.
19735 * util/grub-install.in: Use is_path_readable_by_grub() to
19736 verify readability of a few critical files.
19737 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19738 verify readability of grub.cfg.new.
19739
27f21a8b
VS
197402010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 Split minix.mod into minix.mod and minix2.mod.
19743
19744 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19745 * grub-core/Makefile.core.def (minix2): New module.
19746 * grub-core/fs/minix.c: Use definitions instead of runtime version
19747 checking.
19748 * grub-core/fs/minix2.c: New file.
19749
c0e53ea5
YB
197502010-09-08 Yves Blusseau <blusseau@zetam.org>
19751
19752 Add new --boot-directory option to replace --root-directory
19753
19754 * util/grub-install.in: Add new --boot-directory option
19755 * util/grub-reboot.in: Likewise.
19756 * util/grub-set-default.in: Likewise.
19757
b9fe6ea2
YB
197582010-09-08 Yves Blusseau <blusseau@zetam.org>
19759
19760 * util/grub-mkconfig.in: Use new variable.
19761
d87aedff
YB
197622010-09-08 Yves Blusseau <blusseau@zetam.org>
19763
19764 * configure.ac: Define some useful variables.
19765
e55e8495
VS
197662010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19767
19768 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19769 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19770 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19771 Use terminfo and don't use cursor-on/cursor-off unless it's known
19772 to work.
19773 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19774 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19775
6fa6d675
CW
197762010-09-08 Colin Watson <cjwatson@ubuntu.com>
19777
19778 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19779 starts with "(,", fill the drive containing the loaded image in
19780 between those two characters, but expect that a full partition
19781 specification including partition map names will follow.
19782
92f2aef0
RM
197832010-09-08 Robert Millan <rmh@gnu.org>
19784
19785 * configure.ac: Remove `--enable-grub-fstest' option.
19786 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19787
19788 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19789 `grub-fstest' instead of `grub-probe' for readability verification.
19790 * util/grub-probe.c (probe): Remove readability verification kludge.
19791
99fd620d
RM
197922010-09-08 Robert Millan <rmh@gnu.org>
19793
19794 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19795 initializing `GRUB_FS'.
19796
058e30ac 197972010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19798
19799 Not command (!) support to GRUB script.
19800
19801 * tests/grub_script_not.in: New test.
19802 * Makefile.util.def: Rules for new test.
19803
19804 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19805 ! command as a special case.
19806 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19807
b61d05ed 198082010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19809
058e30ac 19810 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19811 grub_free.
b61d05ed 19812
4d69c786 198132010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19814
19815 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19816
aa3119c4 198172010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19818
19819 * docs/grub.texi (Shell-like scripting): Documentation for break,
19820 continue, shift and return commands.
19821
db0f7e3d
VS
198222010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 Rename CD-ROM to cd on BIOS.
19825
19826 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19827 "cd".
19828 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19829
88b87c93
VS
198302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19831
19832 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19833 * util/grub-probe.c (main): Likewise.
19834 * util/i386/pc/grub-setup.c (main): Likewise.
19835 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19836 Reported and debugged by: alexxy
19837
294f324d
VS
198382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19839
19840 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19841 diagnostic info.
19842
d7ee3441
JS
198432010-09-05 Jo Shields <directhex@apebox.org>
19844
19845 * util/grub.d/30_os-prober.in: Add missing classes.
19846
d7e06c1f
VS
198472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 * docs/grub.texi (Theme file format): Document new position format.
19850
fc157e53
VS
198512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19854 a table. Use @code instead of @verbatim.
19855
506e9a1c
CB
198562010-09-05 Colin D Bennett <colin@gibibit.com>
19857
19858 Gfxmenu documentation.
19859
19860 * docs/grub.texi (Theme file format): New chapter.
19861
f0aff67c
SJ
198622010-09-05 Szymon Janc <szymon@janc.net.pl>
19863
19864 * grub-core/Makefile.core.def (xzio): New module.
19865 * grub-core/io/xzio.c: New file.
19866 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19867 * grub-core/lib/xzembed/xz_config.h: Likewise.
19868 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19869 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19870 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19871 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19872 * grub-core/lib/xzembed/xz_private.h: Likewise.
19873 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19874 * include/grub/file.h (grub_file_filter_id): New compression filter
19875 GRUB_FILE_FILTER_XZIO.
19876
82a85062
VS
198772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19880 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19881 size.
19882
3579415d
VS
198832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19886 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19887
5124ae6d
VS
198882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 Uncompressed checksum support.
19891
19892 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19893 (check_list): New parameter uncompress.
19894 (grub_cmd_hashsum): Handle --uncompress.
19895
9aadb3d1
VS
198962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 Reintroduce testload.
19899
19900 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19901 from here ...
19902 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19903 (GRUB_MOD_INIT): New function.
19904 (GRUB_MOD_FINI): Likewise.
19905 * grub-core/Makefile.core.def (testload): New module.
19906
a17792c3
SJ
199072010-09-05 Szymon Janc <szymon@janc.net.pl>
19908
19909 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19910 (uint8_t): New type.
19911 (uint16_t): Likewise.
19912 (uint32_t): Likewise.
19913 (uint64_t): Likewise.
19914
b81e40a3
SJ
199152010-09-05 Szymon Janc <szymon@janc.net.pl>
19916
19917 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19918
fc2ef117
VS
199192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19920
19921 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19922 Made static.
19923 (grub_gzfile_open): Removed. All users updated.
19924 (GRUB_MOD_INIT): New function.
19925 (GRUB_MOD_FINI): Likewise.
19926 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19927 (grub_file_filters_enabled): Likewise.
19928 (grub_file_open): Handle filters.
19929 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19930 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19931 * include/grub/file.h (grub_file_filter_id_t): New type.
19932 (grub_file_filter_t): Likewise.
19933 (grub_file_filters_all): New extern variable.
19934 (grub_file_filters_enabled): Likewise.
19935 (grub_file_filter_register): New inline function.
19936 (grub_file_filter_unregister): Likewise.
19937 (grub_file_filter_disable): Likewise.
19938 (grub_file_filter_disable_compression): Likewise.
19939 * include/grub/gzio.h: Removed.
19940
35ee15e0
BC
199412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19942
19943 Filename expansion support for wildcards in GRUB script.
19944
19945 * tests/grub_script_expansion.in: New test.
19946 * Makefile.util.def: Rule for new test.
19947
19948 * grub-core/commands/wildcard.c: New file, implements filename
19949 expansion support for GRUB script.
19950 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19951 * grub-core/script/argv.c: Cosmetic changes.
19952 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19953 Refactored to perform wildcard expansion on arguments.
19954 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19955 struct.
19956
19957 * tests/util/grub-shell.in: Fix quoting for read input.
19958
5f0c4aca
BC
199592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19960
19961 Support for updating environment variables with matched substrings
19962 of regexp.
19963
19964 * tests/grub_cmd_regexp.in: New test.
19965 * Makefile.util.def: Rule for new test.
19966
19967 * grub-core/commands/regexp.c: New option -s to update environment
19968 variables with regexp matches.
19969
3759a35f
SJ
199702010-09-04 Szymon Janc <szymon@janc.net.pl>
19971
19972 * include/grub/file.h (grub_file): New member not_easly_seekable.
19973 (grub_file_seekable): New inline function.
19974 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19975 easily seekable.
19976 (grub_gzio_open): Set not_easly_seekable.
19977 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19978 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19979
ed8c6dec
BC
199802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19981
19982 Support for options to appear multiple times on cmdline.
19983
19984 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19985 * grub-core/commands/extcmd.c: Support for repeatable option.
19986 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19987 repeatable option support.
19988
19989 Refactor menuentry into a regular command.
19990
19991 * grub-core/commands/menuentry.c: New file, menuentry command
19992 implementation.
19993 * grub-core/Makefile.core.def: Rule update for normal.mod.
19994 * grub-core/normal/main.c: Moved menuentry creation to
19995 grub-core/commands/menuentry.c.
19996 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19997 (grub_menu_execute_entry_real): Removed.
19998 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19999 function.
20000 (grub_script_execute_menuentry): Removed.
20001 * grub-core/script/parser.y (menuentry): Removed.
20002 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20003 * grub-core/script/yylex.l (menuentry): Removed.
20004 * include/grub/menu.h (grub_menu_init): New prototype.
20005 (grub_menu_fini): New prototype.
20006 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20007 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20008 (grub_script_execute_sourcecode): New prototype.
20009
dacd0cf0
BC
200102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20011
20012 "return" command for GRUB script functions.
20013
20014 * tests/grub_script_return.in: New test.
20015 * Makefile.util.def: Rules for new test.
20016
20017 * grub-core/script/execute.c (grub_script_return): New function.
20018 * grub-core/script/main.c: Register/unregister return commaond.
20019 * include/grub/script_sh.h (grub_script_return): New prototype.
20020
52e72f9d
BC
200212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20022
20023 "setparams" command to update positional parameters.
20024
20025 * tests/grub_script_setparams.in: New test.
20026 * Makefile.util.def: Rules for new test.
20027
20028 * grub-core/script/argv.c (grub_script_argv_make): New function.
20029 * grub-core/script/execute.c (replace_scope): New function.
20030 (grub_script_setparams): New function.
20031 * grub-core/script/lexer.c: Remove unused variables.
20032 * grub-core/script/main.c: Register/unregister setparams command.
20033 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20034 (grub_script_setparams): New prototype.
20035
25b60c91
BC
200362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20037
20038 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20039 grub_free order.
20040
37e7bf68
BC
200412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20042
20043 Support for passing block of commands as an argument to extcmds.
20044
20045 * Makefile.util.def: Rules for new test.
20046 * tests/grub_script_blockarg.in: New test.
20047 * grub-core/tests/test_blockarg.c: New file, block argument
20048 command used in the test.
20049
20050 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20051 (grub_register_extcmd_prio): New function prototype.
20052 (grub_extcmd_dispatcher): New function prototype.
20053 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20054 type.
20055 * include/grub/script_sh.h (struct grub_script): New members
20056 `children', `next_siblings' and `refcnt' for block arguments and
20057 reference counting.
20058 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20059 (grub_script_arg): New member `script' for block argument.
20060 (grub_script_argv): New member `script' for block argument.
20061 (grub_parser_param): New member `scripts' for block argument.
20062 (grub_script_mem_free): New extern function prototype.
20063 (grub_script_ref): New function prototype.
20064 (grub_script_unref): New function prototype.
20065
20066 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20067 extcmd form to support block arguments.
20068 * grub-core/script/argv.c: Block arguments support.
20069 * grub-core/script/execute.c: Likewise.
20070 * grub-core/script/lexer.c: Likewise.
20071 * grub-core/script/main.c: Likewise.
20072 * grub-core/script/script.c: Likewise.
20073 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20074 non-terminals.
20075
20076 * grub-core/commands/acpi.c: Update extcmd implementations with
20077 grub_extcmd_context_t.
20078 * grub-core/commands/cat.c: Likewise.
20079 * grub-core/commands/echo.c: Likewise.
20080 * grub-core/commands/extcmd.c: Likewise.
20081 * grub-core/commands/hashsum.c: Likewise.
20082 * grub-core/commands/hdparm.c: Likewise.
20083 * grub-core/commands/help.c: Likewise.
20084 * grub-core/commands/hexdump.c: Likewise.
20085 * grub-core/commands/i386/cpuid.c: Likewise.
20086 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20087 * grub-core/commands/i386/pc/halt.c: Likewise.
20088 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20089 * grub-core/commands/iorw.c: Likewise.
20090 * grub-core/commands/keystatus.c: Likewise.
20091 * grub-core/commands/loadenv.c: Likewise.
20092 * grub-core/commands/ls.c: Likewise.
20093 * grub-core/commands/lspci.c: Likewise.
20094 * grub-core/commands/memrw.c: Likewise.
20095 * grub-core/commands/probe.c: Likewise.
20096 * grub-core/commands/search_wrap.c: Likewise.
20097 * grub-core/commands/setpci.c: Likewise.
20098 * grub-core/commands/sleep.c: Likewise.
20099 * grub-core/disk/loopback.c: Likewise.
20100 * grub-core/hello/hello.c: Likewise.
20101 * grub-core/loader/i386/bsd.c: Likewise.
20102 * grub-core/loader/xnu.c: Likewise.
20103 * grub-core/term/gfxterm.c: Likewise.
20104 * grub-core/term/serial.c: Likewise.
20105 * grub-core/tests/lib/functional_test.c: Likewise.
20106
888d1500
BC
201072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20108
20109 Multi-line quoted strings support.
20110
20111 * grub-core/script/lexer.c (append_newline): Removed.
20112 (grub_script_lexer_yywrap): Refactored.
20113 (grub_script_lexer_init): Refactored.
20114 * grub-core/script/yylex.l (yywrap): New function.
20115 (grub_lexer_resplit): New function.
20116 (grub_lexer_unput): New function.
20117 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20118 and resplit.
20119 * tests/grub_script_echo1.in: Added few more testcases.
20120
dda060dd
VS
201212010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * grub-core/kern/misc.c: Don't add abort alias in utils.
20124 Reported by: echoline.
20125
6556eba9
BC
201262010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20127
20128 Add missing files into "make dist" tarball for other platforms.
20129
20130 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20131 * conf/Makefile.common (dist_noinst_DATA): New variable.
20132 * conf/Makefile.extra-dist: Added missing make dist files.
20133 * grub-core/Makefile.core.def: Likewise.
20134
c8e7bf5f
VS
201352010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 Compress grub_prefix.
20138
20139 * grub-core/boot/i386/pc/lnxboot.S: Use
20140 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20141 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20142 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20143 GRUB_MACHINE_PREFIX_END. All users updated.
20144 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20145 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20146 + 0x40.
20147 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20148 * util/grub-mkimage.c (image_target_desc): Change data_end to
20149 prefix_end. All users updated.
20150
a7c00cdb
VS
201512010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20152
20153 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20154 value.
20155 (grub_openbsd_boot): Likewise.
20156 (grub_netbsd_boot): Likewise.
20157 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20158 (grub_xnu_boot): Likewise.
20159
9f915872
VS
201602010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * configure.ac: Clean LIBS variable after tests.
20163
efa1bee7
CW
201642010-09-02 Colin Watson <cjwatson@ubuntu.com>
20165
20166 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20167
61d720e5
VS
201682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20171 echo if libdevmapper will be used.
20172
ef8e0ec8
IT
201732010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20174
20175 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20176 constant for the same file.
20177
03e261d8
VS
201782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20181
c2a4eba6
CW
201822010-09-02 Colin Watson <cjwatson@ubuntu.com>
20183
20184 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20185 grub-core/*.pp.
20186
9056cbf3
CW
201872010-09-02 Colin Watson <cjwatson@ubuntu.com>
20188
20189 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20190 required by the boot protocol.
20191
20192 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20193 ebp and edi members.
20194 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20195 state.ebp and state.edi.
20196 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20197 %ebp and %edi according to grub_relocator32_ebp and
20198 grub_relocator32_edi respectively.
20199 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20200 and state.edi.
20201
529cc99a
VS
202022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20203
20204 Add i386-pc-pxe image target.
20205
20206 * util/grub-mkimage.c (image_target_desc): New enum value
20207 IMAGE_I386_PC_PXE.
20208 (image_targets): New target i386-pc-pxe.
20209 (generate_image): Handle i386-pc-pxe image.
20210
9a093920
VS
202112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20212
20213 Fix grub_pxe_scan.
20214
20215 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20216 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20217 All users updated.
20218 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20219 (grub_pxe_pxenv): Correct type.
20220
f9cefc4e
CW
202212010-09-01 Colin Watson <cjwatson@ubuntu.com>
20222
20223 * NEWS: Document most of the important changes since 1.98.
20224
4066f57f
CW
202252010-09-01 Colin Watson <cjwatson@ubuntu.com>
20226
20227 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20228 generated manual page) a little.
20229
da2891f9
CW
202302010-09-01 Colin Watson <cjwatson@ubuntu.com>
20231
20232 * docs/grub.texi: Add myself as an author.
20233
ad717fae
VS
202342010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * Makefile.util.def (libgrub.a): Add missing sunpc.
20237 Reported by: Seth Goldberg.
20238
eefe8abd
VS
202392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 Interrupt wrapping and code simplifications.
20242
9494ef9a
VS
20243 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20244 x86_noieee1275 which are functionaly equivalent in this case.
20245 (grub-install): Make source on each platform explicit. Enable on
20246 all noemu.
20247 * gentpl.py (x86_efi_pc): Removed group.
20248 (x86_noefi): Likewise.
20249 (i386_noefi): Likewise.
20250 (x86_noieee1275): Likewise.
20251 (i386_noieee1275): Likewise.
20252 (i386_noefi_noieee1275): Likewise.
20253 (i386_pc_qemu_coreboot): Likewise.
20254 (i386_coreboot_multiboot): Likewise.
20255 (i386_pc_coreboot_multiboot_qemu): Likewise.
20256 (x86_noefi_mips): Likewise.
20257 (noieee1275): Likewise.
20258 (ieee1275_mips): Likewise.
20259 (noemu_noieee1275): Likewise.
20260 (cmos): New group.
20261 (usb): Likewise.
20262 (videoinkernel): Likewise.
20263 (videomodules): Likewise.
eefe8abd 20264 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20265 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20266 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20267 include/grub/loader.h, include/grub/msdos_partition.h,
20268 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20269 include/grub/machine/console.h, include/grub/machine/vga.h,
20270 include/grub/machine/vbe.h, include/grub/machine/init.h,
20271 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20272 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20273 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20274 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20275 * grub-core/Makefile.core.def (kernel): Explicit the source for
20276 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20277 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20278 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20279 Use videoinkernel tag.
20280 (usb): Enable on all usb.
20281 (usbserial_common): Likewise.
20282 (usbserial_pl2303): Likewise.
20283 (usbserial_ftdi): Likewise.
20284 (uhci): Enable on all x86.
20285 (ohci): Enable on all pci.
20286 (cmostest): Enable on all CMOS.
20287 (acpi): Include commands/acpi.c on all platforms.
20288 (halt): Add relevant lib/*/halt.c.
20289 (hdparm): Enable on all pci.
20290 (lspci): Likewise.
20291 (usbtest): Enable on all usb.
20292 (ata): Enable on all pci.
20293 (ata_pthru): Likewise.
20294 (usbms): Enable on all usb.
20295 (usb_keyboard): Likewise.
20296 (font): Use tag videomodules.
20297 (bufio): Likewise.
20298 (datetime): Use tag cmos. Enable on all noemu.
20299 (mmap): Use tags common and x86.
20300 (gfxterm): Use tag videomodules.
20301 (bitmap): Likewise.
20302 (bitmap_scale): Likewise.
20303 (video_fb): Likewise.
20304 (video): Likewise.
20305 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20306 adjust padding accordingly. All users updated.
20307 (grub_ohci_transaction): Fix bad format specification.
20308 (GRUB_MOD_INIT): Add asserts for struct size.
20309 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20310 (grub_alloc_td): Likewise.
20311 (grub_free_queue): Likewise.
20312 (grub_uhci_transfer): Likewise.
20313 (grub_uhci_transaction): Fix bad format specification.
20314 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20315 (grub_usb_bulk_readwrite): Likewise.
20316 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20317 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20318 Made static.
20319 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20320 Made static.
20321 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20322 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20323 Transformed into C.
20324 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20325 Moved from here ...
20326 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20327 ... here. Transformed into C. Made static.
20328 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20329 Moved from here ...
20330 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20331 ... here. Transformed into C. Made static.
20332 * grub-core/kern/i386/pc/startup.S
20333 (grub_biosdisk_check_int13_extensions): Moved from here ...
20334 * grub-core/disk/i386/pc/biosdisk.c
20335 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20336 Made static.
20337 * grub-core/kern/i386/pc/startup.S
20338 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20339 * grub-core/disk/i386/pc/biosdisk.c
20340 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20341 Transformed into C. Made static.
20342 * grub-core/kern/i386/pc/startup.S
20343 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20344 * grub-core/disk/i386/pc/biosdisk.c
20345 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20346 Transformed into C. Made static.
20347 * grub-core/kern/i386/pc/startup.S
20348 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20349 * grub-core/disk/i386/pc/biosdisk.c
20350 (grub_biosdisk_get_diskinfo_standard): ... here.
20351 Transformed into C. Made static.
20352 * grub-core/kern/i386/pc/startup.S
20353 (grub_biosdisk_get_num_floppies): Moved from here ...
20354 * grub-core/disk/i386/pc/biosdisk.c
20355 (grub_biosdisk_get_num_floppies): ... here.
20356 Transformed into C. Made static.
20357 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20358 New function.
20359 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20360 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20361 Transformed into C. Made static.
20362 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20363 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20364 Transformed into C. Made static.
20365 * grub-core/kern/i386/ieee1275/init.c: Removed.
20366 * grub-core/kern/i386/misc.S: Likewise.
20367 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20368 Splitted from here ...
20369 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20370 Transformed into C. Made static. All users updated.
20371 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20372 Transformed into C. Made static. All users updated.
20373 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20374 Moved from here...
20375 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20376 Transformed into C. Made static. All users updated.
20377 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20378 Moved from here...
20379 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20380 Transformed into C. Made static. All users updated.
20381 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20382 Removed (replaced by C version).
20383 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20384 Moved from here...
20385 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20386 Transformed into C. Made static.
20387 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20388 Moved from here...
20389 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20390 ... here. Transformed into C.
20391 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20392 Moved from here...
20393 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20394 ... here. Transformed into C.
20395 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20396 Moved from here...
20397 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20398 ... here. Transformed into C. Made static.
20399 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20400 Moved from here...
20401 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20402 ... here. Transformed into C.
21ed554b
VS
20403 * grub-core/kern/i386/pc/startup.S
20404 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20405 * grub-core/video/i386/pc/vbe.c
20406 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20407 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20408 Moved from here...
20409 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20410 ... here. Transformed into C.
20411 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20412 Moved from here...
20413 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20414 ... here. Transformed into C.
20415 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20416 Moved from here...
20417 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20418 ... here. Transformed into C.
20419 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20420 Moved from here...
20421 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20422 ... here. Transformed into C.
20423 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20424 Moved from here...
20425 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20426 ... here. Transformed into C. Made static.
20427 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20428 Moved from here...
20429 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20430 ... here. Transformed into C. Made static.
20431 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20432 Moved from here...
20433 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20434 ... here. Transformed into C. Made static.
20435 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20436 pxe_rm_entry as third argument.
20437 (grub_bios_interrupt): New function.
20438 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20439 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20440 of calling grub_stop.
20441 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20442 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20443 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20444 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20445 * grub-core/lib/i386/halt.c: Moved from here ...
20446 * grub-core/lib/i386/halt.c: ... here.
20447 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20448 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20449 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20450 grub_stop_floppy.
20451 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20452 * include/grub/i386/coreboot/init.h: Removed.
20453 * include/grub/i386/multiboot/init.h: Likewise.
20454 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20455 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20456 * include/grub/i386/pc/int.h: New file.
20457 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20458 (grub_pxe_scan): Removed.
20459 (grub_pxe_call): Update prototype.
20460 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20461 prototypes.
20462 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20463 * include/grub/i386/qemu/init.h: Removed.
20464 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20465 noreturn.
20466 (grub_halt): Likewise.
20467 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20468 (grub_reboot): Likewise.
20469 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20470 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20471 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20472
215dd471
RM
204732010-08-30 Robert Millan <rmh@gnu.org>
20474
20475 * NEWS: Document addition of ZFS support in `grub-install' and
20476 `grub-mkconfig'.
20477
ebd65b82
BC
204782010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20479
20480 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20481 dprintf output.
20482
11721d19
VS
204832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 Remove leftover embedding of font objects.
20486
20487 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20488 * util/grub-install.in (font): Removed.
20489 * util/grub-mkimage.c (generate_image): Remove font support. All users
20490 updated.
20491
37837d4e
VS
204922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20493
20494 Remove leftover embedding of font objects.
20495
20496 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20497 * util/grub-install.in (font): Removed.
20498 * util/grub-mkimage.c (generate_image): Remove font support. All users
20499 updated.
20500
b4c1aae0
VS
205012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20504 Reported by: Ian Turner
b4c1aae0 20505
8920a08d
VS
205062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20509 timeout to avoid indefinite boot stalling.
20510
f21db033
VS
205112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20512
20513 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20514 (grub_env_write_color_highlight): Likewise.
20515
9a9de209
VS
205162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20517
20518 * grub-core/normal/term.c (print_more): Return to normal and not
20519 to standard state after printing "---MORE---".
20520
3dca01d7
VS
205212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20522
20523 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20524 Mask out the bit 0x80 since it has other meaning that specifiing color.
20525
0b986c40
VS
205262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 New relocator. Allows for more kernel support and more straightforward
20529 loader writing.
20530
20531 * Makefile.am (BOOTTARGET): New variable.
20532 (QEMU32): Likewise.
20533 (linux.init.x86_64): New target.
20534 (linux.init.i386): Likewise.
20535 (multiboot.elf): Likewise.
20536 (kfreebsd.elf): Likewise.
20537 (kfreebsd.aout): Likewise.
20538 (pc-chainloader.elf): Likewise.
20539 (pc-chainloader.bin): Likewise.
20540 (ntldr.elf): Likewise.
20541 (ntldr.bin): Likewise.
20542 (multiboot2.elf): Likewise.
20543 (kfreebsd.init.x86_64): Likewise.
20544 (kfreebsd.init.i386): Likewise.
20545 (knetbsd.init.i386): Likewise.
20546 (kopenbsd.init.i386): Likewise.
20547 (knetbsd.init.x86_64): Likewise.
20548 (kopenbsd.init.x86_64): Likewise.
20549 (linux-initramfs.i386): Likewise.
20550 (linux-initramfs.x86_64): Likewise.
20551 (kfreebsd-mfsroot.i386.img): Likewise.
20552 (knetbsd.image.i386): Likewise.
20553 (kopenbsd.image.i386): Likewise.
20554 (kopenbsd.image.x86_64): Likewise.
20555 (knetbsd.miniroot-image.i386.img): Likewise.
20556 (kfreebsd-mfsroot.x86_64.img): Likewise.
20557 (knetbsd.image.x86_64): Likewise.
20558 (knetbsd.miniroot-image.x86_64.img): Likewise.
20559 (kfreebsd-mfsroot.i386.gz): Likewise.
20560 (bootcheck-kfreebsd-i386): Likewise.
20561 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20562 (bootcheck-kfreebsd-x86_64): Likewise.
20563 (knetbsd.miniroot-image.i386.gz): Likewise.
20564 (bootcheck-knetbsd-i386): Likewise.
20565 (bootcheck-kopenbsd-i386): Likewise.
20566 (bootcheck-kopenbsd-x86_64): Likewise.
20567 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20568 (bootcheck-knetbsd-x86_64): Likewise.
20569 (bootcheck-linux-i386): Likewise.
20570 (bootcheck-linux-x86_64): Likewise.
20571 (bootcheck-linux16-i386): Likewise.
20572 (bootcheck-linux16-x86_64): Likewise.
20573 (bootcheck-multiboot): Likewise.
20574 (bootcheck-multiboot2): Likewise.
20575 (bootcheck-kfreebsd-aout): Likewise.
20576 (bootcheck-pc-chainloader): Likewise.
20577 (bootcheck-ntldr): Likewise.
20578 (CLEANFILES): Add new targets.
20579 (BOOTCHECKS): New variable.
20580 (.PHONY): Add bootchecks.
20581 (SUCCESSFUL_BOOT_STRING): New variable.
20582 (BOOTCHECK_TIMEOUT): Likewise.
20583 (bootcheck): New target
20584 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20585 * configure.ac: Correct efiemu excuse.
20586 * docs/grub.texi (Supported kernels): New chapter.
20587 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20588 include/grub/mm_private.h. Simplify inclusion of
20589 include/grub/boot.h, include/grub/loader.h
20590 and include/grub/msdos_partition.h
20591 (KERNEL_HEADER_FILES) [i386_coreboot]:
20592 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20593 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20594 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20595 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20596 include/grub/machine/loader.h.
20597 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20598 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20599 extra_dist.
20600 (pci.mod): Enable on i386-multiboot.
20601 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20602 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20603 i386-qemu.
20604 (relocator.mod): Rewritten.
20605 (aout.mod): Enable on all x86.
20606 (bsd.mod): Likewise.
20607 (ntldr.mod): New module.
20608 (linux.mod): Use loader/i386/linux.c on all x86.
20609 (xnu.mod): Enable on all x86.
20610 (vga_text.mod): disable on EFI and QEMU.
20611 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20612 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20613 * grub-core/efiemu/loadcore.c: Likewise.
20614 * grub-core/efiemu/main.c: Likewise.
20615 (grub_efiemu_exit_boot_services): Removed.
20616 (grub_efiemu_finish_boot_services): Likewise.
20617 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20618 function.
20619 * grub-core/efiemu/i386/nocfgtables.c: New file.
20620 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20621 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20622 (grub_efi_finish_boot_services): Moved from here ...
20623 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20624 Fille finish memory map and related data.
20625 (finish_mmap_buf): New variable.
20626 (grub_efi_uintn_t finish_mmap_size): Likewise.
20627 (grub_efi_uintn_t finish_key): Likewise.
20628 (grub_efi_uintn_t finish_desc_size): Likewise.
20629 (grub_efi_uint32_t finish_desc_version): Likewise.
20630 (grub_efi_is_finished): Likewise.
20631 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20632 finished.
20633 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20634 (grub_elf64_phdr_iterate): Likewise.
20635 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20636 (grub_os_area_size): Likewise.
20637 (grub_machine_init): Don't reserve os area.
20638 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20639 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20640 * grub-core/kern/i386/loader.S: Removed.
20641 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20642 (grub_os_area_size): Likewise.
20643 (grub_machine_init): Don't reserve os area.
20644 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20645 Don't call grub_dl_unload_all.
20646 Don't include loader.S.
20647 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20648 Declare the memory after _end as available.
20649 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20650 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20651 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20652 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20653 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20654 * include/grub/mm_private.h (grub_mm_header): ... here.
20655 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20656 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20657 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20658 (grub_mm_region): ..here. Removed addr. Added pre_size.
20659 All users updated.
20660 * grub-core/kern/mm.c (base): Renamed to ...
20661 (grub_mm_base): ... this. Made global.
20662 (grub_real_malloc): Alloc from end of region.
20663 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20664 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20665 * grub-core/kern/powerpc/cache_flush.S: ... here.
20666 * grub-core/lib/efi/relocator.c: New file.
20667 * grub-core/lib/i386/relocator.c: Rewritten.
20668 * grub-core/lib/i386/relocator16.S: New file.
20669 * grub-core/lib/i386/relocator32.S: Likewise.
20670 * grub-core/lib/i386/relocator64.S: Likewise.
20671 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20672 * grub-core/lib/i386/relocator_common.S: New file.
20673 * grub-core/lib/ieee1275/relocator.c: Likewise.
20674 * grub-core/lib/mips/relocator.c: Rewritten.
20675 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20676 stylistic adjustments.
20677 * grub-core/lib/powerpc/relocator.c: New file.
20678 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20679 * grub-core/lib/relocator.c: Rewritten.
20680 * grub-core/lib/x86_64/relocator_asm.S: New file.
20681 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20682 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20683 (bsd_tag): New struct.
20684 (tags): New variable.
20685 (tags_last): Likewise.
20686 (netbsd_module): New struct.
20687 (netbsd_mods): New variable.
20688 (netbsd_mods_last): Likewise.
20689 (openbsd_opts): New parameter "serial".
20690 (OPENBSD_SERIAL_ARG): New definition.
20691 (netbsd_opts): New parameter "serial".
20692 (NETBSD_SERIAL_ARG): New definition.
20693 (grub_freebsd_add_meta): Reorganised into ...
20694 (grub_bsd_add_meta): ...this. All users updated.
20695 (grub_freebsd_add_mmap): Reorganised into ...
20696 (generate_e820_mmap): ...this...
20697 (grub_bsd_add_mmap): ...and this. All users updated.
20698 (grub_freebsd_list_modules): Use tags.
20699 (grub_netbsd_add_meta_module): New function.
20700 (grub_netbsd_list_modules): Likewise.
20701 (grub_freebsd_boot): Use relocator and finish EFI.
20702 (grub_openbsd_boot): Likewise.
20703 (grub_netbsd_setup_video): New function.
20704 (grub_netbsd_add_modules): Likewise.
20705 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20706 and finish EFI.
20707 (grub_bsd_unload): Unload tags.
20708 (grub_bsd_load_aout): Use relocator.
20709 (grub_bsd_elf32_size_hook): New function.
20710 (grub_bsd_elf32_hook): Use relocator.
20711 (grub_bsd_elf64_size_hook): New function.
20712 (grub_bsd_elf64_hook): Use relocator.
20713 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20714 (grub_bsd_load): Zero-out openbsd_ramdisk.
20715 (grub_bsd_load): Use relocator.
20716 (grub_cmd_openbsd): Support serial.
20717 (grub_cmd_netbsd): Support modules.
20718 (grub_cmd_freebsd_module): Use relocator.
20719 (grub_netbsd_module_load): New function.
20720 (grub_cmd_netbsd_module): Likewise.
20721 (grub_cmd_openbsd_ramdisk): Likewise.
20722 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20723 kopenbsd_ramdisk.
20724 (GRUB_MOD_FINI): Unregister new commands.
20725 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20726 (grub_freebsd_load_elfmodule_obj): Use relocator.
20727 (grub_freebsd_load_elfmodule): Likewise.
20728 (grub_freebsd_load_elf_meta): Likewise.
20729 (grub_netbsd_load_elf_meta): New function.
20730 (grub_openbsd_find_ramdisk): Likewise.
20731 * grub-core/loader/i386/bsd_helper.S: Removed.
20732 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20733 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20734 * grub-core/loader/i386/efi/linux.c: Likewise.
20735 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20736 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20737 (DEFAULT_VIDEO_MODE): Likewise.
20738 (real_mode_target): New variable.
20739 (prot_mode_target): Likewise.
20740 (initrd_mem_target): Likewise.
20741 (relocator): Likewise.
20742 (efi_mmap_buf): Likewise.
20743 (efi_mmap_size): Likewise.
20744 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20745 (free_pages): Use relocator.
20746 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20747 (grub_linux_setup_video): Return error.
20748 (grub_linux_trampoline_start): Removed.
20749 (grub_linux_trampoline_end): Likewise.
20750 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20751 andd video parameters depending on firmware.
20752 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20753 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20754 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20755 (grub_cmd_initrd): Use relocator.
20756 * grub-core/loader/i386/linux_trampoline.S: Removed.
20757 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20758 (elf_sec_entsize): Likewise.
20759 (elf_sec_shstrndx): Likewise.
20760 (elf_sections): Likewise.
20761 (grub_multiboot_load): Use relocator.
20762 (grub_multiboot_get_mbi_size): Account for sections.
20763 (grub_multiboot_make_mbi): Use relocator and support sections.
20764 (grub_multiboot_add_elfsyms): New function.
20765 (grub_multiboot_free_mbi): Free sections.
20766 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20767 (grub_linux_real_target): Likewise.
20768 (grub_linux_real_chunk): Likewise.
20769 (grub_linux16_prot_size): Likewise.
20770 (grub_linux16_boot): Use relocator.
20771 (grub_linux_unload): Unload relocator.
20772 (grub_cmd_linux): Use relocator.
20773 (grub_cmd_initrd): Likewise.
20774 * grub-core/loader/i386/pc/ntldr.c: New file.
20775 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20776 Don't try to guess CPU frequency.
20777 (grub_xnu_set_video): Stretch bitmap.
20778 (grub_xnu_boot): Use relocator.
20779 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20780 (grub_linux_unload): Free relocator.
20781 (grub_linux_load32): Use relocator.
20782 (grub_linux_load64): Likewise.
20783 (grub_cmd_initrd): Likewise.
20784 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20785 (grub_multiboot_unload): Unload relocator.
20786 (grub_cmd_multiboot): Use relocator.
20787 (grub_cmd_module): Likewise.
20788 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20789 Use relocator and support sections.
20790 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20791 (elf_sec_entsize): Likewise.
20792 (elf_sec_shstrndx): Likewise.
20793 (elf_sections): Likewise.
20794 (grub_multiboot_load): Use relocator.
20795 (grub_multiboot_get_mbi_size): Account for sections.
20796 (grub_multiboot_make_mbi): Use relocator and support sections.
20797 (grub_multiboot_add_elfsyms): New function.
20798 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20799 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20800 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20801 Prototype changed. All users updated.
20802 (grub_xnu_align_heap): Simplified.
20803 (grub_xnu_writetree_toheap): Likewise.
20804 (grub_xnu_unload): Unload relocator.
20805 (grub_cmd_xnu_kernel): Use relocator.
20806 (grub_cmd_xnu_kernel64): Likewise.
20807 (grub_xnu_register_memory): Simplified.
20808 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20809 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20810 EFI is finished.
20811 (grub_console_checkkey): Likewise.
20812 (grub_console_getkey): Likewise.
20813 (grub_console_getwh): Likewise.
20814 (grub_console_getxy): Likewise.
20815 (grub_console_gotoxy): Likewise.
20816 (grub_console_cls): Likewise.
20817 (grub_console_setcolorstate): Likewise.
20818 (grub_console_setcursor): Likewise.
20819 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20820 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20821 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20822 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20823 * grub-core/tests/boot/kernel-8086.S: Likewise.
20824 * grub-core/tests/boot/kernel-i386.S: Likewise.
20825 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20826 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20827 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20828 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20829 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20830 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20831 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20832 * grub-core/tests/boot/linux.cfg: Likewise.
20833 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20834 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20835 * grub-core/tests/boot/linux16.cfg: Likewise.
20836 * grub-core/tests/boot/multiboot.cfg: Likewise.
20837 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20838 * grub-core/tests/boot/ntldr.cfg: Likewise.
20839 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20840 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20841 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20842 New definition.
20843 * include/grub/dl.h (grub_dl_unload_all): Removed.
20844 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20845 (grub_efi_finish_boot_services): Change prototype.
20846 (grub_efi_is_finished): New variable.
20847 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20848 Changed prototype.
20849 (grub_efiemu_finish_boot_services): Removed.
20850 (grub_machine_efiemu_init_tables): New prototype.
20851 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20852 (grub_elf64_phdr_iterate): Likewise.
20853 * include/grub/i386/bsd.h: Include relocator.h.
20854 (freebsd_tag_header): New struct.
20855 (grub_openbsd_bios_mmap): Removed.
20856 (grub_unix_real_boot): Removed.
20857 (grub_freebsd_load_elfmodule32): Changed prototype.
20858 (grub_freebsd_load_elfmodule_obj64): Likewise.
20859 (grub_freebsd_load_elf_meta32): Likewise.
20860 (grub_freebsd_load_elf_meta64): Likewise.
20861 (grub_freebsd_add_meta): Removed.
20862 (grub_netbsd_load_elf_meta32): New prototype.
20863 (grub_netbsd_load_elf_meta64): Likewise.
20864 (grub_bsd_add_meta): Likewise.
20865 (grub_openbsd_ramdisk_descriptor): New struct.
20866 (grub_openbsd_find_ramdisk32): New prototype.
20867 (grub_openbsd_find_ramdisk64): Likewise.
20868 * include/grub/i386/coreboot/loader.h: Removed.
20869 * include/grub/i386/efi/loader.h: Likewise.
20870 * include/grub/i386/ieee1275/loader.h: Likewise.
20871 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20872 to grub_uint32_t.
20873 * include/grub/i386/loader.h: Removed.
20874 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20875 value.
20876 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20877 (grub_phys_addr_t): New type.
20878 (grub_vtop): New inline function.
20879 (grub_map_memory): Likewise.
20880 (grub_unmap_memory): Likewise.
20881 * include/grub/i386/multiboot/loader.h: Removed.
20882 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20883 (NETBSD_BTINFO_CONSOLE): New definition.
20884 (NETBSD_BTINFO_SYMTAB): Likewise.
20885 (NETBSD_BTINFO_MODULES): Likewise.
20886 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20887 (grub_netbsd_bootinfo): New struct.
20888 (grub_netbsd_btinfo_common): Use explicit bitsize.
20889 (grub_netbsd_btinfo_mmap_entry): Removed.
20890 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20891 (grub_netbsd_btinfo_bootdisk): New struct.
20892 (grub_netbsd_btinfo_symtab): Likewise.
20893 (grub_netbsd_btinfo_serial): Likewise.
20894 (grub_netbsd_btinfo_modules): Likewise.
20895 (grub_netbsd_btinfo_framebuf): Likewise.
20896 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20897 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20898 Likewise.
20899 (grub_openbsd_bootargs): Use explicit bitsize.
20900 (grub_openbsd_bootarg_console): New struct.
20901 (GRUB_OPENBSD_COM_MAJOR): New definition.
20902 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20903 * include/grub/i386/pc/efiemu.h: Removed.
20904 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20905 * include/grub/i386/qemu/loader.h: Removed.
20906 * include/grub/i386/relocator.h: Rewritten.
20907 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20908 * include/grub/mips/memory.h: New file.
20909 * include/grub/mips/multiboot.h: Rewritten.
20910 * include/grub/mips/relocator.h: Rewritten.
20911 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20912 (grub_vtop): New function.
20913 (grub_map_memory): Likewise.
20914 (grub_unmap_memory): Likewise.
20915 * include/grub/misc.h (ALIGN_DOWN): New definition.
20916 * include/grub/mm.h (grub_mm_check_real): New proto.
20917 (GRUB_MM_CHECK): New definition.
20918 * include/grub/mm_private.h: New file.
20919 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20920 (grub_multiboot_get_mbi_size): Removed.
20921 (grub_multiboot_make_mbi): Change prottype.
20922 (grub_multiboot_set_accepts_video): New proto.
20923 (grub_multiboot_add_elfsyms): Likewise.
20924 (grub_multiboot_payload_eip): New variable.
20925 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20926 New prototype.
20927 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20928 New definition.
20929 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20930 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20931 * include/grub/powerpc/ieee1275/loader.h: Removed.
20932 * include/grub/powerpc/memory.h: New file.
20933 * include/grub/powerpc/relocator.h: Likewise.
20934 * include/grub/relocator.h: Likewise.
20935 * include/grub/relocator_private.h: Likewise.
20936 * include/grub/sparc64/ieee1275/loader.h: Removed.
20937 * include/grub/x86_64/memory.h: New file.
20938 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20939 (grub_xnu_heap_malloc): Likewise.
20940 (grub_xnu_heap_real_start): Removed.
20941 (grub_xnu_heap_start): Likewise.
20942 (grub_xnu_relocator): New variable.
20943 (grub_xnu_heap_target_start): Likewise.
20944 * tests/util/grub-shell.in: Support non-pc.
20945 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20946
5303b85d
VS
209472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20950 on malloc error.
20951 (grub_bidi_logical_to_visual): Check that malloc succeded.
20952 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20953 puts.
20954 (grub_xputs_normal): Likewise.
20955
d768d159
VS
209562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20959 extra_dist.
20960
209612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20962
20963 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20964
5bf84df4
VS
209652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20966
20967 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20968
3626810e
VS
209692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20970
20971 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20972 dprintf.
20973
a7363f53
BC
209742010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20975
20976 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20977
902f75f6
VS
209782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20979
20980 * grub-core/normal/term.c (print_more): Fix a memory leak.
20981 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20982 (grub_xputs_normal): Likewise.
20983
3c707967
VS
209842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20985
20986 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20987 the begining of the string
20988
2053cc07
VS
209892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20990
20991 * grub-core/script/script.c (grub_script_parse): Free parsed on
20992 failure.
20993
46422ebf
VS
209942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20995
20996 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20997 on failure.
20998
9e0fa3f6
VS
209992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21000
21001 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21002 return.
21003
3393cf16
VS
210042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21007 (scroll_up): Fix a memory leak.
21008
b17540cb
VS
210092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21010
21011 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21012 errors.
21013
67140446
VS
210142010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 Handle USB pendrives exposed as floppies.
21017
21018 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21019 floppy.
21020 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21021 Check for partitions on all devices.
21022
e35e46fc
VS
210232010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21026 (readkey): Likewise.
21027
d24c6190
BC
210282010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21029
21030 Multiple variable names support to "export" command.
21031
21032 * normal/context.c (grub_cmd_export): "export" command supports
21033 multiple variable names.
21034
04ddcc6a
ST
210352010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21036
21037 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21038 --target=drive output to Mach device name.
21039
0c8b61d8
BC
210402010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21041
21042 New Automake based build system for GRUB.
21043
21044 * ABOUT-NLS: New file.
21045 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21046 in Makefile.util.def file.
21047 * Makefile.util.def: New file. Autogen build definitions file for
21048 GRUB host utils.
21049 * conf/Makefile.common: New file. Common variables for GRUB host
21050 utils and target modules.
21051 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21052 * docs/Makefile.am: New file. Automake file for docs.
21053 * gentpl.py: New file. Python script to generate Autogen
21054 template.
21055 * grub-core/Makefile.am: New file. GRUB target modules' rules
21056 that doesn't fit in Makefile.core.def file.
21057 * grub-core/Makefile.core.def: New file. Autogen build
21058 definitions file for GRUB target modules.
21059 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21060 specific setjmp.S file.
21061 * po/Makefile.am: New file.
21062
21063 * .bzrignore: New ignores.
21064 * INSTALL: New requirements, without Ruby.
21065 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21066 * autogen.sh: Updated to invoke autogen as necessary.
21067 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21068 and defines for Automake conditionals.
21069 * geninit.sh: Refactoring.
21070
21071 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21072 necessary.
21073 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21074 New prototype.
21075
21076 * include/grub/test.h: Fix functional test modules' naming.
21077 * grub-core/tests/example_functional_test.c: Fix test module name.
21078
21079 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21080 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21081 * util/grub-editenv.c: Likewise.
21082 * util/grub-fstest.c: Likewise.
21083 * util/grub-mkdevicemap.c: Likewise.
21084 * util/grub-mkfont.c: Likewise.
21085 * util/grub-mkimage.c: Likewise.
21086 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21087 * util/grub-probe.c: Likewise.
21088 * util/grub-script-check.c: Likewise.
21089 * util/i386/pc/grub-setup.c: Likewise.
21090 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21091
21092 * tests/util/grub-shell.in: Fix override directory path.
21093 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21094 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21095
21096 * util/lvm.c: Update #includes.
21097 * util/raid.c: Likewise.
21098 * util/resolve.c: Likewise.
21099 * grub-core/bus/emu/pci.c: Likewise.
21100 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21101 * grub-core/lib/posix_wrap/string.h: Likewise.
21102 * grub-core/kern/emu/main.c: Likewise.
21103
21104 * grub-core/gensymlist.sh: New file. Script for generating kernel
21105 symbols file.
21106 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21107
21108 * grub-core/gentrigtables.c: Fix unused variable warnings.
21109
21110 * Makefile.in: Removed.
21111 * conf/any-emu.rmk: Removed.
21112 * conf/common.rmk: Removed.
21113 * conf/i386-coreboot.rmk: Removed.
21114 * conf/i386-efi.rmk: Removed.
21115 * conf/i386-ieee1275.rmk: Removed.
21116 * conf/i386-multiboot.rmk: Removed.
21117 * conf/i386-pc.rmk: Removed.
21118 * conf/i386-qemu.rmk: Removed.
21119 * conf/i386.rmk: Removed.
21120 * conf/mips-yeeloong.rmk: Removed.
21121 * conf/mips.rmk: Removed.
21122 * conf/powerpc-ieee1275.rmk: Removed.
21123 * conf/sparc64-ieee1275.rmk: Removed.
21124 * conf/tests.rmk: Removed.
21125 * conf/x86-efi.rmk: Removed.
21126 * conf/x86_64-efi.rmk: Removed.
21127 * gendistlist.sh: Removed.
21128 * geninitheader.sh: Removed.
21129 * genkernsyms.sh.in: Removed.
21130 * genmk.rb: Removed.
21131 * gensymlist.sh.in: Removed.
21132 * mkinstalldirs: Removed.
21133 * boot: Moved ...
21134 * grub-core/boot: ... to here.
21135 * bus: Moved ...
21136 * grub-core/bus: ... to here.
21137 * commands: Moved ...
21138 * grub-core/commands: ... to here.
21139 * disk: Moved ...
21140 * grub-core/disk: ... to here.
21141 * efiemu: Moved ...
21142 * grub-core/efiemu: ... to here.
21143 * font: Moved ...
21144 * grub-core/font: ... to here.
21145 * fs: Moved ...
21146 * grub-core/fs: ... to here.
21147 * gencmdlist.sh: Moved ...
21148 * grub-core/gencmdlist.sh: ... to here.
21149 * genemuinit.sh: Moved ...
21150 * grub-core/genemuinit.sh: ... to here.
21151 * genemuinitheader.sh: Moved ...
21152 * grub-core/genemuinitheader.sh: ... to here.
21153 * genfslist.sh: Moved ...
21154 * grub-core/genfslist.sh: ... to here.
21155 * genhandlerlist.sh: Moved ...
21156 * grub-core/genhandlerlist.sh: ... to here.
21157 * genmoddep.awk: Moved ...
21158 * grub-core/genmoddep.awk: ... to here.
21159 * genmodsrc.sh: Moved ...
21160 * grub-core/genmodsrc.sh: ... to here.
21161 * genpartmaplist.sh: Moved ...
21162 * grub-core/genpartmaplist.sh: ... to here.
21163 * genparttoollist.sh: Moved ...
21164 * grub-core/genparttoollist.sh: ... to here.
21165 * genterminallist.sh: Moved ...
21166 * grub-core/genterminallist.sh: ... to here.
21167 * gentrigtables.c: Moved ...
21168 * grub-core/gentrigtables.c: ... to here.
21169 * genvideolist.sh: Moved ...
21170 * grub-core/genvideolist.sh: ... to here.
21171 * gettext: Moved ...
21172 * grub-core/gettext: ... to here.
21173 * gfxmenu: Moved ...
21174 * grub-core/gfxmenu: ... to here.
21175 * gnulib: Moved ...
21176 * grub-core/gnulib: ... to here.
21177 * hello: Moved ...
21178 * grub-core/hello: ... to here.
21179 * hook: Moved ...
21180 * grub-core/hook: ... to here.
21181 * io: Moved ...
21182 * grub-core/io: ... to here.
21183 * kern: Moved ...
21184 * grub-core/kern: ... to here.
21185 * lib: Moved ...
21186 * grub-core/lib: ... to here.
21187 * loader: Moved ...
21188 * grub-core/loader: ... to here.
21189 * mmap: Moved ...
21190 * grub-core/mmap: ... to here.
21191 * normal: Moved ...
21192 * grub-core/normal: ... to here.
21193 * partmap: Moved ...
21194 * grub-core/partmap: ... to here.
21195 * parttool: Moved ...
21196 * grub-core/parttool: ... to here.
21197 * script: Moved ...
21198 * grub-core/script: ... to here.
21199 * term: Moved ...
21200 * grub-core/term: ... to here
21201 * tests/example_functional_test.c: Moved ...
21202 * grub-core/tests/example_functional_test.c: ... to here.
21203 * tests/lib/functional_test.c: Moved ...
21204 * grub-core/tests/lib/functional_test.c: ... to here.
21205 * tests/lib/test.c: Moved ...
21206 * grub-core/tests/lib/test.c: ... to here.
21207 * video: Moved ...
21208 * grub-core/video: ... to here.
21209
645586e6
BC
212102010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21211
21212 Replace --enable-grub-emu-modules with grub-emu-lite.
21213
21214 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21215 cache.S.
21216
21217 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21218 * kern/emu/full.c: New file. For grub-emu specific initialization.
21219 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21220 * kern/emu/main.c: Call initialization function grub_emu_init.
21221
21222 * Makefile.in: Include grub-emu-lite in install.
21223 * commands/parttool.c: Use grub_no_autoload to differentiate
21224 between grub-emu and grub-emu-lite.
21225 * include/grub/misc.h: New variable grub_no_autoload.
21226
21227 * conf/any-emu.rmk: New rules for grub-emu-lite.
21228 * configure.ac: Remove --enable-grub-emu-modules.
21229 * genmk.rb: Cleanup unnecessary rules.
21230 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21231
21232 * normal/main.c: Don't load list files on grub-emu-lite.
21233 * util/misc.c (grub_arch_sync_caches): Removed.
21234
f86a4030
CW
212352010-08-23 Colin Watson <cjwatson@ubuntu.com>
21236
21237 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21238 grub-mkimage rather than grub-mkelfimage.
21239 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21240
06776944
VS
212412010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21244 a key after CapsLock or NumLock. It's just a qemu bug.
21245
df262419
VS
212462010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21247
21248 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21249 needed by libusb wrapper.
21250
b40ea81b
ST
212512010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21252
21253 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21254
dee50575
VS
212552010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21256
21257 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21258 --nounzip is passed.
21259
fb1d7b79
VS
212602010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21261
21262 USB hotunplugging and USB serial support.
21263
21264 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21265 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21266 (grub_uhci_transfer): Respect timeout and set *actual.
21267 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21268 non-standard length.
21269 (grub_usb_device_attach): Autoload modules.
21270 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21271 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21272 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21273 users updated.
21274 (grub_usb_add_hub): Fill nports and children.
21275 (attach_root_port): Receive hub instead of controller.
21276 All users updated. Fill hub->devices.
21277 (grub_usb_root_hub): Allocate hub->devices.
21278 (detach_device): New function.
21279 (poll_nonroot_hub): Fill children and detach devices.
21280 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21281 actual arguments. All users updated.
21282 (grub_usb_bulk_read_extended): New function.
21283 * bus/usb/serial/common.c: New file.
21284 * bus/usb/serial/ftdi.c: Likewise.
21285 * bus/usb/serial/pl2303.c: Likewise.
21286 * commands/terminal.c (handle_command): Support wildcard.
21287 * commands/usbtest.c: Output "Unknown" instead of empty string.
21288 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21289 (usbserial_common_mod_SOURCES): New variable.
21290 (usbserial_common_mod_CFLAGS): Likewise.
21291 (usbserial_common_mod_LDFLAGS): Likewise.
21292 (pkglib_MODULES): Add usbserial_pl2303.mod.
21293 (usbserial_pl2303_mod_SOURCES): New variable.
21294 (usbserial_pl2303_mod_CFLAGS): Likewise.
21295 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21296 (pkglib_MODULES): Add usbserial_ftdi.mod.
21297 (usbserial_ftdi_mod_SOURCES): New variable.
21298 (usbserial_ftdi_mod_CFLAGS): Likewise.
21299 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21300 (pkglib_MODULES): Add serial.mod.
21301 (serial_mod_SOURCES): New variable.
21302 (serial_mod_CFLAGS): Likewise.
21303 (serial_mod_LDFLAGS): Likewise.
21304 * conf/i386-pc.rmk: Likewise.
21305 * conf/mips-yeeloong.rmk: Likewise.
21306 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21307 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21308 * disk/usbms.c (first_available_slot): New variable.
21309 (grub_usbms_attach): Don't reuse free slots due to potential cache
21310 problems.
21311 * include/grub/serial.h: Moved to ..
21312 * include/grub/ns8250.h: ...this.
21313 * include/grub/serial.h: New file.
21314 * include/grub/term.h (grub_term_poll_usb): New variable.
21315 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21316 readkey. All users updated.
21317 (grub_terminfo_output_state): Pass term to put.
21318 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21319 (grub_usb_controller_dev): Add timeout and actual arguments to
21320 transfer. All users updated.
21321 (grub_usb_interface): New field detach_data.
21322 (grub_usb_device): New fields children and nports.
21323 (grub_usb_ep_type_t): New type.
21324 (grub_usb_get_ep_type): New function.
21325 (grub_usb_bulk_read_extended): Likewise.
21326 * include/grub/usbdesc.h (grub_usb_desc): New type.
21327 * include/grub/usbserial.h: New file.
21328 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21329 * kern/term.c (grub_term_poll_usb): New variable.
21330 (grub_getkey): Call grub_term_poll_usb if set.
21331 (grub_checkkey): Likewise.
21332 (grub_getkeystatus): Likewise.
21333 * term/serial.c: Moved controller-specific parts to ...
21334 * term/ns8250.c: ... here.
21335 * term/serial.c: Mostly rewritten.
21336 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21337 according to spec.
21338
21a313de
RM
213392010-08-20 Robert Millan <rmh@gnu.org>
21340
21341 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21342 a separate module and maybe other interesting combinations.
21343
21344 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21345 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21346 (kfreebsd_entry): Add generic filesystem module load routine.
21347 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21348
63c734a6
CW
213492010-08-20 Colin Watson <cjwatson@ubuntu.com>
21350
21351 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21352 "numcenter" (I misunderstood the purpose of this entry).
21353 * docs/grub.texi (sendkey): Likewise.
21354
c4d16542
CW
213552010-08-20 Colin Watson <cjwatson@ubuntu.com>
21356
21357 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21358 status flag options; simply omitting the option is equivalent and
21359 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21360 (keysym_table): Rename "num5numlock" to "numlock".
21361 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21362 can uniformly say that only the last of multiple `sendkey'
21363 invocations has any effect.
21364 * docs/grub.texi (sendkey): New section.
21365
93541d66
CW
213662010-08-19 Colin Watson <cjwatson@ubuntu.com>
21367
21368 * commands/i386/pc/sendkey.c (options): Fix three typos.
21369
b4ece5e1
VS
213702010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 Implement sendkey support.
21373
21374 * commands/i386/pc/sendkey.c: New file.
21375 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21376 (sendkey_mod_SOURCES): New variable.
21377 (sendkey_mod_CFLAGS): Likewise.
21378 (sendkey_mod_LDFLAGS): Likewise.
21379
51f1f5af
CW
213802010-08-18 Colin Watson <cjwatson@ubuntu.com>
21381
21382 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21383 fix warnings from Autoconf.
21384
9da94e05
CW
213852010-08-18 Colin Watson <cjwatson@ubuntu.com>
21386
21387 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21388 to avoid false positives with some assemblers that output things
21389 like "someprefix_func" as part of their output.
21390
729a0f2e
RM
213912010-08-15 Robert Millan <rmh@gnu.org>
21392
21393 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21394 errors.
21395 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21396 grub_get_libzfs_handle() errors.
21397
f3710e08
RM
213982010-08-14 Robert Millan <rmh@gnu.org>
21399
21400 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21401 filesystem is not ZFS.
21402
7a3c13de
BC
214032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21404
21405 Fix for misspelled color names defaulting to black/black (bug
21406 reported by Doug Nazar)
21407
21408 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21409 status to prototype.
21410 * normal/color.c (grub_parse_color_name_pair): Return failure
21411 status.
21412 (grub_env_write_color_normal): Ignore bad color names.
21413 (grub_env_write_color_highlight): Likewise.
21414 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21415
ab8ba50d
BC
214162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21417
21418 "shift" command support to GRUB script.
21419
21420 * include/grub/script_sh.h (grub_script_shift): New prototype.
21421 * script/execute.c (grub_script_shift): New function.
21422 * script/main.c (grub_script_init): Register shift command.
21423 (grub_script_fini): Unregister shift command.
21424 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21425
21426 * tests/grub_script_shift.in: New testcase.
21427 * conf/tests.rmk: Rules for new testcase.
21428
4d61999e
BC
214292010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21430
21431 "continue" command support to GRUB script.
21432
21433 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21434 (grub_script_break): Continue support.
21435 * script/main.c (grub_script_init): Register continue command.
21436 (grub_script_fini): Unregister continue command.
21437
21438 * tests/grub_script_continue.in: New testcase.
21439 * conf/tests.rmk: Rules for new testcase.
21440
4df51e00
BC
214412010-08-12 BVK Chaitanya <bvk@dbook>
21442
21443 "break" command support to GRUB script.
21444
21445 * conf/common.rmk: Rule updates to grub-script-check.
21446 * include/grub/misc.h (grub_min): New function.
21447 * include/grub/script_sh.h (grub_script_init): New prototype.
21448 (grub_script_fini): New prototype.
21449 (grub_script_break): New prototype.
21450 * script/main.c (grub_script_init): New function.
21451 (grub_script_fini): New function.
21452 * script/execute.c (grub_script_break): New function.
21453 * normal/main.c: Calls to grub_script_{init,fini}.
21454 * util/grub-script-check.c (grub_script_break): New function.
21455
21456 * tests/grub_script_break.in: New testcase.
21457 * conf/tests.rmk: Rules for new test case.
21458
f12c8420
BC
214592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21460
21461 Function parameters support to GRUB script.
21462
21463 * script/yylex.l (VARIABLE): Regular expression update.
21464 * script/function.c (grub_script_function_call): Moved ...
21465 * script/execute.c (grub_script_function_call): ... to here.
21466 (grub_script_execute_arglist_to_argv): Removed.
21467 (grub_script_arglist_to_argv): New function.
21468 * script/argv.c: New file.
21469 (grub_script_argv_free): New function.
21470 (grub_script_argv_next): Likewise.
21471 (grub_script_argv_append): Likewise.
21472 (grub_script_argv_split_append): Likewise.
21473 * include/grub/script_sh.h (grub_script_argv): New struct.
21474 (grub_script_argv_free): New function.
21475 (grub_script_argv_next): Likewise.
21476 (grub_script_argv_append): Likewise.
21477 (grub_script_argv_split_append): Likewise.
21478
21479 * conf/common.rmk (normal.mod): New source script/argv.c.
21480
21481 * tests/grub_script_echo1.in: More tests.
21482 * tests/grub_script_vars1.in: Likewise.
21483 * tests/grub_script_functions.in: New test case.
21484 * conf/tests.rmk: Rules for new testcase.
21485
8022b748
BC
214862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21487
21488 Remove grub_script_cmdblock struct.
21489
21490 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21491 * script/parser.y: Likewise.
21492 * script/execute.c: Rename cmdblock suffix to cmdlist.
21493 * script/script.c: Likewise.
21494 * util/grub-script-check.c: Likewise.
21495
79a6ba61
YB
214962010-08-11 Yves Blusseau <blusseau@zetam.org>
21497
21498 * .bzrignore: add grub-macho2img
21499
d04b9414
VS
215002010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21503
f947ab49
VS
215042010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 Remove the dump of sm712 initialisation sequence.
21507
21508 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21509 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21510 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21511 (GRUB_VGA_CR_*): Added many registers.
21512 (GRUB_VGA_SR_*): Likewise.
21513 (GRUB_VGA_GR_*): Likewise.
21514 (grub_vga_write_arx): New function.
21515 (grub_video_hw_config): New struct.
21516 (grub_vga_set_geometry): New function.
21517 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21518 GRUB_PCI_CLASS_SUBCLASS_VGA.
21519 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21520 * video/sm712.c (grub_sm712_write_reg): New function
21521 (grub_sm712_read_reg): Likewise.
21522 (grub_sm712_sr_write): Likewise.
21523 (grub_sm712_gr_write): Likewise.
21524 (grub_sm712_cr_write): Likewise.
21525 (grub_sm712_write_arx): Likewise.
21526 (grub_sm712_cr_shadow_write): Likewise.
21527 (grub_sm712_write_dda_lookup): Likewise.
21528 (grub_video_sm712_setup): Initialise the video rather then
21529 blindly replay the dump.
21530 (main) [TEST]: Add a routine to be able to compile as standalone for
21531 tests.
21532 * video/sm712_init.c (sm712_init): Removed.
21533 (sm712_sr_seq1): New array.
21534 (sm712_sr_seq2): Likewise.
21535
f0206638
VS
215362010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 * include/grub/vga.h: Add missing grub/pci.h include.
21539
2764da3b
YB
215402010-08-10 Yves Blusseau <blusseau@zetam.org>
21541
21542 * util/grub-macho2img.c (main): fix typo
21543
cf0c775e
VS
215442010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21547 (grub_vga_gr_read): Likewise.
21548 (grub_vga_cr_write): Likewise.
21549 (grub_vga_cr_read): Likewise.
21550 (grub_vga_sr_write): Likewise.
21551 (grub_vga_sr_read): Likewise.
21552 (grub_vga_palette_read): Likewise.
21553 (grub_vga_palette_write): Likewise.
21554 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21555 (grub_sm712_sr_read): New function.
21556 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21557 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21558
07f360e9
RM
215592010-08-09 Robert Millan <rmh@gnu.org>
21560
21561 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21562 out unused variables on non-ZFS build.
21563
346c2072
RM
215642010-08-08 Robert Millan <rmh@gnu.org>
21565
21566 Fix path generation for sub-filesystems in ZFS.
21567
21568 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21569 missing slash.
21570
71175420
RM
215712010-08-08 Robert Millan <rmh@gnu.org>
21572
21573 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21574
0d8286f3
RM
215752010-08-08 Robert Millan <rmh@gnu.org>
21576
21577 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21578 exist, issue a proper error message (rely on `ls' for translated
21579 strings).
21580
55dd2924
RM
215812010-08-08 Robert Millan <rmh@gnu.org>
21582
21583 Fix grub-probe invocation.
21584
21585 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21586
d3dd9e80
RM
215872010-08-04 Robert Millan <rmh@gnu.org>
21588
21589 * configure.ac: Remove checks for getfsstat() and getmntany().
21590 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21591 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21592 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21593 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21594 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21595 function.
21596 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21597 via find_mount_point_from_dir() and getfsstat() / getmntany().
21598
0de22aa9
RM
215992010-08-04 Robert Millan <rmh@gnu.org>
21600
21601 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21602 (grub_find_zpool_from_mount_point): Merge into ...
21603 (grub_find_zpool_from_dir): ... this.
21604 * kern/emu/misc.c: Likewise.
21605
21606 * kern/emu/misc.c
21607 (grub_make_system_path_relative_to_its_root): Replace
21608 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21609 with grub_find_zpool_from_dir().
21610 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21611
62858144
RM
216122010-08-04 Robert Millan <rmh@gnu.org>
21613
21614 Support OpenSolaris in ZFS device resolution.
21615
21616 * configure.ac: Check for getmntany().
21617 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21618 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21619 support.
21620
9dd6fd50
RM
216212010-08-03 Robert Millan <rmh@gnu.org>
21622
21623 Fix grub-emu build.
21624
21625 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21626 * include/grub/emu/misc.h: ... here.
21627
21628 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21629 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21630
21631 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21632 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21633 (grub_get_libzfs_handle): Move to ...
21634 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21635 (grub_get_libzfs_handle): ... here.
21636
c9f7ff97
BC
216372010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21638
21639 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21640 as command name case.
21641
a870a783
CW
216422010-08-02 Colin Watson <cjwatson@ubuntu.com>
21643
21644 * disk/raid.c (insert_array): Select unique numbers for named arrays
21645 as well, for use as keys in the disk cache.
21646
c7db243b
RM
216472010-08-01 Robert Millan <rmh@gnu.org>
21648
21649 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21650 kFreeBSD device name, except on ZFS where the filesystem label is
21651 used.
21652 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21653 `/boot/zfs/zpool.cache'.
21654 Set mountfrom kernel variable using ${kfreebsd_device}.
21655
f7abdefb
RM
216562010-08-01 Robert Millan <rmh@gnu.org>
21657
21658 Make it even harder to use uninitialized `libzfs_handle' (and
21659 make the interface a bit simpler).
21660
21661 * include/grub/util/misc.h (grub_util_init_libzfs)
21662 (libzfs_handle): Remove.
21663 (grub_get_libzfs_handle): New prototype.
21664
21665 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21666 attribute.
21667 (grub_util_init_libzfs): Remove.
21668 (grub_get_libzfs_handle): New function.
21669
21670 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21671 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21672 accessing `libzfs_handle' directly.
21673
c882acc0
RM
216742010-08-01 Robert Millan <rmh@gnu.org>
21675
21676 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21677 (grub_find_zpool_from_mount_point): New function prototypes.
21678
21679 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21680 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21681
21682 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21683 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21684 `static' attribute.
21685
21686 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21687 finding zpool from mount point into ...
21688 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21689
21690 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21691 requested path is part of a ZFS pool, use
21692 grub_find_zpool_from_mount_point() to detect its filesystem name,
21693 and generate a path with `/fsname@path' syntax.
21694
8bfe31d8
CW
216952010-08-01 Colin Watson <cjwatson@ubuntu.com>
21696
21697 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21698 (void) rather than () so that this is a proper prototype.
21699
553df63d
VS
217002010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21703
8687cf07
VS
217042010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21705
21706 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21707 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21708
ea9be8ea
CW
217092010-08-01 Colin Watson <cjwatson@ubuntu.com>
21710
21711 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21712
6eea041a
CW
217132010-08-01 Colin Watson <cjwatson@ubuntu.com>
21714
21715 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21716
2cfb45df
CW
217172010-08-01 Colin Watson <cjwatson@ubuntu.com>
21718
21719 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21720 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21721 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21722 disable gfxpayload.
21723 (Shell-like scripting): Add real content.
21724 (Serial terminal): Suggest `terminal_input serial; terminal_output
21725 serial' rather than putting the two commands on separate lines,
21726 since console input will be inoperative after the first command.
21727 (menuentry): Document --class, --users, and --hotkey options.
21728 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21729 Vladimir Serbinenko).
21730
7decd202
VS
217312010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
217322010-08-01 Colin Watson <cjwatson@ubuntu.com>
21733
21734 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21735
c882acc0
RM
217362010-08-01 Robert Millan <rmh@gnu.org>
21737
21738 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21739 (grub_find_zpool_from_mount_point): New function prototypes.
21740
21741 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21742 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21743
21744 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21745 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21746 `static' attribute.
21747
21748 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21749 finding zpool from mount point into ...
21750 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21751
21752 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21753 requested path is part of a ZFS pool, use
21754 grub_find_zpool_from_mount_point() to detect its filesystem name,
21755 and generate a path with `/fsname@path' syntax.
21756
deb0caa3
RM
217572010-08-01 Robert Millan <rmh@gnu.org>
21758
21759 Prevent accidental use of uninitialized libzfs_handle.
21760
21761 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21762 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21763 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21764
ce04ef47
CW
217652010-08-01 Colin Watson <cjwatson@ubuntu.com>
21766
21767 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21768 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21769
ebf53056
RM
217702010-08-01 Robert Millan <rmh@gnu.org>
21771
21772 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21773
3710bb6b
RM
217742010-07-31 Robert Millan <rmh@gnu.org>
21775
21776 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21777
8072efeb
RM
217782010-07-31 Robert Millan <rmh@gnu.org>
21779
21780 * kern/emu/misc.c: Add missing license header.
21781
3169f4c7
RM
217822010-07-31 Robert Millan <rmh@gnu.org>
21783
21784 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21785
21786 * include/grub/util/libnvpair.h: Include `<config.h>'.
21787 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21788 declaring libnvpair prototypes ourselves.
21789 * include/grub/util/libzfs.h: Include `<config.h>'.
21790 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21791 declaring libzfs prototypes ourselves.
21792
21793 (libzfs_handle): Moved to ...
21794 * include/grub/util/misc.h (libzfs_handle): ... here.
21795 Include `<grub/util/libzfs.h>'.
21796
c9a00aee
RM
217972010-07-30 Robert Millan <rmh@gnu.org>
21798
21799 * include/grub/emu/misc.h: Add missing license header.
21800
a184f9c8
RM
218012010-07-30 Robert Millan <rmh@gnu.org>
21802
21803 Enable `grub-probe -t device' resolution on ZFS.
21804
21805 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21806 * include/grub/util/libnvpair.h: New file.
21807 * include/grub/util/libzfs.h: New file.
21808
21809 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21810 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21811 `<grub/util/libnvpair.h>'.
21812 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21813
21814 (find_mount_point_from_dir): New static function.
21815 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21816 function.
21817 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21818 find_root_device_from_libzfs() before ressorting to find_root_device().
21819
21820 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21821 prototype.
21822 * util/misc.c: Include `<grub/util/libzfs.h>'.
21823 (grub_util_init_libzfs): New function.
21824 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21825 [HAVE_LIBZFS] (fini_libzfs): New static function.
21826 (grub_util_init_libzfs): New function.
21827 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21828
f7790cdd
RM
218292010-07-30 Robert Millan <rmh@gnu.org>
21830
21831 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21832 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21833 `warn_unused_result' attribute.
21834 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21835 (grub_xasprintf, grub_xvasprintf): Likewise.
21836 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21837
0806b63c
RM
218382010-07-29 Robert Millan <rmh@gnu.org>
21839
21840 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21841 (probe): Handle `PRINT_FS_LABEL'.
21842 (main): Handle `-t fs_label'.
21843
9f841f5c
RM
218442010-07-29 Robert Millan <rmh@gnu.org>
21845
21846 * configure.ac: Remove grub-mkisofs checks.
21847
46371121
VS
218482010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21851 Reported by: Lennart Sorensen.
21852
218532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21856 prior to terminal_input/terminal_output separation. It's been over 1.5
21857 years and those versions weren't widely deployed.
21858
a9600892
CW
218592010-07-22 Colin Watson <cjwatson@ubuntu.com>
21860
21861 * disk/raid.c (insert_array): Don't count named arrays when looking
21862 for unused array numbers.
697e053c 21863 Reported and tested by: Michael Guntsche.
a9600892 21864
c03507df
CW
218652010-07-20 Colin Watson <cjwatson@ubuntu.com>
21866
21867 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21868 implementation of this so that grub-emu links again, with a note
21869 that this should support hotplugging in the future.
21870
b26f1c11
CW
218712010-07-20 Colin Watson <cjwatson@ubuntu.com>
21872
21873 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21874
efc9d7f1
CW
218752010-07-20 Colin Watson <cjwatson@ubuntu.com>
21876
21877 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21878 handle on failure.
21879 (grub_loopback_close): Remove empty function.
21880 (grub_loopback_dev): Remove close method.
21881
dd8ff5c9
CW
218822010-07-20 Colin Watson <cjwatson@ubuntu.com>
21883
21884 Disable EFI cursor when the EFI console becomes inactive.
21885
21886 * term/efi/console.c (grub_efi_console_init): New function.
21887 (grub_efi_console_fini): New function.
21888 (grub_console_term_output): Register init and fini methods.
21889
5e3bec67
VS
218902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21893 sh script.
21894
afaec079
VS
218952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 * disk/loopback.c (grub_loopback): Replace filename with file.
21898 (delete_loopback): Handle new semantics.
21899 (grub_cmd_loopback): Likewise.
21900 (grub_loopback_iterate): Likewise.
21901 (grub_loopback_close): Likewise.
21902
a6a11f3c
VS
219032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21906 with -p "".
21907 Reported by: Tito Keitel.
21908
64a638b0
VS
219092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21910
21911 * docs/grub.texi (Naming convention): Document new naming convention.
21912
ab8ba957
VS
219132010-07-20 Vadim Solomin <vadic052@gmail.com>
219142010-07-20 Colin Watson <cjwatson@ubuntu.com>
21915
21916 Generate device.map in something closer to the old ordering.
21917
21918 * util/deviceiter.c (struct device): New declaration.
21919 (compare_file_names): Rename to ...
21920 (compare_devices): ... this. Sort by kernel name in preference to
21921 the stable by-id name, but keep the latter as a fallback comparison.
21922 Update header comment.
21923 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21924 of `struct device' rather than of plain file names.
21925
a29d6a4b
TF
219262010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21927
21928 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21929 on i386.
21930
39d824e8
VS
219312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21932
21933 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21934 hardcoding size.
21935 (setv1table): Likewise.
21936
f058276b
FZ
219372010-07-20 Colin Watson <cjwatson@ubuntu.com>
21938
21939 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21940 removing the homehost if present.
21941 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21942 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21943 removing the homehost if present.
21944 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21945 if possible.
21946 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21947
21948 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21949 parameter. Set its pointer target to 0.
21950 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21951 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21952 `data_offset' value from the superblock for 1.x metadata.
21953 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21954 data on the device.
21955 (insert_array): Record the start sector of data on the device.
21956 (grub_raid_register): Pass start_sector parameters to
21957 grub_raid_list->detect and insert_array.
21958 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21959 member.
21960 (struct grub_raid): Add start_sector parameter to `detect'.
21961
21962 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21963 __attribute__ ((packed)), leaving a comment.
21964 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21965 (grub_mdraid_detect_09): ... here and ...
21966 (grub_mdraid_detect_1x): ... here.
21967
219682010-07-20 Peter Henn <peter.henn@web.de>
21969
21970 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21971 chunk size and disk size, which are already given as sector counts
21972 as distinct from the 0.90 units. Fetch the correct device number
21973 from the role table instead of using the table index.
21974
219752010-07-20 Felix Zielcke <fzielcke@z-51.de>
21976
21977 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21978 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21979 (WriteMostly1): New macro.
21980 Set array->name to NULL for metadata format 0.90. Add support for
21981 metadata 1.x. Fix some comments.
21982 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21983 few comments.
21984 * util/getroot.c (grub_util_get_grub_dev): Add support for
21985 /dev/md/name style devices.
21986
4b761da9
CW
219872010-07-20 Colin Watson <cjwatson@ubuntu.com>
21988
21989 * .bzrignore: Ignore 20_linux_xen.
21990
5771289a
CW
219912010-07-17 Colin Watson <cjwatson@ubuntu.com>
21992
21993 * util/import_unicode.py: Remove unnecessary imports.
21994
5dab68df
AN
219952010-07-17 Aleš Nesrsta <starous@volny.cz>
21996
21997 Hotplugging and USB hub support.
21998
21999 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22000 (grub_ohci): Likewise.
22001 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22002 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22003 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22004 (GRUB_OHCI_CTRL_EDS): Likewise.
22005 (GRUB_OHCI_BULK_EDS): Likewise.
22006 (GRUB_OHCI_TDS): Likewise.
22007 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22008 (grub_ohci_ed_phys2virt): New function.
22009 (grub_ohci_virt_to_phys): Likewise.
22010 (grub_ohci_td_phys2virt): Likewise.
22011 (grub_ohci_td_virt2phys): Likewise.
22012 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22013 attachment.
22014 (grub_ohci_find_ed): New function.
22015 (grub_ohci_alloc_td): Likewise.
22016 (grub_ohci_free_td): Likewise.
22017 (grub_ohci_free_tds): Likewise.
22018 (grub_ohci_transfer): Use previously allocated memory.
22019 (grub_ohci_portstatus): Reset status changed bit.
22020 (grub_ohci_detect_dev): Supply status changed.
22021 (grub_ohci_fini_hw): Free memory.
22022 (grub_ohci_restore_hw): Reallocate memory.
22023 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22024 Reset status change.
22025 (grub_uhci_detect_dev): Supply status_change.
22026 * bus/usb/usb.c (attach_hooks): New var.
22027 (grub_usb_device_attach): New function.
22028 (grub_usb_register_attach_hook_class): Likewise.
22029 (grub_usb_unregister_attach_hook_class): Likewise.
22030 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22031 (grub_usb_add_hub): Reset connection changed bit.
22032 (attach_root_port): New function.
22033 (grub_usb_root_hub): Likewise.
22034 (poll_nonroot_hub): Likewise.
22035 (grub_usb_poll_devices): Likewise.
22036 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22037 * disk/usbms.c (grub_usbms_open): Use device hooks.
22038 (grub_usbms_iterate) :Poll devices.
22039 (grub_usbms_finddevs): Split into ...
22040 (grub_usbms_attach): ... this ...
22041 (grub_usbms_attach): ... and this.
22042 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22043 in detect_dev.
22044 (grub_usb_interface): New fields attached and detach_hook.
22045 (grub_usb_attach_hook_class): New type.
22046 (grub_usb_attach_desc): New struct.
22047 (grub_usb_register_attach_hook_class): New function.
22048 (grub_usb_unregister_attach_hook_class): Likewise.
22049 (grub_usb_poll_devices): Likewise.
22050 (grub_usb_device_attach): Likewise.
22051 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22052 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22053
3222efaf
VS
220542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22055
22056 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22057 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22058 delta determination style. Works with most NetBSD partitions too.
22059
139b714a
VS
220602010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22061
22062 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22063 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22064
986aad56
VS
220652010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22066
22067 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22068
99be513c
AB
220692010-07-14 Anton Blanchard <anton@samba.org>
22070
22071 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22072 ET_DYN files.
22073
18075f62
GS
220742010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22075
22076 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22077
8d9a5b15
GS
220782010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22079
22080 * kern/partition.c (grub_partition_check_containment): New function to
22081 check that a partition is physically contained in a parent. Since
22082 offsets are relative (and non-negative), this reduces to checking that
22083 the partition ends before its parent.
22084 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22085 (grub_partition_iterate): Likewise.
22086 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22087 comments.
22088 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22089 partitions that start before their parent, and add debug printfs.
22090
19563c25
CW
220912010-07-13 Colin Watson <cjwatson@ubuntu.com>
22092
22093 * Makefile.in (.SUFFIX): Spell correctly, as ...
22094 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22095 bare module name without `.mod', e.g. `test') tried to invoke a
22096 Modula-2 compiler.
22097
1a1f1e67
CW
220982010-07-13 Colin Watson <cjwatson@ubuntu.com>
22099
22100 * README: Point to the Info manual.
22101
811b0dca
JS
221022010-07-13 Jiro SEKIBA <jir@unicus.jp>
22103
22104 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22105 2nd superblock position from partition size.
22106
e4f4eafc
CW
221072010-07-10 Colin Watson <cjwatson@ubuntu.com>
22108
22109 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22110 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22111 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22112 outputs.
22113
4274c30f
VS
221142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22115
22116 Restructure SCSI .id handling.
22117 Reported and tested by: Aleš Nesrsta.
22118
22119 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22120 (grub_atapi_dev): Changed .name to "ata". New field .id.
22121 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22122 (grub_usbms_dev): New field .id.
22123 * disk/scsi.c (grub_scsi_iterate): Generate name.
22124 (grub_scsi_open): Parse name.
22125 * include/grub/scsi.h (grub_make_scsi_id): New function.
22126 (grub_scsi_dev): Change iterate and open to number instead of naming
22127 busses. All users updated.
22128 (grub_scsi): Remove name. Add .bus.
22129
5bc24388
VS
221302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22131
22132 * commands/help.c (grub_cmd_help): Fix a typo.
22133
249975ba
VS
221342010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22135
22136 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22137 Reported and tested by: Colin Watson.
22138
3eaac1a1
VS
221392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22142 in this context.
22143
becce1b1
VS
221442010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22145
22146 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22147
f7bf0918
CW
221482010-07-07 Colin Watson <cjwatson@ubuntu.com>
22149
22150 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22151 indentation.
22152
0b0f9620
CW
221532010-07-06 Colin Watson <cjwatson@ubuntu.com>
22154
22155 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22156 and disk/raid6_recover.c.
22157 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22158 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22159
1e545469
CW
221602010-07-06 Colin Watson <cjwatson@ubuntu.com>
22161
22162 * term/gfxterm.c (repaint_schedulded): Rename to ...
22163 (repaint_scheduled): ... this. Update all callers.
22164 (repaint_was_schedulded): Rename to ...
22165 (repaint_was_scheduled): ... this. Update all callers.
22166
5357687a
CW
221672010-07-06 Colin Watson <cjwatson@ubuntu.com>
22168
22169 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22170 which we expect to be handled by upper layers.
22171
29d7e783
BC
221722010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22173
22174 * bus/usb/usbhub.c: #include time.h header.
22175
37582066
CW
221762010-07-06 Colin Watson <cjwatson@ubuntu.com>
22177
22178 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22179 entry_name also for entries without stat blocks (e.g. ".."); fixes
22180 corruption of the first entry in a directory.
22181
c8c06953
CW
221822010-07-06 Colin Watson <cjwatson@ubuntu.com>
22183
22184 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22185 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22186 doesn't work otherwise.
22187
e75056f1
CW
221882010-07-05 Colin Watson <cjwatson@ubuntu.com>
22189
22190 * docs/grub.texi (Features): Update list of supported file systems.
22191 (GNU/Linux): Update for GRUB 2.
22192 (Serial terminal): Remove mention of --disable-serial, which was a
22193 GRUB Legacy configure option. Update instructions to use
22194 `terminal_input' and `terminal_output' rather than `terminal'.
22195 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22196 configuration' and `Installing GRUB using grub-install'.
22197 (Menu entry editor): Update for GRUB 2.
22198 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22199 Document new -a, -u, and -v options.
22200 (initrd): New section.
22201 (initrd16): New section.
22202 (linux): New section.
22203 (linux16): New section.
22204 (search): The `var' argument to `--set' is optional.
22205 (GRUB only offers a rescue shell): Go into a little more detail on
22206 drive ordering.
22207
5cf69151
CW
222082010-07-05 Colin Watson <cjwatson@ubuntu.com>
22209
22210 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22211
e3f90044
CW
222122010-07-05 Colin Watson <cjwatson@ubuntu.com>
22213
22214 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22215 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22216
38d8f4f3
CW
222172010-07-05 Colin Watson <cjwatson@ubuntu.com>
22218
22219 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22220 install_prefix, in line with install_dos_part and install_bsd_part.
22221 Add new prefix variable, which is copied to install_prefix after
22222 comparing core.img in memory with the one read from disk in the
22223 no-embedding case, and use that rather than overwriting
22224 install_prefix immediately when installing to a partition.
22225 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22226 Bicakci.
22227
57ebd41e
GS
222282010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22229
22230 * configure.ac: Avoid == in test command, it's not portable.
22231 * util/grub.d/30_os-prober.in: Likewise.
22232
cb7f64b2
CW
222332010-07-04 Colin Watson <cjwatson@ubuntu.com>
22234
22235 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22236
6b654bb0
GS
222372010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22238
22239 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22240 multiple (top-level) partmaps.
22241
72a2026d
VS
222422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22243
22244 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22245 Reported by: Tino Keitel.
72a2026d 22246
df3eb88f
VS
222472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22248
22249 Bidi and diacritics support.
22250
22251 * Makefile.in (widthspec.bin): New target.
22252 (widthspec.h): Likewise.
22253 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22254 * autogen.sh: Generate unidata.c.
22255 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22256 * commands/ls.c (grub_ls_list_devices): Likewise.
22257 (grub_ls_list_files): Likewise.
22258 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22259 (grub_mini_cmd_lsmod): Likewise.
22260 * commands/read.c: Likewise.
22261 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22262 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22263 * lib/arg.c (grub_arg_show_help): Likewise.
22264 * lib/crypto.c (grub_password_get): Likewise.
22265 * normal/auth.c (grub_username_get): Likewise.
22266 * normal/misc.c (grub_normal_print_device_info): Likewise.
22267 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22268 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22269 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22270 (normal/charset.c_DEPENDENCIES): New variable.
22271 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22272 (pkglib_MODULES): Remove charset.mod.
22273 (charset_mod_SOURCES): Removed.
22274 (charset_mod_CFLAGS): Likewise.
22275 (charset_mod_LDFLAGS): Likewise.
22276 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22277 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22278 and term/tparm.c.
22279 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22280 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22281 (kernel_img_HEADERS): Add terminfo.h.
22282 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22283 Fill ->font. Reverse ascii bitmaps.
22284 (grub_font_get_xheight): New function.
22285 * font/font.c (grub_font_get_string_width): Moved from here ...
22286 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22287 * font/font.c (grub_font_draw_string): Moved from here ...
22288 * gfxmenu/font.c (grub_font_draw_string): ... here.
22289 * font/font.c (grub_font_dup_glyph): New function.
22290 (grub_font_blit_glyph): Likewise.
22291 (grub_font_blit_glyph_mirror): Likewise.
22292 (blit_comb): Likewise.
22293 (grub_font_construct_dry_run): Likewise.
22294 (grub_font_get_constructed_device_width): Likewise.
22295 (grub_font_construct_glyph): Likewise.
22296 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22297 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22298 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22299 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22300 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22301 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22302 (grub_font_get_xheight): New proto.
22303 (grub_font_get_constructed_device_width): Likewise.
22304 (grub_font_construct_glyph): Likewise.
22305 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22306 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22307 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22308 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22309 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22310 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22311 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22312 (grub_console_getcharwidth): Likewise.
22313 * include/grub/misc.h (grub_xputs): New proto.
22314 (grub_puts): Inlined.
22315 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22316 (grub_normal_get_line_counter): Removed.
22317 (grub_install_newline_hook): Likewise.
22318 (grub_normal_get_char_counter): New proto.
22319 (grub_normal_reset_more): Likewise.
22320 (grub_xputs_normal): Likewise.
22321 * include/grub/powerpc/ieee1275/console.h: Removed.
22322 * include/grub/sparc64/ieee1275/console.h: Likewise.
22323 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22324 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22325 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22326 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22327 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22328 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22329 (grub_term_input): Pass reference to self. All users updated.
22330 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22331 Pass reference to self. New fields normal_color, highlight_color and
22332 data. All users updated.
22333 (grub_putchar): Removed.
22334 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22335 (grub_unicode_estimate_width): New function.
22336 (grub_term_getcharwidth): Add defaults.
22337 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22338 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22339 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22340 (grub_cls): Remove EXPORT_FUNC.
22341 (grub_setcolorstate): Inline.
22342 (grub_newline_hook): Removed.
22343 * include/grub/terminfo.h: Rewritten. All users updated.
22344 * include/grub/unicode.h: New file.
22345 * include/grub/video.h (grub_video_signed_rect): New type.
22346 * kern/emu/console.c (grub_console_highlight_color): Removed.
22347 (grub_console_normal_color): Likewise.
22348 (grub_console_standard_color): Made static.
22349 (grub_ncurses_putchar): Remove mapping.
22350 (grub_ncurses_getcharwidth): Removed.
22351 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22352 (grub_ncurses_setcolor): Removed.
22353 (grub_ncurses_getcolor): Likewise.
22354 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22355 (grub_console_putchar): ... this.
22356 (grub_console_putchar): Handle argument difference.
22357 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22358 console_init_early and console_init_lately.
22359 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22360 * kern/misc.c (grub_puts): Removed.
22361 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22362 (grub_vsnprintf_real): Remove str = NULL support.
22363 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22364 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22365 * kern/term.c (grub_putcode): Renamed to ...
22366 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22367 (grub_putchar): Removed.
22368 (grub_xputs_dumb): New function.
22369 (grub_xputs): New variable.
22370 * lib/charset.c: Move from here ...
22371 * normal/charset.c: ... to here.
22372 (grub_ucs4_to_utf8): New function.
22373 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22374 (join_types): New variable.
22375 (unpack_join): New function.
22376 (bidi_types): New variable.
22377 (unpack_bidi): New function.
22378 (get_bidi_type): Likewise.
22379 (get_join_type): Likewise.
22380 (is_mirrored): Likewise.
22381 (grub_unicode_get_comb_type): Likewise.
22382 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22383 (is_type_after): Likewise.
22384 (grub_unicode_aglomerate_comb): Likewise.
22385 (bidi_line_wrap): Likewise.
22386 (grub_bidi_line_logical_to_visual): Likewise.
22387 (grub_bidi_logical_to_visual): Likewise.
22388 (grub_unicode_mirror_code): Likewise.
22389 (grub_unicode_shape_code): Likewise.
22390 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22391 Don't use grub_putchar.
22392 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22393 (grub_normal_reader_init): Likewise.
22394 (grub_xputs_saved): New variable.
22395 (GRUB_MOD_INIT): Set grub_xputs.
22396 (GRUB_MOD_FINI): Restore grub_xputs.
22397 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22398 (menu_init): Avoid printing gfxmenu error.
22399 (show_menu): Use grub_normal_get_char_counter.
22400 * normal/menu_entry.c (update_screen): Fix out-of-array.
22401 (complete): Avoid NULL dereferencing.
22402 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22403 * normal/menu_text.c (print_spaces): Removed.
22404 (grub_print_ucs4): Likewise.
22405 (grub_print_message_indented): Use grub_print_ucs4.
22406 (print_message): Use grub_putcode.
22407 (print_entry): Hanlde diacritics.
22408 * normal/term.c (term_state): New type.
22409 (grub_more_lines): Removed.
22410 (term_states): New variable.
22411 (grub_normal_line_counter): Renamed to ..
22412 (grub_normal_char_counter): ...this. All users updated.
22413 (grub_normal_get_line_counter): Renamed to ...
22414 (grub_normal_get_char_counter): ... this.
22415 (grub_normal_reset_more): New function.
22416 (process_newline): Removed.
22417 (print_more): New function.
22418 (grub_install_newline_hook): Removed.
22419 (map_code): New function.
22420 (grub_puts_terminal): Use grub_print_ucs4.
22421 (putglyph): New function.
22422 (putcode_real): Likewise.
22423 (grub_putcode): Use putcode_real.
22424 (get_maxwidth): New function.
22425 (get_startwidth): Likewise.
22426 (print_ucs4_terminal): Likewise.
22427 (find_term_state): Likewise.
22428 (put_glyphs_terminal): Likewise.
22429 (print_backlog): Likewise.
22430 (print_ucs4_real): Likewise.
22431 (grub_print_ucs4): Likewise.
22432 (grub_xputs_normal): Likewise.
22433 * term/efi/console.c (grub_console_putchar): Output diacritics.
22434 (grub_console_getcharwidth): Removed.
22435 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22436 * term/gfxterm.c (clear_char): Free chars.
22437 (scroll_up): Avoid leaking memory.
22438 (grub_gfxterm_putchar): Support diacritics.
22439 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22440 * term/i386/pc/console.c (grub_console_term_output): Declare as
22441 GRUB_TERM_CODE_TYPE_VGA.
22442 * term/i386/pc/vga.c (grub_vga_term): Declare as
22443 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22444 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22445 GRUB_TERM_CODE_TYPE_VGA.
22446 * term/i386/vga_common.c (map_char): Removed.
22447 (grub_console_putchar): Likewise.
22448 (grub_console_getcharwidth): Likewise.
22449 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22450 (colors): Reordered to match terminfo.
22451 (grub_ofconsole_normal_color): Removed.
22452 (grub_ofconsole_writeesc): Likewise.
22453 (grub_ofconsole_highlight_color): Likewise.
22454 (grub_ofconsole_getcharwidth): Likewise.
22455 (grub_ofconsole_setcolorstate): Likewise.
22456 (grub_ofconsole_setcolor): Likewise.
22457 (grub_ofconsole_getcolor): Likewise.
22458 (grub_ofconsole_readkey): Renamed to ...
22459 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22460 key.
22461 (grub_ofconsole_checkkey): Removed.
22462 (grub_ofconsole_getkey): Likewise.
22463 (grub_ofconsole_getxy): Likewise.
22464 (grub_ofconsole_gotoxy): Likewise.
22465 (grub_ofconsole_cls): Likewise.
22466 (grub_ofconsole_refresh): Likewise.
22467 (grub_ofconsole_terminfo_input): New struct.
22468 (grub_ofconsole_terminfo_output): Likewise.
22469 (grub_ofconsole_term_input): Use terminfo.
22470 (grub_ofconsole_term_output): Likewise.
22471 (grub_console_init): Split into ...
22472 (grub_console_init_early): ...this and ...
22473 (grub_console_init_lately): ...this. Use terminfo.
22474 (grub_ofconsole_putchar): Renamed to ...
22475 (put): ... this. Remove mapping.
22476 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22477 * term/serial.c: Simplify using terminfo.
22478 (xpos): Removed.
22479 (ypos): Likewise.
22480 (keep_track): Likewise.
22481 (registered): Likewise.
22482 (input_buf): Likewise.
22483 (npending): Likewise.
22484 (serial_translate_key_sequence): Likewise.
22485 (fill_input_buf): Likewise.
22486 (grub_serial_checkkey): Likewise.
22487 (grub_serial_getkey): Likewise.
22488 (grub_serial_getxy): Likewise.
22489 (grub_serial_gotoxy): Likewise.
22490 (grub_serial_putchar): Likewise.
22491 (grub_serial_cls): Likewise.
22492 (grub_serial_setcolorstate): Likewise.
22493 (grub_serial_setcursor): Likewise.
22494 (serial_hw_init): Use serial_hw_fetch.
22495 (grub_serial_terminfo_input): New variable.
22496 (grub_serial_terminfo_output): Likewise.
22497 (grub_serial_term_input): Use terminfo.
22498 (grub_serial_term_output): Likewise.
22499 * term/terminfo.c (putstr): Use put.
22500 (grub_terminfo_all_free): New function
22501 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22502 (grub_terminfo_output_register): New function.
22503 (grub_terminfo_output_unregister): Likewise.
22504 (grub_terminfo_getxy): Likewise.
22505 (grub_terminfo_readkey): Likewise.
22506 (grub_terminfo_checkkey): Likewise.
22507 (grub_terminfo_getkey): Likewise.
22508 (grub_terminfo_input_init): Likewise.
22509 (print_terminfo): Likewise.
22510 (grub_cmd_terminfo): Handle encoding.
22511 (grub_terminfo_gotoxy): Track position.
22512 (grub_terminfo_cls): Likewise.
22513 (grub_terminfo_putchar): Likewise.
22514 (grub_terminfo_setcolorstate): Handle colors
22515 (grub_terminfo_cursor_on): This ...
22516 (grub_terminfo_cursor_off): ... and this merged into ...
22517 (grub_terminfo_setcursor): ... this.
22518 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22519 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22520 * unicode/BidiMirroring.txt: Likewise.
22521 * unicode/UnicodeData.txt: Likewise.
22522 * unicode/COPYING: Likewise.
22523 * util/grub-editenv.c (grub_putchar): Removed.
22524 (grub_xputs_real): New function.
22525 (grub_xputs): New variable.
22526 * util/grub-fstest.c (grub_putchar): Removed.
22527 (grub_xputs_real): New function.
22528 (grub_xputs): New variable.
22529 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22530 (grub_xputs_real): New function.
22531 (grub_xputs): New variable.
22532 * util/grub-probe.c (grub_putchar): Removed.
22533 (grub_xputs_real): New function.
22534 (grub_xputs): New variable.
22535 * util/grub-script-check.c (grub_putchar): Removed.
22536 (grub_xputs_real): New function.
22537 (grub_xputs): New variable.
22538 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22539 (grub_xputs_real): New function.
22540 (grub_xputs): New variable.
22541 * util/import_unicode.py: New file.
22542 * util/grub-mkfont.c (ft_errmsgs): New array.
22543 (grub_glyph_info): Make bitmap a pointer.
22544 (file_formats): New type WIDTH_SPEC.
22545 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22546 (options): Add width-spec.
22547 (help): Likewise.
22548 (add_char): Renamed to ...
22549 (add_glyph): ... this.
22550 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22551 (glyph_replace): New type.
22552 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22553 (add_char): New function.
22554 (add_subst): Likewise.
22555 (process_cursive): Likewise.
22556 (add_font): Handle GSUB.
22557 (write_font_width_spec): New function.
22558 (main): Sort glyphs.
22559 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22560 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22561 * kern/term.c (grub_cls): Moved from here...
22562 * normal/term.c (grub_cls): ... here.
22563
50f0bcda
CW
225642010-07-02 Colin Watson <cjwatson@ubuntu.com>
22565
22566 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22567 suitable for using within the format argument of printf when
22568 converting grub_size_t.
22569 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22570 "x" to convert grub_size_t arguments.
22571
40372103
VS
225722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22573
22574 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22575 too long captions.
22576 (list_get_minimal_size): Take selection box into account.
22577
942a10c7
VS
225782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22579
22580 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22581 NULL font.
22582
2bdb2892
CW
225832010-07-02 Colin Watson <cjwatson@ubuntu.com>
22584
22585 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22586 devices when iterating over /dev/disk/by-id; they will be handled
22587 later if appropriate, which they aren't always (e.g. LVM).
22588
e03ed6c1
CW
225892010-07-02 Colin Watson <cjwatson@ubuntu.com>
22590
22591 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22592 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22593 fails.
22594 (grub_halt): Likewise.
22595 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22596 reset-all fails.
22597 (grub_halt): Don't return, even if all of shut-down, power-off, and
22598 poweroff fail.
22599
47695765
CW
226002010-07-02 Colin Watson <cjwatson@ubuntu.com>
22601
22602 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22603 arguments, not three.
22604
507736c8
CW
226052010-07-02 Colin Watson <cjwatson@ubuntu.com>
22606
22607 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22608 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22609 LVM-on-RAID is handled correctly.
22610
e3c8cd37
CW
226112010-07-02 Colin Watson <cjwatson@ubuntu.com>
22612
22613 * docs/grub.texi (Changes from GRUB Legacy): New section.
22614 (Future): Fix typo.
22615
8d4a2fec
CW
226162010-07-02 Colin Watson <cjwatson@ubuntu.com>
22617
22618 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22619 grub.d/README accidentally ends up executable for one reason or
22620 another. Ignore it.
22621
1c4827be
VS
226222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22625 (gpt_partition_map_iterate): Support non-512B sectors.
22626
d9a0c941
VS
226272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22628
22629 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22630 Tested by: Seth Goldberg.
22631
48f27e87
VS
226322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22633
22634 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22635 Properly align mbi.
22636 Reported by: Seth Goldberg.
22637
b0c4f956
VS
226382010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22639
22640 * util/grub-mkrescue.in: Avoid module duplication.
22641
105a2e8c
SF
226422010-07-01 Sean Finney <seanius@seanius.net>
22643
22644 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22645
5944958c
SF
226462010-07-01 Sean Finney <seanius@seanius.net>
22647
22648 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22649
226502010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 * disk/lvm.c (grub_lvm_checkvalue): New function.
22653 (grub_lvm_check_flag): Likewise.
22654
b79889ba
RM
226552010-07-01 Robert Millan <rmh@gnu.org>
22656
22657 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22658 Support 'p' as partition separator on kernel of FreeBSD (used
22659 with GPT labels).
22660 (grub_util_biosdisk_get_grub_dev): Likewise.
22661
ec1d04f1
VS
226622010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22663
22664 Yeeloong firmware port.
22665
22666 * boot/mips/yeeloong/fwstart.S: New file.
22667 * bus/cs5536.c (gpiodump): New const.
22668 (set_io_space): New function.
22669 (set_iod): Likewise.
22670 (set_p2d): Likewise.
22671 (grub_cs5536_init_geode): Likewise.
22672 * commands/mips/yeeloong/lsspd.c: New file.
22673 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22674 (serial_mod_SOURCES): New variable.
22675 (serial_mod_CFLAGS): Likewise.
22676 (serial_mod_LDFLAGS): Likewise.
22677 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22678 term/terminfo.c and term/tparm.c.
22679 (pkglib_IMAGES): Add fwstart.img.
22680 (fwstart_img_SOURCES): New variable.
22681 (fwstart_img_CFLAGS): Likewise.
22682 (fwstart_img_ASFLAGS): Likewise.
22683 (fwstart_img_LDFLAGS): Likewise.
22684 (fwstart_img_FORMAT): Likewise.
22685 (pkglib_MODULES): Add lsspd.mod.
22686 (lsspd_mod_SOURCES): New variable.
22687 (lsspd_mod_CFLAGS): Likewise.
22688 (lsspd_mod_LDFLAGS): Likewise.
22689 (pkglib_MODULES): Add halt.mod.
22690 (halt_mod_SOURCES): New variable.
22691 (halt_mod_CFLAGS): Likewise.
22692 (halt_mod_LDFLAGS): Likewise.
22693 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22694 (serial_mod_SOURCES): Removed.
22695 (serial_mod_CFLAGS): Likewise.
22696 (serial_mod_LDFLAGS): Likewise.
22697 * disk/ata.c (check_device): New function.
22698 (grub_ata_device_initialize): Use check_device.
22699 (grub_ata_iterate): Recheck devices.
22700 (grub_ata_open): Likewise.
22701 (grub_atapi_iterate): Likewise.
22702 (grub_atapi_open): Likewise.
22703 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22704 (GRUB_ATA_CH1_PORT1): Likewise.
22705 (GRUB_ATA_CH0_PORT2): Likewise.
22706 (GRUB_ATA_CH1_PORT2): Likewise.
22707 * include/grub/mips/loongson.h: New file.
22708 * include/grub/mips/yeeloong/ec.h: Likewise.
22709 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22710 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22711 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22712 * include/grub/misc.h (grub_halt): Declare as noreturn.
22713 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22714 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22715 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22716 (UART_ENABLE_DTRRTS): Likewise.
22717 (UART_ENABLE_MODEM): Removed.
22718 (UART_ENABLE_OUT2): New const.
22719 * include/grub/term.h (grub_term_register_input_active): New function.
22720 (grub_term_register_output_active): Likewise.
22721 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22722 argument.
22723 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22724 (init_pci): New function.
22725 (grub_machine_init): Execute platform init when firmware. Init serial.
22726 (grub_halt): Implement.
22727 (grub_exit): Likewise.
22728 (grub_reboot): Likewise.
22729 * term/serial.c (serial_hw_init): Update macros.
22730 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22731 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22732 (image_targets): New target mipsel-yeeloong-flash.
22733 (generate_image): Support IMAGE_YEELOONG_FLASH.
22734 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22735 (grub_video_sm712_setup): Init card.
22736 (grub_video_sm712_set_palette): Removed.
22737 * video/sm712_init.c: New file.
22738
ff4a70d2
CW
227392010-06-30 Colin Watson <cjwatson@ubuntu.com>
22740
22741 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22742 PATH when running help2man and then run it on the unadorned
22743 executable names, rather than passing $(builddir)/* paths to
22744 help2man. This avoids the build directory ending up in generated
22745 manual pages.
22746
1246efeb
CW
227472010-06-29 Colin Watson <cjwatson@ubuntu.com>
22748
22749 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22750 to avoid accidents when debugging with 'sh -x'.
22751 * util/grub-mkrescue.in: Likewise.
22752 * util/grub.d/00_header.in: Likewise.
22753 * util/grub.d/10_hurd.in: Likewise.
22754 * util/grub.d/10_kfreebsd.in: Likewise.
22755 * util/grub.d/10_linux.in: Likewise.
22756 * util/grub.d/10_netbsd.in: Likewise.
22757 * util/grub.d/10_windows.in: Likewise.
22758 * util/grub.d/20_linux_xen.in: Likewise.
22759 * util/grub.d/30_os-prober.in: Likewise.
22760 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22761
1ba9b889
CW
227622010-06-29 Colin Watson <cjwatson@ubuntu.com>
22763
22764 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22765 last character in the buffer.
22766 Reported by: Vladimir Serbinenko.
22767
dccaf99d
RM
227682010-06-29 Robert Millan <rmh@gnu.org>
22769
22770 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22771 (Command-line and menu entry commands): Document `badram' command.
22772
d500ed12
RM
227732010-06-28 Robert Millan <rmh@gnu.org>
22774
22775 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22776 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22777 command using ${GRUB_BADRAM} as parameter.
22778
20bc84a6
CW
227792010-06-28 Colin Watson <cjwatson@ubuntu.com>
22780
22781 * docs/grub.texi (Device map): New section.
22782 (Themes): New section (stub).
22783 * Makefile.in (docs/grub.info): The info documentation now builds
22784 without errors. Make sure it stays that way.
22785
4045dee1
VS
227862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 Use normal parser for menu entries.
22789 Reported by: Thomas Frauendorfer
22790
22791 * include/grub/parser.h (grub_parser_execute): Don't export.
22792 * normal/menu.c (grub_menu_execute_entry_real): New function.
22793 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22794
bca58c7b
CW
227952010-06-28 Colin Watson <cjwatson@ubuntu.com>
22796
22797 * docs/grub.texi (Embedded configuration): New section (replacing
22798 old "Preset Menu" stub).
22799 (Images): New section.
22800 (configfile): Note that any menu entries defined in `file' are shown
22801 immediately.
22802
dec53e63
JT
228032010-06-28 Josh Triplett <josh@joshtriplett.org>
22804
22805 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22806
c06e40f7
CW
228072010-06-28 Colin Watson <cjwatson@ubuntu.com>
22808
22809 * util/grub-install.in: Add --debug-image= option.
22810
cb88052b
CW
228112010-06-28 Colin Watson <cjwatson@ubuntu.com>
22812
22813 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22814 possible on Linux.
22815
22816 * util/deviceiter.c (check_device): Rename to ...
22817 (check_device_readable_unique): ... this. Update all callers.
22818 Maintain and check a list of which devices (by canonicalized name)
22819 have already been seen.
22820 (clear_seen_devices): New function.
22821 (compare_file_names) [__linux__]: New function.
22822 (grub_util_iterate_devices): Clear the list of seen devices on exit
22823 and (just in case) on entry.
22824 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22825 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22826 seen-devices list, superseded by general code in check_device.
22827
bbe34652
CW
228282010-06-28 Colin Watson <cjwatson@ubuntu.com>
22829
22830 * commands/cat.c (options): New variable.
22831 (grub_cmd_cat): Parse options. If the --dos option is given, print
22832 DOS-style "\r\n" line endings as simple newlines (Debian bug
22833 #586358).
22834 (GRUB_MOD_INIT): Use extcmd.
22835 (GRUB_MOD_FINI): Likewise.
22836 * docs/grub.texi (cat): Document --dos.
22837
412e09f3
VS
228382010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22839
22840 XEN with Linux grub-mkconfig support.
22841
22842 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22843 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22844 GRUB_CMDLINE_XEN_DEFAULT.
22845 * util/grub.d/20_linux_xen.in: New file.
22846
53f3ef38 228472010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22848
22849 Initialise VGA video on qemu ourselves.
22850
22851 * boot/i386/qemu/boot.S: Don't call 0xc000.
22852 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22853 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22854 (kernel_img_HEADERS): Add pci.h.
22855 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22856 * configure.ac: Force unifont on qemu and yeeloong.
22857 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22858 (grub_vga_palette_write): Use correct register.
22859 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22860 Call grub_qemu_init_cirrus.
22861 * kern/i386/qemu/init.c: New file.
22862 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22863
22864 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22865
c75be4fb
PR
228662010-06-26 Pavel Roskin <proski@gnu.org>
22867
22868 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22869 13.
22870
d8034603
CW
228712010-06-26 Colin Watson <cjwatson@ubuntu.com>
22872
22873 * docs/grub.texi (Simple configuration): Explain that
22874 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22875 set to `true' to disable their respective recovery entries, not
22876 merely set.
22877
3fa06487
CW
228782010-06-26 Colin Watson <cjwatson@ubuntu.com>
22879
22880 Make the `source' command slightly faster.
22881
22882 * normal/main.c (grub_normal_execute): Don't re-read list files when
22883 nested.
22884
e9b29642
CW
228852010-06-23 Colin Watson <cjwatson@ubuntu.com>
22886
22887 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22888 field position and mask size to red fields from mode_info, not
22889 green.
22890 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22891 Remove redundant tag->common.framebuffer_type assignment.
22892 Reported by: Seth Goldberg.
22893
e726542f
CW
228942010-06-23 Colin Watson <cjwatson@ubuntu.com>
22895
22896 Sync up other versions of the Linux loader with Robert Millan's
22897 change of 2010-01-09, "Make loader output a bit more user-friendly".
22898
22899 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22900 grub_dprintf().
22901 (grub_cmd_linux): Likewise.
22902 (grub_cmd_initrd): Likewise.
22903 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22904 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22905
d6e98a17
CW
229062010-06-21 Colin Watson <cjwatson@ubuntu.com>
22907
22908 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22909 larger than MEMORY_MAP_SIZE.
22910
14d3f08e
BC
229112010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22912
22913 Fix parallel build.
22914
22915 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22916 dependency.
22917 * script/parser.y: #include grub_script.tab.h header.
22918
4f9613a3
VS
229192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22920
22921 Support >3GiB and <16MiB RAM in i386-qemu.
22922
22923 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22924 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22925 (grub_lower_mem): Removed.
22926 (grub_upper_mem): Likewise.
22927 (mem_size): Made static.
22928 (above_4g): New variable.
22929 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22930 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22931 support.
22932
05e51879
VS
229332010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 Cirrus 5446 and Bochs video cards support.
22936
22937 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22938 video_bochs.mod
22939 (video_cirrus_mod_SOURCES): New variable.
22940 (video_cirrus_mod_CFLAGS): Likewise.
22941 (video_cirrus_mod_LDFLAGS): Likewise.
22942 (video_bochs_mod_SOURCES): Likewise.
22943 (video_bochs_mod_CFLAGS): Likewise.
22944 (video_bochs_mod_LDFLAGS): Likewise.
22945 * include/grub/vga.h: New file.
22946 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22947 (grub_video_fb_set_page_t): New type.
22948 (grub_video_fb_setup): New prototype.
22949 (grub_video_fb_swap_buffers): Likewise.
22950 (grub_video_fb_get_info_and_fini): Likewise.
22951 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22952 (CRTC_DATA_PORT): Likewise.
22953 (CRTC_CURSOR): Likewise.
22954 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22955 (CRTC_CURSOR_ADDR_LOW): Likewise.
22956 (CRTC_CURSOR_DISABLE): Likewise.
22957 (update_cursor): Use grub_vga_cr_write.
22958 (grub_vga_text_setcursor): Likewise.
22959 * video/bochs.c: New file.
22960 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22961 (palette): Likewise.
22962 (palette_size): Likewise.
22963 (framebuffer): New variable.
22964 (grub_video_fb_init): Use 'framebuffer'.
22965 (grub_video_fb_fini): Likewise.
22966 (grub_video_fb_get_info): Likewise.
22967 (grub_video_fb_get_palette): Likewise.
22968 (grub_video_fb_set_palette): Likewise.
22969 (grub_video_fb_set_viewport): Likewise.
22970 (grub_video_fb_get_viewport): Likewise.
22971 (grub_video_fb_map_color): Likewise.
22972 (grub_video_fb_map_rgb): Likewise.
22973 (grub_video_fb_map_rgba): Likewise.
22974 (grub_video_fb_unmap_color): Likewise.
22975 (grub_video_fb_unmap_color_int): Likewise.
22976 (grub_video_fb_fill_rect): Likewise.
22977 (grub_video_fb_blit_bitmap): Likewise.
22978 (grub_video_fb_blit_render_target): Likewise.
22979 (grub_video_fb_scroll): Likewise.
22980 (grub_video_fb_create_render_target): Likewise.
22981 (grub_video_fb_doublebuf_blit_init): Likewise.
22982 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22983 (doublebuf_pageflipping_update_screen): New function.
22984 (doublebuf_pageflipping_init): Likewise.
22985 (grub_video_fb_setup): Likewise.
22986 (grub_video_fb_swap_buffers): Likewise.
22987 (grub_video_fb_get_info_and_fini): Likewise.
22988 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22989 All users updated.
22990 (doublebuf_pageflipping_commit): Restructured into ...
22991 (doublebuf_pageflipping_set_page): ... this.
22992 (doublebuf_pageflipping_update_screen): Removed.
22993 (doublebuf_pageflipping_init): Likewise.
22994 (double_buffering_init): Likewise.
22995 (grub_video_vbe_setup): Use grub_video_fb_setup.
22996 (grub_video_vbe_swap_buffers): Removed.
22997 (grub_video_vbe_set_active_render_target): Likewise.
22998 (grub_video_vbe_get_active_render_target): Likewise.
22999 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23000 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23001 grub_video_fb_set_active_render_target and
23002 grub_video_fb_get_active_render_target.
23003 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23004 (SEQUENCER_DATA_PORT): Likewise.
23005 (MAP_MASK_REGISTER): Likewise.
23006 (CRTC_ADDR_PORT): Likewise.
23007 (CRTC_DATA_PORT): Likewise.
23008 (START_ADDR_HIGH_REGISTER): Likewise.
23009 (START_ADDR_LOW_REGISTER): Likewise.
23010 (GRAPHICS_ADDR_PORT): Likewise.
23011 (GRAPHICS_DATA_PORT): Likewise.
23012 (READ_MAP_REGISTER): Likewise.
23013 (INPUT_STATUS1_REGISTER): Likewise.
23014 (INPUT_STATUS1_VERTR_BIT): Likewise.
23015 (get_map_mask): Use grub_vga_sr_read.
23016 (set_map_mask): Use grub_vga_sr_write.
23017 (set_read_map): Use grub_vga_gr_write.
23018 (set_start_address): Use grub_vga_cr_write.
23019 * video/sm712.c (framebuffer): Remove leftover fields.
23020
4321c64a
CW
230212010-06-20 Colin Watson <cjwatson@ubuntu.com>
23022
23023 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23024 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23025 instead. Replace the gfxterm backend check with a check that
23026 ${GRUB_PREFIX}/video.lst is non-empty.
23027 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23028 again.
23029 (load_video): New generated function. Call it before loading
23030 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23031 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23032 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23033 * docs/grub.texi (Simple configuration): Document
23034 GRUB_VIDEO_BACKEND.
23035
230362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 Use video functions in linux and xnu loaders.
23039
23040 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23041 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23042 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23043 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23044 loader/i386/pc/linux.c.
23045 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23046 (find_line_len): Removed.
23047 (find_framebuf): Likewise.
23048 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23049 * loader/i386/efi/xnu.c: Removed.
23050 * loader/i386/pc/xnu.c: Moved from here...
23051 * loader/i386/xnu.c: ...here.
23052
23053 Enable priorities in video drivers.
23054
23055 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23056 (grub_video_adapter): New field prio.
23057 (grub_video_register): Respect prio when inserting.
23058 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23059 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23060 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23061 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23062 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23063 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23064 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23065
23066 Fix SDL driver ID.
23067
23068 * include/grub/video.h (grub_video_driver_id_t): New value
23069 GRUB_VIDEO_DRIVER_SDL.
23070 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23071
7d24e434
CW
230722010-06-17 Colin Watson <cjwatson@ubuntu.com>
23073
23074 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23075 argument to printf.
23076 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23077
c88a83f6
CW
230782010-06-17 Colin Watson <cjwatson@ubuntu.com>
23079
23080 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23081 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23082
094dfb69
CW
230832010-06-17 Colin Watson <cjwatson@ubuntu.com>
23084
23085 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23086 directly, and recommend grub-install instead.
23087 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23088
2164da6b
CW
230892010-06-17 Colin Watson <cjwatson@ubuntu.com>
23090
23091 Fix i386-pc prefix handling with nested partitions (Debian bug
23092 #585068). Note that the case where the core image is booted using
23093 multiboot and relocated from its original location still requires
23094 more work.
23095
23096 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23097 with "(,", fill the boot drive in between those two characters, but
23098 expect that a full partition specification including partition map
23099 names will follow.
23100 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23101 specified, write a prefix without the drive name but including a
23102 full partition specification.
23103
044e2e60
CW
231042010-06-16 Colin Watson <cjwatson@ubuntu.com>
23105
23106 * util/grub-mkconfig.in: Ignore non-option arguments, for
23107 compatibility with older versions (before 2010-06-12) which did the
23108 same. In particular, this makes it easier to ship an update-grub
23109 wrapper which is compatible with that used with GRUB Legacy (Debian
23110 bug #586056).
23111
5591324f
GS
231122010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23113
23114 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23115 for manual page generation.
23116
662e24d5
GS
231172010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23118
23119 * po/POTFILES: Remove leftover commands/handler.c.
23120
8d70754e
CW
231212010-06-14 Colin Watson <cjwatson@ubuntu.com>
23122
23123 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23124 left this script non-functional.
23125
41160e2e
CW
231262010-06-14 Colin Watson <cjwatson@ubuntu.com>
23127
23128 * docs/man/grub-emu.h2m: New file.
23129
b5309cc1
CW
231302010-06-13 Colin Watson <cjwatson@ubuntu.com>
23131
23132 * docs/grub.texi (Commands): Document reduced command set in rescue
23133 mode.
23134 (cpuid): New section.
23135
fcb2d090
GS
231362010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23137
23138 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23139 new partition naming style.
23140 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23141
96e5c556
BC
231422010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23143
23144 Add "-o grub.iso" like cmdline options support.
23145
23146 * util/grub-install.in: Improve cmdline option parsing.
23147 * util/grub-mkconfig.in: Likewise.
23148 * util/grub-mkrescue.in: Likewise.
23149 * util/grub-reboot.in: Likewise.
23150 * util/grub-set-default.in: Likewise.
23151 * util/i386/efi/grub-install.in: Likewise.
23152 * util/ieee1275/grub-install.in: Likewise.
23153 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23154
c16be99b
CW
231552010-06-12 Colin Watson <cjwatson@ubuntu.com>
23156
23157 * .bzrignore: Ignore 41_custom.
23158
ce08a9fb
TS
231592010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23160
23161 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23162
7beac90c
CW
231632010-06-12 Colin Watson <cjwatson@ubuntu.com>
23164
23165 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23166 prototype declarations.
23167
23168 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23169 generating fs, partmap, and video lists.
23170 * include/grub/fs.h (grub_fs_register): Omit prototype if
23171 GRUB_LST_GENERATOR is defined.
23172 * include/grub/partition.h (grub_partition_map_register): Likewise.
23173 * include/grub/video.h (grub_video_register): Likewise.
23174
1c8f0f8d
JM
231752010-06-12 Javier Martín <lordhabbit@gmail.com>
23176
23177 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23178
a6085973
TS
231792010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23180
23181 * util/grub-mkrescue.in: Support --xorriso argument.
23182
25c56d29
VS
231832010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23186 Suggested by: Thomas Schmitt.
23187
e03e4b24
VS
231882010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23189
23190 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23191 Suggested by: Thomas Schmitt.
23192
57711df6
VS
231932010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 custom.cfg support.
23196
23197 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23198 * util/grub.d/41_custom.in: New file.
23199
ee62c427
CW
232002010-06-12 Colin Watson <cjwatson@ubuntu.com>
23201
23202 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23203 been merged back into normal.
23204
283af07a
CW
232052010-06-11 Colin Watson <cjwatson@ubuntu.com>
23206
23207 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23208 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23209
56a0d956
CW
232102010-06-11 Colin Watson <cjwatson@ubuntu.com>
23211
23212 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23213 when generating manual pages.
23214 * docs/man/grub-bin2h.h2m: New file.
23215 * docs/man/grub-editenv.h2m: New file.
23216 * docs/man/grub-fstest.h2m: New file.
23217 * docs/man/grub-install.h2m: New file.
23218 * docs/man/grub-macho2img.h2m: New file.
23219 * docs/man/grub-mkconfig.h2m: New file.
23220 * docs/man/grub-mkdevicemap.h2m: New file.
23221 * docs/man/grub-mkfont.h2m: New file.
23222 * docs/man/grub-mkimage.h2m: New file.
23223 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23224 * docs/man/grub-mkrelpath.h2m: New file.
23225 * docs/man/grub-mkrescue.h2m: New file.
23226 * docs/man/grub-ofpathname.h2m: New file.
23227 * docs/man/grub-pe2elf.h2m: New file.
23228 * docs/man/grub-probe.h2m: New file.
23229 * docs/man/grub-reboot.h2m: New file.
23230 * docs/man/grub-script-check.h2m: New file.
23231 * docs/man/grub-set-default.h2m: New file.
23232 * docs/man/grub-setup.h2m: New file.
23233
3a37e322
VS
232342010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23235
23236 Use FOR_* macros instead of *_iterate whenever possible.
23237
23238 * commands/handler.c: Removed.
23239 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23240 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23241 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23242 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23243 (grub_probe_SOURCES): Remove kern/parser.c.
23244 (util/grub-script-check.c_DEPENDENCIES): Removed.
23245 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23246 and grub_script_check_init.c.
23247 (grub_script_check_init.lst): Removed.
23248 (grub_script_check_init.h): Likewise.
23249 (grub_script_check_init.c): Likewise.
23250 (pkglib_MODULES): Remove handler.mod and sh.mod.
23251 (handler_mod_SOURCES): Removed.
23252 (handler_mod_CFLAGS): Likewise.
23253 (handler_mod_LDFLAGS): Likewise.
23254 (normal_mod_SOURCES): Remove normal/handler.c.
23255 Add script/main.c, script/script.c, script/execute.c,
23256 script/function.c, script/lexer.c, grub_script.tab.c
23257 and grub_script.yy.c.
23258 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23259 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23260 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23261 (grub_setup_SOURCES): Remove kern/parser.c.
23262 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23263 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23264 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23265 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23266 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23267 (grub_setup_SOURCES): Remove kern/parser.c.
23268 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23269 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23270 * include/grub/command.h (grub_command_iterate): Removed.
23271 (FOR_COMMANDS): New macro.
23272 * include/grub/dl.h (grub_dl): New member next.
23273 (grub_dl_iterate): Removed.
23274 (grub_dl_head): New variable declaration.
23275 (FOR_DL_MODULES): New macro.
23276 * include/grub/fs.h: Include list.h.
23277 (grub_fs): Make next first element.
23278 (grub_fs_list): New variable declaration.
23279 (grub_fs_register): Make inline.
23280 (grub_fs_unregister): Likewise.
23281 (grub_fs_iterate): Removed.
23282 (FOR_FILESYSTEMS): New macro.
23283 * include/grub/handler.h: Removed.
23284 * include/grub/list.h (grub_list_hook_t): Removed.
23285 (grub_list_test_t): Likewise.
23286 (grub_list_pop): Likewise.
23287 (grub_list_iterate): Likewise.
23288 (grub_list_insert): Likewise.
23289 (FOR_LIST_ELEMENTS): New macro.
23290 * include/grub/parser.h (grub_parser_class): Removed.
23291 (grub_parser_register): Likewise.
23292 (grub_parser_unregister): Likewise.
23293 (grub_parser_get_current): Likewise.
23294 (grub_parser_set_current): Likewise.
23295 (grub_register_rescue_parser): Likewise.
23296 (grub_rescue_parse_line): New function.
23297 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23298 * include/grub/script_sh.h (grub_script_function_list): New variable
23299 declaration.
23300 (FOR_SCRIPT_FUNCTIONS): New macro.
23301 (grub_script_function_iterate): Removed.
23302 (grub_normal_parse_line): New prototype.
23303 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23304 (FOR_DISABLED_TERM_INPUTS): Likewise.
23305 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23306 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23307 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23308 element.
23309 (grub_video_register): Inline.
23310 (grub_video_unregister): Likewise.
23311 (grub_video_adapter_list): New variable declaration.
23312 (grub_video_iterate): Removed.
23313 (FOR_VIDEO_ADAPTERS): New macro.
23314 * kern/dl.c (grub_dl_list): Removed. All users updated.
23315 (grub_dl_iterate): Removed.
23316 * kern/fs.c (grub_fs_list): Make global.
23317 (grub_fs_register): Removed.
23318 (grub_fs_unregister): Likewise.
23319 (grub_fs_iterate): Likewise.
23320 * kern/handler.c: Removed.
23321 * kern/list.c (grub_list_pop): Removed.
23322 (grub_list_iterate): Likewise.
23323 (grub_list_insert): Likewise.
23324 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23325 (grub_prio_list_insert): Don't use grub_list_insert.
23326 * kern/main.c (grub_register_rescue_parser): Don't call
23327 grub_register_rescue_parser.
23328 * kern/parser.c (grub_parser_class): Removed.
23329 (grub_parser_execute): Use grub_rescue_parse_line.
23330 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23331 (grub_rescue_parser): Removed.
23332 (grub_register_rescue_parser): Likewise.
23333 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23334 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23335 (grub_auth_check_authentication): Likewise.
23336 * normal/completion.c (iterate_command): Removed.
23337 (grub_normal_do_completion): Use FOR_COMMANDS.
23338 * normal/handler.c: Removed.
23339 * normal/main.c (read_config_file): Remove parser changing.
23340 (grub_normal_execute): Don't call read_handler_list.
23341 (grub_normal_read_line_real): Statically allocate prompt.
23342 (grub_cmdline_run): Use grub_normal_parse_line.
23343 (GRUB_MOD_FINI): Don't call free_handler_list.
23344 * normal/menu_entry.c (run): Likewise.
23345 * script/function.c (grub_script_function_list): Make global.
23346 (grub_script_function_iterate): Removed.
23347 * script/main.c (grub_normal_parse_line): Make global.
23348 (grub_sh_parser): Removed.
23349 (GRUB_MOD_INIT): Likewise.
23350 (GRUB_MOD_FINI): Likewise.
23351 * tests/lib/functional_test.c (grub_functional_test): Use
23352 FOR_LIST_ELEMENTS.
23353 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23354 (grub_test_run): Use FOR_LIST_ELEMENTS.
23355 * tests/lib/unit_test.c (main): Likewise.
23356 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23357 grub_list_pop.
23358 * util/grub-fstest.c (grub_term_input_class): Removed.
23359 (grub_term_output_class): Likewise.
23360 * util/grub-probe.c: Likewise.
23361 * util/i386/pc/grub-setup.c: Likewise.
23362 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23363 * util/grub-script-check.c (main): Don't call grub_init_all and
23364 grub_fini_all.
23365 * video/video.c (grub_video_adapter_list): Make global.
23366 (grub_video_register): Removed.
23367 (grub_video_unregister): Likewise.
23368 (grub_video_iterate): Likewise.
23369
6289c3a7
VS
233702010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23371
23372 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23373 reported by Henrique Ferreiro.
23374
91460247
RM
233752010-06-09 Robert Millan <rmh@gnu.org>
23376
23377 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23378 ones, when both are available.
23379
0ea7c4f9
GS
233802010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23381
23382 Make --version uniform and avoid hard-coded program name.
23383
23384 * util/grub-mkimage.c (main): Use `program_name' instead of
23385 hard-coded string.
23386 * util/i386/pc/grub-setup.c (main): Likewise.
23387 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23388 * util/grub-install.in: Save the basename of $0 in $self, and use the
23389 latter in informational messages. Use the same format for --version
23390 as the binary programs.
23391 * util/grub-mkconfig.in: Likewise.
23392 * util/grub-mkrescue.in: Likewise.
23393 * util/grub-reboot.in: Likewise.
23394 * util/grub-set-default.in: Likewise.
23395 * util/i386/efi/grub-install.in: Likewise.
23396 * util/ieee1275/grub-install.in: Likewise.
23397 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23398
e8a6f3b6
GS
233992010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23400
23401 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23402 embedding area. Use <= instead of == when checking for non-emptiness.
23403
f4d095d7
GS
234042010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23405
23406 * configure.ac: Add `.' to the directories searched for unifont.
23407
50e532ca
CW
234082010-06-08 Colin Watson <cjwatson@ubuntu.com>
23409
23410 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23411 grub_script.yy.h.
23412
d39f3dec
CW
234132010-06-08 Colin Watson <cjwatson@ubuntu.com>
23414
23415 * docs/grub.texi (History): Expand to cover GRUB 2.
23416 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23417 commands, not `terminal'.
23418 (serial): Likewise.
23419 (terminal_input): New section.
23420 (terminal_output): New section.
23421 (uppermem): New section (stub).
23422 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23423
6ef0ddb4
CW
234242010-06-08 Colin Watson <cjwatson@ubuntu.com>
23425
23426 * docs/grub.texi (Security): Menu entries are unrestricted by
23427 default, not restricted to superusers as I had previously thought.
23428 Reword to account for this.
23429
e0f4c438
CW
234302010-06-07 Colin Watson <cjwatson@ubuntu.com>
23431
23432 * kern/emu/misc.c (device_mapper_null_log): New function.
23433 (grub_device_mapper_supported): New function.
23434 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23435 prototype.
23436 * kern/emu/hostdisk.c (find_partition_start): Check whether
23437 device-mapper is supported before trying to use it.
23438 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23439
da908200
CW
234402010-06-07 Colin Watson <cjwatson@ubuntu.com>
23441
23442 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23443 (File name syntax): Likewise.
23444 (help): --all is no longer supported in GRUB 2. Be more precise
23445 about pattern matching.
23446
fb55c3ac
CW
234472010-06-07 Colin Watson <cjwatson@ubuntu.com>
23448
23449 * normal/completion.c (grub_normal_do_completion): When completing
23450 arguments to "set" and the current word contains an equals sign,
23451 skip to after the equals sign before starting completion.
23452
258c2573
CW
234532010-06-07 Colin Watson <cjwatson@ubuntu.com>
23454
23455 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23456
ee75515e
CW
234572010-06-07 Colin Watson <cjwatson@ubuntu.com>
23458
23459 * docs/grub.texi (Network): New section.
23460 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23461 `(nd)' as in GRUB Legacy.
23462 (pxe_unload): New section.
23463
a6a700aa
CW
234642010-06-07 Colin Watson <cjwatson@ubuntu.com>
23465
23466 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23467 in the rescue shell, so recommend using `set' instead. Thanks,
23468 Jordan Uggla.
23469
4003dd38
CW
234702010-06-07 Colin Watson <cjwatson@ubuntu.com>
23471
23472 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23473 (password): New section.
23474 (password_pbkdf2): New section.
23475 (search): New section.
23476 (Security): New section.
23477 (Troubleshooting): New section, currently very incomplete.
23478 (Invoking grub-mkpasswd-pbkdf2): New section.
23479 (Internals): New section, currently very incomplete.
23480
e1cbcc40
CW
234812010-06-07 Colin Watson <cjwatson@ubuntu.com>
23482
23483 * util/grub.d/00_header.in: Add some more quoting (of
23484 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23485 work again.
23486 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23487
db8fa1ad
CW
234882010-06-07 Colin Watson <cjwatson@ubuntu.com>
23489
23490 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23491 to `count', fixing variable shadowing that broke the -c option.
23492
234932010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23494
23495 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23496 in case they contain spaces.
23497
f28a9212
CW
234982010-06-04 Colin Watson <cjwatson@ubuntu.com>
23499
23500 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23501 "part_" to partmap module names, in line with grub-install.
23502 Reported by: Jindřich Makovička (Debian bug #584426).
23503
9cdfe32f
CW
235042010-06-04 Colin Watson <cjwatson@ubuntu.com>
23505
23506 * util/grub-mkimage.c: Make target-related error messages slightly
23507 more helpful; -O talks about "format". Explicitly point to the use
23508 of -O if no target is specified.
23509 Reported by: Didier Raboud (Debian bug #584415).
23510
795b593a
CW
235112010-06-03 Colin Watson <cjwatson@ubuntu.com>
23512
23513 * INSTALL: Document several build requirements for optional features
23514 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23515
9d9b5833
GS
235162010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23517
23518 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23519 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23520 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23521
0819fec8
CW
235222010-06-02 Colin Watson <cjwatson@ubuntu.com>
23523
23524 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23525 Thanks to Jordan Uggla for spotting this.
23526
49396b4f
VS
235272010-06-02 Aleš Nesrsta <starous@volny.cz>
23528
23529 Finally make USB usable.
23530
23531 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23532 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23533 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23534 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23535 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23536 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23537 (GRUB_OHCI_FSMPS): Likewise.
23538 (GRUB_OHCI_PERIODIC_START): Likewise.
23539 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23540 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23541 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23542 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23543 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23544 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23545 (grub_ohci_transaction): Likewise.
23546 (grub_ohci_transfer): Improve condition detection algorithms.
23547 Handle toggle property. Program the transactions correctly.
23548 Improve error handling. Various important fixups.
23549 (grub_ohci_portstatus): Put register writes in right order.
23550 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23551 (grub_uhci_transfer): Don't show "failed" message on success.
23552 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23553 array.
23554 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23555 determine its size.
23556 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23557 before initialization is completed. Use IN direction for empty
23558 transfers. Use last_trans and compute toggle.
23559 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23560 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23561 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23562 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23563 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23564 (grub_usb_device): Increase toggle to 256.
23565 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23566 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23567 GRUB_USBMS_SUBCLASS_SFF8070.
23568 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23569 (grub_scsi_inquiry): New member page and alloc_length.
23570 (grub_scsi_request_sense): New structure.
23571 (grub_scsi_request_sense_data): Likewise.
23572 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23573 control.
23574 * disk/scsi.c (grub_scsi_request_sense): New function.
23575 (grub_scsi_test_unit_ready): Likewise.
23576 (grub_scsi_inquiry): Fill new fields.
23577 (grub_scsi_read_capacity): Likewise.
23578 (grub_scsi_read10): Add request sense at the end.
23579 (grub_scsi_read12): Likewise.
23580 (grub_scsi_write10): Likewise.
23581 (grub_scsi_write12): Likewise.
23582 (grub_scsi_open): Add Test Unit Ready.
23583 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23584 Support additional subclasses. Con't clear halt yet. Activate the
23585 proper config. Calculate LUNs correctly.
23586 (grub_usbms_transfer): Various important fixups.
23587
235882010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23589
23590 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23591 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23592 (grub_ohci_fini_hw): New function.
23593 (grub_ohci_restore_hw): Likewise.
23594 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23595 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23596 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23597
235982010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23599
23600 Dedicated DMA allocations.
23601
23602 * bus/pci.c (grub_memalign_dma32): New function
23603 (grub_dma_free): Likewise.
23604 (grub_dma_get_virt): Likewise.
23605 (grub_dma_get_phys): Likewise.
23606 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23607 (grub_ohci_pci_iter): Use dma32_alloc.
23608 (grub_ohci_transfer): Likewise.
23609 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23610 (grub_usb_bulk_readwrite): Likewise.
23611 * include/grub/pci.h: Add declarations.
23612
236132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23614
23615 CS5536 support.
23616
23617 * bus/cs5536.c: New file.
23618 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23619 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23620 (cs5536_mod_SOURCES): New variable.
23621 (cs5536_mod_CFLAGS): Likewise.
23622 (cs5536_mod_LDFLAGS): Likewise.
23623 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23624 machine/pci.h.
23625 (kernel_img_SOURCES): Add bus/cs5536.c.
23626 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23627 usb_keyboard.mod.
23628 (usb_mod_SOURCES): New variable.
23629 (usb_mod_CFLAGS): New variable.
23630 (usb_mod_LDFLAGS): New variable.
23631 (usbtest_mod_SOURCES): New variable.
23632 (usbtest_mod_CFLAGS): New variable.
23633 (usbtest_mod_LDFLAGS): New variable.
23634 (ohci_mod_SOURCES): New variable.
23635 (ohci_mod_CFLAGS): New variable.
23636 (ohci_mod_LDFLAGS): New variable.
23637 (usbms_mod_SOURCES): New variable.
23638 (usbms_mod_CFLAGS): New variable.
23639 (usbms_mod_LDFLAGS): New variable.
23640 (usb_keyboard_mod_SOURCES): New variable.
23641 (usb_keyboard_mod_CFLAGS): New variable.
23642 (usb_keyboard_mod_LDFLAGS): New variable.
23643 * include/grub/smbus.h: New file.
23644 * include/grub/cs5536.h: New file.
23645
0b35b2a9
CW
236462010-06-02 Colin Watson <cjwatson@ubuntu.com>
23647
23648 * util/grub.d/00_header.in: Add safety check to make sure that
23649 ${locale_dir} exists before trying to probe it.
23650
ca0afd5b
CW
236512010-06-02 Colin Watson <cjwatson@ubuntu.com>
23652
23653 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23654 per the GNU Coding Standards; this is now too obscure to be worth
23655 documenting.
23656 (QNX): Likewise.
23657 (chainloader): Remove cross-reference to `SCO UnixWare'.
23658
1c41aa78
CW
236592010-06-02 Colin Watson <cjwatson@ubuntu.com>
23660
23661 * docs/grub.texi (Chain-loading): New section.
23662 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23663 adjusted for GRUB 2.
23664 (SCO UnixWare): Likewise.
23665 (QNX): Likewise.
23666 (chainloader): Add reference to `Block list syntax'.
23667 (drivemap): New section.
23668 (parttool): New section.
23669
bb8ea0f5
CW
236702010-06-02 Colin Watson <cjwatson@ubuntu.com>
23671
23672 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23673 the grub shell'.
23674 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23675 (Installing GRUB using grub-install): Remove reference to the grub
23676 shell; mention `grub-mkimage' and `grub-setup' instead.
23677 (Invoking grub-install): Likewise.
23678 (Interface): Add reference to `Menu entry editor'.
23679 (serial): Remove `--device' option.
23680
288dd6ed
CW
236812010-06-02 Colin Watson <cjwatson@ubuntu.com>
23682
23683 * docs/grub.texi (Configuration): New section, documenting
23684 configuration file generation using grub-mkconfig. I've left a slot
23685 for documenting the full shell scripting format but have not yet
23686 started on writing that up.
23687 (Invoking grub-mkconfig): New section.
23688
34c9f0e9
CW
236892010-06-02 Colin Watson <cjwatson@ubuntu.com>
23690
23691 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23692 (GNU GRUB manual): Likewise.
23693 (General commands): Update description of `terminfo' for GRUB 2.
23694
9121567e
CW
236952010-06-02 Colin Watson <cjwatson@ubuntu.com>
23696
23697 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23698 (GRUB_MOD_INIT): Fix capitalisation.
23699 * docs/grub.texi (Command-line and menu entry commands): Document
23700 gettext and gptsync commands.
23701
ab631611
CW
237022010-06-02 Colin Watson <cjwatson@ubuntu.com>
23703
23704 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23705 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23706
bde4a9ac
CW
237072010-06-01 Colin Watson <cjwatson@ubuntu.com>
23708
23709 Add btrfs probing support, currently only in the single-device case.
23710
23711 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23712 function.
23713 (grub_guess_root_device): Call find_root_device_from_mountinfo
23714 before looking in /dev.
23715
b1d17e10
VS
237162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23717
23718 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23719 GRUB_DISK_SIZE_UNKNOWN.
23720 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23721
dfbfe004
JS
237222010-05-31 Jiro SEKIBA <jir@unicus.jp>
23723
23724 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23725 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23726 corrupted or not synced properly.
23727
c2ffc8e9
VS
237282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23729
23730 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23731 Reported by: Seth Goldberg.
23732
56293166
VS
237332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23736 addition of dest.
23737 Reported by: Seth Goldberg.
23738
7620e7de
VS
237392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23740
23741 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23742 Reported by: Seth Goldberg.
23743
c837af3f
VS
237442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23747 64-bit address as signed on MIPS.
23748
c7c75cf4
CW
237492010-05-28 Colin Watson <cjwatson@ubuntu.com>
23750
23751 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23752 to the empty string.
23753
fa4b8490
BC
237542010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23755
23756 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23757
23758 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23759 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23760 * kern/misc.c (__enable_execute_stack): Disable on
23761 GRUB_MACHINE_EMU.
23762
a33075b9
CW
237632010-05-28 Colin Watson <cjwatson@ubuntu.com>
23764
23765 Make grub-probe work with symbolic links under /dev/mapper as well
23766 as with real block devices. The Linux world seems to be (at best)
23767 in transition here, and GRUB shouldn't get caught in the middle.
23768
23769 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23770 /dev/mapper.
23771
d8708134
CW
237722010-05-27 Colin Watson <cjwatson@ubuntu.com>
23773
23774 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23775 input files (in which case exit zero).
23776
db2102a0
CW
237772010-05-27 Colin Watson <cjwatson@ubuntu.com>
23778
23779 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23780 return NULL for various reasons even if it has a maximum-length
23781 buffer: for example, there might be a symlink loop, or the path
23782 might exceed PATH_MAX. If this happens, return NULL.
23783
5fdba519
RM
237842010-05-27 Robert Millan <rmh@gnu.org>
23785
23786 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23787 partmap module to handle cross-partmap setups.
23788 Reported by Orestes Mas. Gràcies!
23789
d1d368e4
CW
237902010-05-27 Colin Watson <cjwatson@ubuntu.com>
23791
23792 * util/grub-mkrescue.in: Initialise override_dir rather than
23793 assuming that it's unset or empty in the environment.
23794
95ac3c73
GS
237952010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23796
23797 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23798 variable index into p_index to suppress a warning with -Wshadow.
23799
7d8c0213
BC
238002010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23801
23802 * INSTALL: Added flex >= 2.5.35 requirement.
23803
db4d5813
VS
238042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23805
23806 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23807
f24f4300
VS
238082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23809
23810 cmostest support.
23811
23812 * commands/i386/cmostest.c: New file.
23813 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23814 (cmostest_mod_SOURCES): New variable.
23815 (cmostest_mod_CFLAGS): Likewise.
23816 (cmostest_mod_LDFLAGS): Likewise.
23817 * conf/i386-pc.rmk: Likewise.
23818 * docs/grub.texi (Vendor power-on keys): New section.
23819 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23820 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23821 and GRUB_BUTTON_CMOS_ADDRESS.
23822 * util/grub.d/00_header.in: Handle powering-on by separate button.
23823
ad603f61
VS
238242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23825
23826 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23827 Removed drawing_scrollbar argument. All users updated
23828 Fixes #29792.
23829 Reported by Jo Shields
23830
3ecb080a
VS
238312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23832
23833 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23834 buffer since gfxterm handles double repaint.
23835
5f2316c1
VS
238362010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23837
23838 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23839 * term/gfxterm.c (real_scroll): Likewise.
23840
9a25f885
VS
238412010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23842
23843 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23844 before calling BIOS.
23845
39fbb79a
VS
238462010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * include/grub/i18n.h: Always enable grub_gettext.
23849
228cfa97
VS
238502010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23851
23852 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23853 partition naming style.
23854
21717c8f
CW
238552010-05-21 Colin Watson <cjwatson@ubuntu.com>
23856
23857 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23858 not the first option.
23859
c0f48e65
CW
238602010-05-20 Colin Watson <cjwatson@ubuntu.com>
23861
23862 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23863
96779aec
CW
238642010-05-20 Colin Watson <cjwatson@ubuntu.com>
23865
23866 * util/misc.c: Move inclusion of <limits.h> to ...
23867 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23868
fa9d256e
GS
238692010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23870
23871 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23872 Fix merge error in NetBSD code.
23873 (find_partition_start) [__NetBSD__]: Likewise.
23874
123b7a85
BC
238752010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23876
23877 Fix grub-mkrescue usage unit testing.
23878
23879 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23880
74276c0d
CF
238812010-05-18 Christian Franke <franke@computer.org>
23882
23883 * util/grub.d/10_windows.in: Use path names instead of
23884 drive letters to prevent warning from Cygwin 1.7.
23885 Add drivemap command to menuentry if needed.
23886
c4f7b523
ST
238872010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23888
23889 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23890 gnumach and gnumach.gz.
23891
95b97950
VS
238922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23893
23894 * include/grub/i18n.h (gettext): Inline instead of using #define.
23895 (grub_gettext): Likewise.
23896 (_): Likewise.
23897
01b8d2d7
VS
238982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23901 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23902 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23903 (main): Add a slash after pkglibdirroot.
23904
654e1d1e
VS
239052010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23906
23907 * util/grub-install.in: Add missing "in" keyword.
23908
26966aeb
VS
239092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23910
23911 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23912 Reported by: Seth Goldberg.
23913
75006747
VS
239142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23915
23916 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23917
74cbf5bd
CW
239182010-05-18 Colin Watson <cjwatson@ubuntu.com>
23919
23920 * configure.ac: Check for Linux device-mapper support.
23921
23922 * util/hostdisk.c (device_is_mapped): New function.
23923 (find_partition_start): New function, partly broken out from
23924 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23925 device-mapper support added.
23926 (linux_find_partition): Use find_partition_start.
23927 (convert_system_partition_to_system_disk): Add `st' argument.
23928 Support Linux /dev/mapper/* devices if device-mapper support is
23929 available; only DM-RAID devices are understood at present.
23930 (find_system_device): Add `st' argument. Pass it to
23931 convert_system_partition_to_system_disk.
23932 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23933 find_system_device and convert_system_partition_to_system_disk. Use
23934 find_partition_start.
23935
23936 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23937 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23938 * util/deviceiter.c [__linux__]: Define MINOR.
23939 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23940 * util/mkdevicemap.c (grub_putchar): New function.
23941 (grub_getkey): New function.
23942 (grub_refresh): New function.
23943 (main): Set debug=all if -v -v is used.
23944
355b51e9
CW
239452010-05-18 Colin Watson <cjwatson@ubuntu.com>
23946
23947 Fix build with non-GNU libcs.
23948
23949 * util/misc.c (canonicalize_file_name): Move to ...
23950 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23951 grub_make_system_path_relative_to_its_root.
23952
7fb5c25f
CW
239532010-05-18 Colin Watson <cjwatson@ubuntu.com>
23954
23955 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23956 we handle finding grub-mkimage. Default to finding grub-mkimage in
23957 ${bindir} with program_transform_name applied, and provide a
23958 --grub-mkimage option to override this.
23959
1d3293d6
VS
239602010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23961
23962 Remove grub-mkisofs.
23963
23964 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23965 (grub_mkisofs_SOURCES): Removed.
23966 (grub_mkisofs_CFLAGS): Removed.
23967 * util/mkisofs/defaults.h: Removed.
23968 * util/mkisofs/eltorito.c: Likewise.
23969 * util/mkisofs/exclude.h: Likewise.
23970 * util/mkisofs/hash.c: Likewise.
23971 * util/mkisofs/include/: Likewise.
23972 * util/mkisofs/include/fctldefs.h: Likewise.
23973 * util/mkisofs/include/mconfig.h: Likewise.
23974 * util/mkisofs/include/prototyp.h: Likewise.
23975 * util/mkisofs/include/statdefs.h: Likewise.
23976 * util/mkisofs/iso9660.h: Likewise.
23977 * util/mkisofs/joliet.c: Likewise.
23978 * util/mkisofs/match.c: Likewise.
23979 * util/mkisofs/match.h: Likewise.
23980 * util/mkisofs/mkisofs.c: Likewise.
23981 * util/mkisofs/mkisofs.h: Likewise.
23982 * util/mkisofs/msdos_partition.h: Likewise.
23983 * util/mkisofs/multi.c: Likewise.
23984 * util/mkisofs/name.c: Likewise.
23985 * util/mkisofs/rock.c: Likewise.
23986 * util/mkisofs/tree.c: Likewise.
23987 * util/mkisofs/write.c: Likewise.
23988
5dde9afe
VS
239892010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23990
23991 Unify grub-mkimage accross platforms.
23992
23993 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23994 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23995 (grub_mkelfimage_SOURCES): Removed.
23996 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23997 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23998 (bin_UTILITIES): Add grub-mkimage.
23999 (grub_mkimage_SOURCES): New variable.
24000 (kernel_img_HEADERS): Remove machine/kernel.h.
24001 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24002 (pkglib_PROGRAMS): Add kernel.img.
24003 (kernel_img_HEADERS): Add machine/kernel.h.
24004 (kernel_img_FORMAT): Removed.
24005 (bin_UTILITIES): Remove grub-mkimage.
24006 (grub_mkimage_SOURCES): Removed.
24007 (grub_mkimage_CFLAGS): Likewise.
24008 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24009 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24010 (pkglib_PROGRAMS): Add kernel.img.
24011 (bin_UTILITIES): Remove grub-mkimage.
24012 (grub_mkimage_SOURCES): Removed.
24013 (grub_mkimage_CFLAGS): Likewise.
24014 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24015 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24016 (pkglib_PROGRAMS): Add kernel.img.
24017 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24018 (pkglib_PROGRAMS): Add kernel.img.
24019 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24020 (grub_mkimage_SOURCES): Removed.
24021 (grub_mkimage_CFLAGS): Likewise.
24022 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24023 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24024 (pkglib_PROGRAMS): Add kernel.img.
24025 (bin_UTILITIES): Remove grub-mkimage.
24026 (grub_mkimage_SOURCES): Removed.
24027 (grub_mkimage_CFLAGS): Likewise.
24028 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24029 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24030 (grub_mkimage_SOURCES): Removed.
24031 (grub_mkimage_CFLAGS): Likewise.
24032 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24033 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24034 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24035 (grub_pe32_optional_header): ... this.
24036 (grub_pe64_optional_header): ... and this. All users updated.
24037 (GRUB_PE32_PE32_MAGIC): Split into ..
24038 (GRUB_PE32_PE32_MAGIC): .. this.
24039 (GRUB_PE32_PE64_MAGIC): .. and this.
24040 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24041 * include/grub/elf.h (PT_GNU_STACK): New definition.
24042 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24043 * include/grub/i386/efi/kernel.h: Likewise.
24044 * include/grub/i386/kernel.h: Likewise.
24045 * include/grub/i386/pc/kernel.h: Likewise.
24046 * include/grub/i386/qemu/boot.h: Likewise.
24047 * include/grub/mips/kernel.h: Likewise.
24048 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24049 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24050 * include/grub/powerpc/kernel.h: Likewise.
24051 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24052 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24053 * include/grub/sparc64/kernel.h: Likewise.
24054 * include/grub/x86_64/efi/kernel.h: Likewise.
24055 * include/grub/x86_64/kernel.h: Likewise.
24056 * include/grub/offsets.h: New file.
24057 * include/grub/kernel.h (grub_module_info): Split into ...
24058 (grub_module_info32): ... this.
24059 (grub_module_info64): ... and this.
24060 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24061 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24062 (grub_boot_blocklist): Moved from here ...
24063 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24064 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24065 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24066 * include/grub/types.h (grub_target_to_host16): Removed.
24067 (grub_target_to_host32): Likewise.
24068 (grub_target_to_host64): Likewise.
24069 (grub_host_to_target16): Likewise.
24070 (grub_host_to_target32): Likewise.
24071 (grub_host_to_target64): Likewise.
24072 (grub_host_to_target_addr): Likewise.
24073
24074 Support grub-mkrescue for efi, coreboot and qemu.
24075
24076 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24077 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24078 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24079 * util/grub-mkrawimage.c: Moved from here ...
24080 * util/grub-mkimage.c: ... here. All users updated.
24081 (ALIGN_ADDR): Use image_target.
24082 (TARGET_NO_FIELD): New const.
24083 (image_target_desc): New type.
24084 (image_targets): New array.
24085 (grub_target_to_host64): Use image_target.
24086 (grub_target_to_host32): Likewise.
24087 (grub_target_to_host16): Likewise.
24088 (grub_host_to_target64): Likewise.
24089 (grub_host_to_target32): Likewise.
24090 (grub_host_to_target16): Likewise.
24091 (grub_host_to_target_addr): Likewise.
24092 (generate_image): Handle multiimage.
24093 (main): Require -O parameter. All users updated.
24094 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24095 util/efi/grub-mkimage.c
24096 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24097 New option --rom-directory.
24098 Use xorriso.
24099 * util/i386/efi/grub-mkimage.c: Removed.
24100 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24101 (grub_target_to_host32): Likewise.
24102 (grub_target_to_host64): Likewise.
24103 (grub_host_to_target16): Likewise.
24104 (grub_host_to_target32): Likewise.
24105 (grub_host_to_target64): Likewise.
24106 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24107 (grub_target_to_host32): Likewise.
24108 (grub_target_to_host64): Likewise.
24109 (grub_host_to_target16): Likewise.
24110 (grub_host_to_target32): Likewise.
24111 (grub_host_to_target64): Likewise.
24112
f4fc97d0
BC
241132010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24114
24115 Source tree is reorganized for emu build.
24116
24117 * include/grub/util/console.h: Move from here...
24118 * include/grub/emu/console.h: ...to here.
24119 * include/grub/util/getroot.h: Move from here...
24120 * include/grub/emu/getroot.h: ...to here.
24121 * include/grub/util/hostdisk.h: Move from here...
24122 * include/grub/emu/hostdisk.h: ...to here.
24123 * util/console.c: Move from here...
24124 * kern/emu/console.c: ...to here.
24125 * util/getroot.c: Move from here...
24126 * kern/emu/getroot.c: ...to here.
24127 * util/grub-emu.c: Move from here...
24128 * kern/emu/main.c: ...to here.
24129 * util/hostdisk.c: Move from here...
24130 * kern/emu/hostdisk.c: ...to here.
24131 * util/hostfs.c: Move from here...
24132 * kern/emu/hostfs.c: ...to here.
24133 * util/mm.c: Move from here...
24134 * kern/emu/mm.c: ...to here.
24135 * util/pci.c: Move from here...
24136 * bus/emu/pci.c: ...to here.
24137 * util/sdl.c: Move from here...
24138 * video/emu/sdl.c: ...to here.
24139 * util/time.c: Move from here...
24140 * kern/emu/time.c: ...to here.
24141 * util/usb.c: Move from here...
24142 * bus/usb/emu/usb.c: ...to here.
24143
24144 * include/grub/emu/misc.h: New header for grub-emu functions.
24145 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24146
24147 * conf/any-emu.rmk: Rule updates for above renames.
24148 * conf/common.rmk: Likewise.
24149 * conf/i386-pc.rmk: Likewise.
24150 * conf/i386-qemu.rmk: Likewise.
24151 * conf/mips.rmk: Likewise.
24152 * conf/sparc64-ieee1275.rmk: Likewise.
24153 * conf/x86-efi.rmk: Likewise.
24154
24155 * disk/lvm.h: #include updates for above renames.
24156 * util/grub-mkrelpath.c: Likewise.
24157 * util/grub-probe.c: Likewise.
24158 * util/i386/pc/grub-setup.c: Likewise.
24159 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24160 * kern/emu/console.c: Likewise.
24161 * kern/emu/getroot.c: Likewise.
24162 * kern/emu/hostdisk.c: Likewise.
24163 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24164
24165 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24166 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24167 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24168 * util/misc.c: Remove grub-emu functions.
24169
cced9145
VS
241702010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 Fix gfxmenu crash.
24173 Reported by: Thorsten Grützmacher.
24174
24175 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24176 timeout hook.
24177 (circprog_set_property): Register and unregister timeout hook.
24178 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24179 (label_destroy): Free template. and unregister hook.
24180 (label_set_state): New function.
24181 (label_set_property): Handle templates and hooks.
24182 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24183 timeout hook.
24184 (progress_bar_set_property): Register and unregister timeout hook.
24185 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24186 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24187 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24188 (update_timeout_visit): Removed.
24189 (update_timeouts): New function.
24190 (redraw_timeouts): Likewise.
24191 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24192 (grub_gfxmenu_clear_timeout): Likewise.
24193 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24194 (grub_gfxmenu_timeout_notify): Likewise.
24195 (grub_gfxmenu_timeout_notifications): New external variable.
24196 (grub_gfxmenu_timeout_register): New function.
24197 (grub_gfxmenu_timeout_unregister): Likewise.
24198
c6e5caab
VS
241992010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 Transform (broken) vga terminal into (working) vga video driver.
24202
24203 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24204 video/i386/pc/vga.c.
24205 * include/grub/video.h (grub_video_driver_id):
24206 Add GRUB_VIDEO_DRIVER_VGA.
24207 * term/i386/pc/vga.c: Renamed to ...
24208 * video/i386/pc/vga.c: ...this
24209 (DEBUG_VGA): Removed.
24210 (CHAR_WIDTH): Likewise.
24211 (CHAR_HEIGHT): Likewise.
24212 (TEXT_WIDTH): Likewise.
24213 (TEXT_HEIGHT): Likewise.
24214 (DEFAULT_FG_COLOR): Likewise.
24215 (DEFAULT_BG_COLOR): Likewise.
24216 (colored_char): Likewise.
24217 (xpos): Likewise.
24218 (ypos): Likewise.
24219 (cursor_state): Likewise.
24220 (fg_color): Likewise.
24221 (bg_color): Likewise.
24222 (text_buf): Likewise.
24223 (page): Likewise.
24224 (font): Likewise.
24225 (framebuffer): New variable.
24226 (set_read_map): Disabled.
24227 (setup): New variable.
24228 (is_target): Likewise.
24229 (grub_vga_mod_init): Likewise.
24230 (grub_vga_mod_fini): Likewise.
24231 (check_vga_mem): Likewise.
24232 (write_char): Likewise.
24233 (write_cursor): Likewise.
24234 (scroll_up): Likewise.
24235 (grub_vga_putchar): Likewise.
24236 (grub_vga_getcharwidth): Likewise.
24237 (grub_vga_getwh): Likewise.
24238 (grub_vga_getxy): Likewise.
24239 (grub_vga_gotoxy): Likewise.
24240 (grub_vga_cls): Likewise.
24241 (grub_vga_setcolorstate): Likewise.
24242 (grub_vga_setcursor): Likewise.
24243 (grub_video_vga_init): New function.
24244 (grub_video_vga_setup): Likewise.
24245 (grub_video_vga_fini): Likewise.
24246 (update_target): Likewise.
24247 (grub_video_vga_blit_bitmap): Likewise.
24248 (grub_video_vga_blit_render_target): Likewise.
24249 (grub_video_vga_set_active_render_target): Likewise.
24250 (grub_video_vga_get_active_render_target): Likewise.
24251 (grub_video_vga_swap_buffers): Likewise.
24252 (grub_video_vga_set_palette): Likewise.
24253 (grub_video_vga_get_info_and_fini): Likewise.
24254 (grub_vga_term): Removed.
24255 (grub_video_vga_adapter): New variable.
24256 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24257 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24258
2bf61a98
VS
242592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24260
24261 * video/readers/jpeg.c: Indented.
24262
09ddcd11
VS
242632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24264
24265 Various jpeg cleanups.
24266
24267 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24268 (grub_jpeg_decode_quan_table): Use sizeof.
24269 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24270
e5507505
PH
242712010-05-05 Peter Hurley <No e-mail available> (tiny change)
24272
24273 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24274 tables. Ignore non-last ac bit.
24275 (grub_jpeg_decode_quan_table): Likewise.
24276
7e720a9b
VS
242772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24278
24279 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24280 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24281 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24282 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24283 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24284 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24285
a7fc080b
VS
242862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24287
24288 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24289 error.
24290
2bf6012d
VS
242912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24292
24293 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24294
265d68cd
VS
242952010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24296
24297 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24298 condition.
24299
243002010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24301
24302 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24303 part.
24304
265d68cd 243052010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24306
24307 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24308 pointers.
24309
265d68cd 243102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24311
24312 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24313
d1b61374
CF
243142010-05-01 Christian Franke <franke@computer.org>
24315
24316 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24317 Remove broken Cygwin path conversion.
24318 * util/misc.c: [__CYGWIN__] Add include and define.
24319 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24320 for Cygwin 1.7.
24321 (make_system_path_relative_to_its_root): Simplify loop, replace early
24322 return by break.
24323 [__CYGWIN__] Add conversion to win32 path.
24324 Include "/" case in trailing slash removal.
24325
3558c6e9
VS
243262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24327
24328 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24329 Reported by: Seth Goldberg
24330
f5f3ff93
VS
243312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 * commands/help.c (grub_cmd_help): Fix a typo.
24334 Reported by: Seth Goldberg
24335
d8b5cd40
VS
243362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24337
24338 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24339 name and add N_.
24340 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24341 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24342 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24343 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24344 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24345 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24346 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24347 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24348 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24349 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24350 * normal/context.c (GRUB_MOD_INIT): Likewise.
24351 * normal/main.c (GRUB_MOD_INIT): Likewise.
24352 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24353 * term/serial.c (GRUB_MOD_INIT): Likewise.
24354 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24355
88c14915
VS
243562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24357
24358 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24359 extra == 0.
24360
165134bc
VS
243612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24362
24363 * commands/iorw.c: New file.
24364 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24365 (iorw_mod_SOURCES): New variable.
24366 (iorw_mod_CFLAGS): Likewise.
24367 (iorw_mod_LDFLAGS): Likewise.
24368
c5ac9b32
VS
243692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24370
24371 Hotkey support
24372
24373 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24374 * normal/main.c (hotkey_aliases): New variable.
24375 (grub_normal_add_menu_entry): Parse "--hotkey".
24376 * normal/menu_text.c (run_menu): Handle hotkeys.
24377
ce60689c
VS
243782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24379
24380 * kern/i386/coreboot/init.c (grub_machine_init): Call
24381 grub_machine_mmap_init on qemu.
24382
0359d006
VS
243832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24384
24385 * boot/i386/qemu/boot.S: Add a missing .code16.
24386
7819a456
VS
243872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24388
24389 Use LBIO on coreboot.
24390
24391 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24392 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24393 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24394 New declaration.
24395 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24396 grub_machine_mmap_init on coreboot.
24397 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24398 GRUB_LINUXBIOS_MEMBER_LINK.
24399 (grub_machine_mmap_iterate): Fix declaration.
24400 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24401
7210dca9
VS
244022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24403
24404 Split coreboot and multiboot ports.
24405
24406 * conf/i386-multiboot.rmk: New file.
24407 * configure.ac: Add multiboot port.
24408 * include/grub/i386/multiboot/boot.h: New file.
24409 * include/grub/i386/multiboot/console.h: Likewise.
24410 * include/grub/i386/multiboot/init.h: Likewise.
24411 * include/grub/i386/multiboot/kernel.h: Likewise.
24412 * include/grub/i386/multiboot/loader.h: Likewise.
24413 * include/grub/i386/multiboot/memory.h: Likewise.
24414 * include/grub/i386/multiboot/serial.h: Likewise.
24415 * include/grub/i386/multiboot/time.h: Likewise.
24416 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24417 * loader/multiboot.c: Likewise.
24418 * loader/multiboot_mbi2.c: Likewise.
24419 * util/grub-mkrescue.in: Generate multiboot rescue.
24420
6f8aaf68
VS
244212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24422
3080f7a7
VS
24423 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24424
244252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24428
24429 * commands/terminal.c (abstract_terminal): New struct.
24430 (handle_command): New function. Based on grub_cmd_terminal_input.
24431 (grub_cmd_terminal_input): Use handle_command.
24432 (grub_cmd_terminal_output): Use handle_command.
24433
a8ebb841
BC
244342010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24435
24436 Fix comment handling.
24437
24438 * tests/grub_script_comments.in: New testcase.
24439 * conf/tests.rmk: Rules for new testcase.
24440 * script/yylex.l: Updated flex rules.
24441
bb06ba08
ST
244422010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24443
24444 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24445 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24446 if argc is 1.
bb06ba08 24447
cc9d2425
VS
244482010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24449
24450 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24451 autogen issues.
24452
460d8402
CF
244532010-04-26 Christian Franke <franke@computer.org>
24454
24455 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24456 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24457 (grub_get_prefix): Remove function.
24458 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24459 make_system_path_relative_to_its_root ().
24460 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24461
553c01f9
CF
244622010-04-24 Christian Franke <franke@computer.org>
24463
24464 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24465 (kernel_img_LDFLAGS): Remove -static-libgcc.
24466
2aec1692
CF
244672010-04-24 Christian Franke <franke@computer.org>
24468
24469 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24470 and CHECK_END_SYMBOL if grub-emu is built.
24471 Unset TARGET_OBJ2ELF if grub-emu is built
24472 without module support.
24473
f67dc308
JS
244742010-04-24 Jiro SEKIBA <jir@unicus.jp>
24475
24476 Nilfs2 support.
24477
24478 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24479 (grub_fstest_SOURCES): Likewise.
24480 (pkglib_MODULES): Add nilfs2.mod.
24481 (nilfs2_mod_SOURCES): New variable.
24482 (nilfs2_mod_CFLAGS): Likewise.
24483 (nilfs2_mod_LDFLAGS): Likewise.
24484 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24485 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24486 * fs/nilfs2.c: New file.
24487
4ba8d354
VS
244882010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24491 is not supported.
24492
0d2c20c6
GS
244932010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24494
24495 Add grub-mkconfig support for NetBSD.
24496
24497 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24498 * util/grub-mkconfig.in: export new NetBSD specific variables.
24499 * po/POTFILES-shell: added 10_netbsd.in.
24500 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24501
bc4a2d83
BC
245022010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24503
24504 Fix emu build with grub-emu-pci and grub-emu-modules.
24505
24506 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24507 functions.
24508 * include/grub/libpciaccess.h: New file.
24509 * conf/any-emu.rmk: Update kernel headers for emu build.
24510
f48c87aa
VS
245112010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24512
24513 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24514
18959385
VS
245152010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24516
24517 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24518
0037de3f
VS
245192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24520
24521 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24522 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24523 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24524 util/ieee1275/ofpath.c.
24525 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24526 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24527 * include/grub/sparc64/ieee1275/boot.h
24528 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24529 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24530 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24531 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24532 const char *.
24533 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24534 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24535 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24536 install.
24537
38e55e90
GS
245382010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24539
24540 * util/grub-mkconfig.in: Corrected two == equality tests.
24541 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24542 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24543 expect a number appended to it.
24544 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24545 expects a number appended to it.
24546
a9e6ff28
VS
245472010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24548
24549 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24550
0b830b8f
VS
245512010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24552
24553 * util/hostdisk.c (make_device_name): Change to new partition naming.
24554
0973daeb
VS
245552010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24556
24557 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24558
460d8402 245592010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24560
24561 * Makefile.in: Add missing localedir setting.
24562
0b456309
CW
245632010-04-14 Colin Watson <cjwatson@ubuntu.com>
24564
24565 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24566 mistake in r2156. Noticed by Anthony Fok.
24567
24568 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24569 @localedir@.
24570 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24571
08f46d62
BC
245722010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24573
24574 Fix a spurious, uninitialized variable warning.
24575
24576 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24577 Initialize variable, shdr.
24578 (grub_freebsd_load_elfmodule): Likewise.
24579 (grub_freebsd_load_elf_meta): Likewise.
24580
8c4a72d4
BC
245812010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24582
24583 Fix for escaped dollar in double quoted strings.
24584
24585 * script/yylex.l: Updated flex rules.
24586 * conf/tests.rmk: Rule for new testcase.
24587 * tests/grub_script_dollar.in: New testcase.
24588
ce44826e
CPE
245892010-04-13 Carles Pina i Estany <carles@pina.cat>
245902010-04-13 Colin Watson <cjwatson@ubuntu.com>
24591
24592 Enclose all translated strings in grub.cfg in single quotes, and
24593 escape them appropriately (Ubuntu bug #552921).
24594
24595 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24596 * util/grub.d/10_hurd.in: Use it.
24597 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24598 * util/grub.d/10_linux.in (linux_entry): Likewise.
24599
4b0cd8f8
VS
246002010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24601
24602 Fix cygwin compilation.
24603
24604 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24605 * include/grub/misc.h (__register_frame_info)
24606 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24607 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24608 * kern/misc.c (__register_frame_info)
24609 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24610 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24611
01fcf061
VS
246122010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24615
5d04b11e
VS
246162010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 Unify libgcc processing.
24619
24620 * Makefile.in (kernel_img_LDFLAGS): New variable.
24621 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24622 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24623 overwriting.
24624 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24625 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24626 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24627 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24628 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24629 overwriting. Remove -lgcc and -static-libgcc
24630 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24631 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24632 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24633 (kernel_img_LDFLAGS): Append instead of overwriting.
24634 Remove -lgcc and -static-libgcc
24635 * conf/sparc64-ieee1275.rmk: Likewise.
24636 * include/grub/powerpc/libgcc.h: Move to ...
24637 * include/grub/libgcc.h: .. this.
24638 * include/grub/libgcc.h: Don't export most of the function on x86.
24639 (__bswapsi2): New export.
24640 (__bswapdi2): Likewise.
24641 * include/grub/mips/libgcc.h: Removed.
24642 * include/grub/sparc64/libgcc.h: Likewise.
24643
b7f3ac29
VS
246442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24645
24646 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24647 disk_info_msg (conflicts with gettexting into languages with cases).
24648
2c7031b1
GS
246492010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24650
24651 Add grub-probe support for NetBSD.
24652
24653 * util/getroot.c (find_root_device): Convert block device to
24654 character device on NetBSD.
24655 * util/probe.c (probe): Require character device on NetBSD.
24656 * util/hostdisk.c: NetBSD specific headers.
24657 (configure_device_driver): new function to tune device driver
24658 parameters (currently only for NetBSD floppy driver).
24659 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24660 via disklabel ioctl).
24661 (open_device): call configure_device_driver on NetBSD.
24662 (convert_system_partition_to_system_disk): NetBSD specific code.
24663 (device_is_wholedisk): Likewise.
24664 (grub_util_biosdisk_get_grub_dev): Likewise.
24665 (make_device_name): Fixed a typo in bsd_part_str.
24666 * configure.ac: check for opendisk() and getrawpartition() on
24667 NetBSD and set LIBUTIL.
24668 * Makefile.in: add LIBUTIL to LIBS.
24669
f516290c
BC
246702010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24671
24672 Documentation fix.
24673
24674 * util/grub-script-check.c: Better help message.
24675
d8dcc0df
BC
246762010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24677
24678 Fix FreeBSD build.
24679
24680 * configure.ac: Flex version check.
24681 * conf/common.rmk: Add -Wno-error to sh.mod.
24682 * script/yylex.l: Remove all #pragma.
24683
6734334a
VS
246842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24685
24686 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24687 prototype.
24688 Reported by: Seth Goldberg.
24689
daea6abd
VS
246902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24691
24692 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24693 Rename "module" to "module2".
24694 Reported by: Seth Goldberg.
24695
f2fd9d2b
VS
246962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24697
24698 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24699 EXPORT_FUNC.
24700 Reported by: Seth Goldberg.
24701
be124579
VS
247022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24703
24704 * lib/posix_wrap/locale.h: Add missing file.
24705 Reported by: Seth Goldberg.
24706
ef5da797
VS
247072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24708
24709 grub-emu module load support.
24710
24711 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24712 NO_DYNAMIC_MODULES switched to this.
24713 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24714 (CFLAGS): Likewise.
24715 * conf/any-emu.rmk: Generate symlist.
24716 (kernel_img_HEADERS): Add util/datetime.h.
24717 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24718 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24719 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24720 kern/$(target_cpu)/cache.S.
24721 * configure.ac (grub-emu-modules): New option.
24722 * genmk.rb: Handle multiple source lists.
24723 * include/grub/sdl.h: New file.
24724 * include/grub/libusb.h: Likewise.
24725 * util/grub-emu.c (main): Hanle (host) root.
24726 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24727 GRUB_ERR_UNKNOWN_DEVICE.
24728 * util/misc.c: Move mm functions to ...
24729 * util/mm.c: ... here. All users updated.
24730
47822096
VS
247312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24734 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24735 missing files.
24736 (maintainer-clean): Remove libgcrypt-grub.
24737
5d7e7445
VS
247382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24741
25f4e252
EC
247422010-04-09 EFI Coder <eficoder@hotmail.com>
24743
24744 * normal/menu_text.c (print_message): Clean up the message and show
24745 the Fn information when on EFI
24746 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24747
027de555
VS
247482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24749
24750 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24751 All users updated.
24752 * normal/crypto.c (read_crypto_list): Likewise.
24753 * normal/dyncmd.c (read_command_list): Likewise.
24754 * normal/term.c (read_terminal_list): Likewise.
24755 * normal/main.c (read_lists): Use explicit prefix.
24756 (read_lists_hook): Use read_lists.
24757 (grub_normal_execute): Likewise.
24758
47779711
VS
247592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24760
24761 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24762 Reported by: Thomas Schmitt.
24763 Add -no-emul-boot to grub-mkisofs parameters.
24764
1118c32e
VS
247652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24766
24767 * font/font.c: Indented.
24768
7d652447
BC
247692010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24770
24771 Elif support to GRUB script (by Deepak Vankadaru).
24772
24773 * tests/grub_script_if.in: New testcase.
24774 * conf/tests.rmk: Rule for new testcase.
24775 * script/parser.y: Grammar rules for elif.
24776
34bb22df
BC
247772010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24778
24779 While and until loops support to GRUB script.
24780
24781 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24782 (grub_script_create_cmdwhile): New function prototype.
24783 (grub_script_execute_cmdwhile): New function prototype.
24784 * script/execute.c (grub_script_execute_cmdwhile): New function.
24785 * script/parser.y (command): New commands.
24786 (whilecmd): New grammar rule.
24787 (untilcmd): New grammar rule.
24788 * script/script.c (grub_script_create_cmdwhile): New function.
24789 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24790 function.
24791
24792 * tests/grub_script_while1.in: New testcase.
24793 * conf/tests.rmk: Rule for new testcase.
24794
e215d8e0
VS
247952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24796
24797 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24798 as *.jpg.
24799
d7c43ba1
MV
248002010-04-09 Mario Vazquez <mariovazq@gmail.com>
24801
24802 GRUB_BACKGROUND support.
24803
24804 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24805 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24806
d64795c0
VS
248072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24810 Idea by: Mario Vazquez
d64795c0
VS
24811
24812 * util/grub.d/00_header.in: Load pf2 and image modules.
24813
f267f83a
VS
248142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 grub-mkconfig multiple terminal support.
24817
24818 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24819 * util/grub.d/00_header.in: Likewise.
24820
b7841ceb
VS
248212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24822
24823 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24824 we use cd $(srcdir).
24825
df60998c
CW
248262010-04-08 Colin Watson <cjwatson@ubuntu.com>
24827
24828 * util/grub.d/10_linux.in: Only use the first word of
24829 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24830 spaces in GRUB_DISTRIBUTOR.
24831 * util/grub.d/10_kfreebsd.in: Likewise.
24832 * util/grub.d/10_hurd.in: Likewise.
24833
fa09c82e
BC
248342010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24835
14e18ae3 24836 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24837
24838 * tests/util/grub-shell.in: Remove -serial stdio option.
24839
daf892b3
BC
248402010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24841
24842 POSIX header file wrappers.
24843
24844 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24845 equivalents.
24846 * lib/posix_wrap/ctype.h: Likewise.
24847 * lib/posix_wrap/errno.h: Likewise.
24848 * lib/posix_wrap/langinfo.h: Likewise.
24849 * lib/posix_wrap/limits.h: Likewise.
24850 * lib/posix_wrap/localcharset.h: Likewise.
24851 * lib/posix_wrap/stdint.h: Likewise.
24852 * lib/posix_wrap/stdio.h: Likewise.
24853 * lib/posix_wrap/stdlib.h: Likewise.
24854 * lib/posix_wrap/string.h: Likewise.
24855 * lib/posix_wrap/sys/types.h: Likewise.
24856 * lib/posix_wrap/unistd.h: Likewise.
24857 * lib/posix_wrap/wchar.h: Likewise.
24858 * lib/posix_wrap/wctype.h: Likewise.
24859 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24860 (grub_script.yy.h): Likewise.
24861 * script/yylex.l: Remove POSIX emulation #defines.
24862 * Makefile.in (POSIX_CFLAGS): New variable.
24863 (GNULIB_UTIL_CFLAGS): Likewise.
24864
24865 Regexp support.
24866
24867 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24868 (regexp_mod_SOURCES): New variable.
24869 (regexp_mod_CFLAGS): Likewise.
24870 (regexp_mod_LDFLAGS): Likewise.
24871 * commands/regexp.c: New file.
24872 * gnulib/regcomp.c: New file. Imported from gnulib.
24873 * gnulib/regex.c: Likewise.
24874 * gnulib/regex_internal.c: Likewise.
24875 * gnulib/regex_internal.h: Likewise.
24876 * gnulib/regexec.c: Likewise.
24877 * gnulib/regex.h: Likewise.
24878
974ac4f7
VS
248792010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24880
24881 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24882 unsupported video mode types.
24883
2622c3ff
VS
248842010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24885
24886 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24887
064cb524
VS
248882010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24889
24890 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24891 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24892
a8c3b552
VS
248932010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24894
24895 Remove unused grub_vga_get_font.
24896
24897 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24898 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24899
187bbe3d
GS
249002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24901
24902 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24903 * include/grub/misc.h: Likewise.
24904
b9396631
GS
249052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24906
24907 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24908 for which failure is fatal.
24909
50479feb
GS
249102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24911
24912 * util/grub-install.in: Use mkdir -p to create grub directory.
24913 * util/i386/efi/grub-install.in: Likewise.
24914 * util/ieee1275/grub-install.in: Likewise.
24915
b1654fdf
GS
249162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24917
24918 * Makefile.in (LEX): new variable.
24919
bd5a6415
GS
249202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24921
24922 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24923 `=' and added double quotes on operands of this equality test.
24924
3db3a82b
VS
249252010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24926
24927 * Makefile.in (uninstall): Remove a leftover debug echo.
24928 Reported by: Grégoire Sutre
24929
38023412
VS
249302010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24931
24932 MIPS multiboot2 support.
24933
24934 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24935 (multiboot2_mod_SOURCES): New variable.
24936 (multiboot2_mod_CFLAGS): Likewise.
24937 (multiboot2_mod_LDFLAGS): Likewise.
24938 (multiboot2_mod_ASFLAGS): Likewise.
24939 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24940 definition.
24941 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24942 (MULTIBOOT_MBI_REGISTER): Likewise.
24943 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24944 (MULTIBOOT_ELF32_MACHINE): Likewise.
24945 (MULTIBOOT_ELF64_MACHINE): Likewise.
24946 * include/grub/mips/multiboot.h: New file.
24947 * include/grub/video.h (grub_video_driver_id): New type
24948 GRUB_VIDEO_DRIVER_SM712.
24949 (grub_video_get_info_and_fini): Export.
24950 (grub_video_get_palette): Likewise.
24951 (grub_video_get_driver_id): Likewise.
24952 * include/multiboot2.h: Resynced with spec.
24953 * loader/i386/multiboot.c: Moved from here ...
24954 * loader/multiboot.c: ... here. All users updated.
24955 (grub_multiboot_boot): Use platform-specific macros.
24956 * loader/i386/multiboot_elfxx.c: Moved from here ...
24957 * loader/multiboot_elfxx.c: ... here. All users updated.
24958 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24959 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24960 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24961
47674667
VS
249622010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24963
24964 Import gnulib argp module.
24965
24966 * gnulib/argp-ba.c: New file.
24967 * gnulib/argp-eexst.c: Likewise.
24968 * gnulib/argp-fmtstream.c: Likewise.
24969 * gnulib/argp-fmtstream.h: Likewise.
24970 * gnulib/argp-fs-xinl.c: Likewise.
24971 * gnulib/argp-help.c: Likewise.
24972 * gnulib/argp-namefrob.h: Likewise.
24973 * gnulib/argp-parse.c: Likewise.
24974 * gnulib/argp-pin.c: Likewise.
24975 * gnulib/argp-pv.c: Likewise.
24976 * gnulib/argp-pvh.c: Likewise.
24977 * gnulib/argp-version-etc.c: Likewise.
24978 * gnulib/argp-version-etc.h: Likewise.
24979 * gnulib/argp-xinl.c: Likewise.
24980 * gnulib/argp.h: Likewise.
24981
495442ed
VS
249822010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24983
24984 * kern/device.c (grub_device_iterate): Clear errors after failed
24985 opening device.
24986
f9fd65df
VS
249872010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24988
24989 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24990 returned by firmware.
24991
af09641e
VS
249922010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24993
24994 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24995 compilation on coreboot and qemu
24996
016883a5
VS
249972010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24998
24999 * include/multiboot2.h: Resync with spec.
25000
f97e1f7d
VS
250012010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25002
25003 Multiboot2 tag support
25004
25005 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25006 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25007 Remove loader/multiboot_loader.c.
25008 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25009 (grub_multiboot2_real_boot): Likewise.
25010 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25011 (grub_get_multiboot_mmap_count): New proto.
25012 (grub_fill_multiboot_mmap): Likewise.
25013 (grub_multiboot_set_video_mode): Likewise.
25014 (grub_multiboot_set_console): Likewise.
25015 (grub_multiboot_load): Likewise.
25016 (grub_multiboot_load_elf): Likewise.
25017 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25018 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25019 * include/multiboot.h: Resynced with specification.
25020 * include/multiboot2.h: Resynced with specification.
25021 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25022 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25023 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25024 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25025 users updated.
25026 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25027 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25028 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25029 Removed.
25030 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25031 Moved from here...
25032 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25033 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25034 Moved from here...
25035 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25036 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25037 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25038 All users updated.
25039 * loader/i386/multiboot_mbi2.c: New file.
25040
3506b90b
VS
250412010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25042
25043 Resync with gnulib.
25044
25045 * Makefile.in (GNULIB_CFLAGS): New variable.
25046 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25047 (grub_script_check_CFLAGS): New variable.
25048 * gnulib/alloca.h: Resync with gnulib.
25049 * gnulib/error.c: Likewise.
25050 * gnulib/error.h: Likewise.
25051 * gnulib/fnmatch.c: Likewise.
25052 * gnulib/fnmatch_loop.c: Likewise.
25053 * gnulib/getdelim.c: Likewise.
25054 * gnulib/getline.c: Likewise.
25055 * gnulib/getopt.c: Likewise.
25056 * gnulib/getopt1.c: Likewise.
25057 * gnulib/getopt_int.h: Likewise.
25058 * gnulib/gettext.h: Likewise.
25059 * gnulib/progname.c: Likewise.
25060 * gnulib/progname.h: Likewise.
25061
394a3120
GS
250622010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25063
25064 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25065 which is the case with --disabled-nls.
25066
25067 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25068 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25069 * util/misc.c: Likewise.
25070 * util/mkisofs/mkisofs.c: Likewise.
25071 * util/mkisofs/mkisofs.h: Likewise.
25072
969d1c78
VS
250732010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25074
25075 Simplify Apple CC support.
25076
25077 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25078 Add 0 byte at the end not to have a symbol with empty target.
25079 * mmap/i386/pc/mmap_helper.S: Likewise.
25080 * genmk.rb: Ignore errors 2030 and 2050.
25081 * kern/i386/pc/startup.S: Use LOCAL when possible.
25082
8d2977bb
BC
250832010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25084
25085 Testcase and the fix for final semicolon on cmdline.
25086
25087 * tests/grub_script_final_semicolon.in: New testcase.
25088 * conf/tests.rmk: Rules for the new testcase.
25089 * script/parser.y: Grammar fix.
25090
a7bd6915
BC
250912010-03-26 BVK Chaitanya <bvk@localhost>
25092
25093 Blank lines testcase for GRUB script.
25094
25095 * tests/grub_script_blanklines.in: New testcase.
25096 * conf/tests.rmk: Rules for the new testcase.
25097
e4ff6628
VS
250982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25099
25100 Don't use __FILE__.
25101
25102 * genmk.rb: Add -DGRUB_FILE to all C targets.
25103 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25104 * include/grub/list.h: Likewise.
25105 * include/grub/misc.h: Likewise.
25106 * include/grub/mm.h: Likewise.
25107 * include/grub/test.h: Likewise.
25108 * kern/mm.c: Likewise.
25109 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25110
6a5cf6b6
VS
251112010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25112
25113 Sunpc partitions support.
25114
25115 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25116 (grub_fstest_SOURCES): Likewise.
25117 (pkglib_MODULES): Add part_sunpc.mod.
25118 (part_sunpc_mod_SOURCES): New variable.
25119 (part_sunpc_mod_CFLAGS): Likewise.
25120 (part_sunpc_mod_LDFLAGS): Likewise.
25121 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25122 * partmap/sunpc.c: New file.
25123
746d9045
BC
251242010-03-26 BVK Chaitanya <bvk@localhost>
25125
25126 For loop support to GRUB script.
25127
25128 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25129 (grub_script_create_cmdfor): New function prototype.
25130 (grub_script_execute_cmdfor): New function prototype.
25131 * script/execute.c (grub_script_execute_cmdfor): New function.
25132 * script/parser.y (command): New for command.
25133 (forcmd): New grammar rule.
25134 * script/script.c (grub_script_create_cmdfor): New function.
25135 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25136 function.
25137 * tests/grub_script_for1.in: New testcase.
25138 * conf/tests.rmk: Rules for new testcase.
25139
18486b18
VS
251402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25141
25142 Nested partitions
25143
25144 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25145 'partition' is NULL, grub_partition_get_start already does that.
25146 * commands/loadenv.c (check_blocklists): Likewise.
25147 (write_blocklists): Likewise.
25148 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25149 (grub_fstest_SOURCES): Likewise.
25150 (pkglib_MODULES): Add part_bsd.mod.
25151 (part_bsd_mod_SOURCES): New variable.
25152 (part_bsd_mod_CFLAGS): Likewise.
25153 (part_bsd_mod_LDFLAGS): Likewise.
25154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25155 (grub_emu_SOURCES): Likewise.
25156 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25157 * include/grub/bsdlabel.h: New file.
25158 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25159 'get_name'.
25160 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25161 (grub_partition_map_list): New variable.
25162 (grub_partition_map_register): Inline.
25163 (grub_partition_map_unregister): Likewise.
25164 (FOR_PARTITION_MAPS): New macro.
25165 (grub_partition_map_iterate): Removed.
25166 (grub_partition_get_start): Handle nested partitions.
25167 * include/grub/msdos_partition.h: Remove bsd-related entries.
25168 (grub_pc_partition): Remove.
25169 * kern/disk.c (grub_disk_close): Free partition data.
25170 (grub_disk_adjust_range): Handle nested partitions.
25171 * kern/partition.c (grub_partition_map_probe): New function.
25172 (grub_partition_probe): Parse name to number, handle subpartitions.
25173 (get_partmap): New function.
25174 (grub_partition_iterate): Handle subpartitions.
25175 (grub_partition_get_name): Likewise.
25176 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25177 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25178 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25179 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25180 Set 'number'.
25181 (acorn_partition_map_probe): Remove.
25182 (acorn_partition_map_get_name): Likewise.
25183 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25184 Set 'number'.
25185 Set 'index' to 0 since there can be only one partition entry per sector.
25186 (amiga_partition_map_probe): Remove.
25187 (amiga_partition_map_get_name): Likewise.
25188 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25189 Set 'number'.
25190 Set 'offset' and 'index' to real positions of partitions.
25191 (apple_partition_map_probe): Remove.
25192 (apple_partition_map_get_name): Likewise.
25193 * partmap/bsdlabel.c: New file.
25194 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25195 Set 'number'.
25196 Allocate 'data' so it can be correctly freed.
25197 Set 'index' to offset inside sector.
25198 (gpt_partition_map_probe): Remove.
25199 (gpt_partition_map_get_name): Likewise.
25200 * partmap/msdos.c (grub_partition_parse): Remove.
25201 (pc_partition_map_iterate): Don't force raw access.
25202 Set 'number'.
25203 Make 'ext_offset' a local variable.
25204 (pc_partition_map_probe): Remove.
25205 (pc_partition_map_get_name): Remove.
25206 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25207 Set 'number'.
25208 (sun_partition_map_probe): Remove.
25209 (sun_partition_map_get_name): Likewise.
25210 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25211 (grub_pcpart_type): Likewise.
25212 * util/hostdisk.c (open_device): Handle new numbering scheme.
25213 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25214 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25215 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25216 * util/grub-install.in: Insert all subpartition modules.
25217 * util/ieee1275/grub-install.in: Likewise.
25218
a3940f88
AG
252192010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25220
25221 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25222 grammar.
25223
21b99926 252242010-03-24 Colin Watson <cjwatson@ubuntu.com>
25225
25226 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25227
bed1d352
CW
252282010-03-21 Colin Watson <cjwatson@ubuntu.com>
25229
25230 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25231 match where 'make install' puts them.
25232 * util/i386/efi/grub-install.in: Likewise.
25233
c9f58427
CW
252342010-03-19 Colin Watson <cjwatson@ubuntu.com>
25235
25236 * .bzrignore: Add gentrigtables, grub-script-check,
25237 grub_script_check_init.c, grub_script_check_init.h, and
25238 trigtables.c.
25239
f84afb27
VS
252402010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25241
25242 * kern/parser.c: Indented.
25243
ed0e3d30
VS
252442010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25245
25246 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25247
0ea81d98
VS
252482010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25251 alpha_mask_size == 0 case.
25252
0cdc2a09
BC
252532010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25254
25255 GRUB shell lexer and parser improvements.
25256
25257 * conf/any-emu.rmk: Build rule updates.
25258 * conf/common.rmk: Likewise.
25259 * conf/i386-coreboot.rmk: Likewise.
25260 * conf/i386-efi.rmk: Likewise.
25261 * conf/i386-ieee1275.rmk: Likewise.
25262 * conf/i386-pc.rmk: Likewise.
25263 * conf/powerpc-ieee1275.rmk: Likewise.
25264 * conf/x86_64-efi.rmk: Likewise.
25265
25266 * configure.ac: Configure check for flex.
25267
25268 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25269 types.
25270 (grub_lexer_param): Struct member updates.
25271 (grub_parser_param): Likewise.
25272 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25273 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25274 (grub_script_lexer_init): Prototype update.
25275 (grub_script_lexer_record_start): Likewise.
25276 (grub_script_lexer_record_stop): Likewise.
25277 (grub_script_lexer_yywrap): New function prototype.
25278 (grub_script_lexer_fini): Likewise.
25279 (grub_script_execute_argument_to_string): Removed by...
25280 (grub_script_execute_argument_to_argv): ...better version.
25281
25282 * script/execute.c (ROUND_UPTO): New macro.
25283 (grub_script_execute_cmdline): Out of memory fixes.
25284 (grub_script_execute_menuentry): Likewise.
25285 (grub_script_execute_argument_to_string): Removed. Update all
25286 users by...
25287 (grub_script_execute_argument_to_argv): ...better version.
25288 * script/function.c (grub_script_function_create): Use
25289 grub_script_execute_argument_to_argv instead of
25290 grub_script_execute_argument_to_string.
25291
25292 * script/lexer.c (check_varstate): Removed.
25293 (check_textstate): Removed.
25294 (grub_script_lexer_record_start): Likewise.
25295 (grub_script_lexer_record_stop): Likewise.
25296 (recordchar): Replaced with...
25297 (grub_script_lexer_record): ...new function.
25298 (nextchar): Removed.
25299 (grub_script_lexer_init): Rewritten.
25300 (grub_script_yylex): Rewritten.
25301 (append_newline): New function.
25302 (grub_script_lexer_yywrap): New function.
25303 (grub_script_lexer_fini): New function.
25304 (grub_script_yyerror): Sets error flag.
25305
25306 * script/yylex.l: New file.
25307 (grub_lexer_yyfree): Wrapper for flex yyffre.
25308 (grub_lexer_yyalloc): Likewise.
25309 (grub_lexer_yyrealloc): Likewise.
25310 * script/parser.y: Refactored.
25311
25312 * script/script.c (grub_script_arg_add): Out of memory fixes.
25313 (grub_script_add_arglist): Likewise.
25314 (grub_script_create_cmdline): Likewise.
25315 (grub_script_create_cmdmenu): Likewise.
25316 (grub_script_add_cmd): Likewise.
25317 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25318 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25319 unnecessary code.
25320
25321 * tests/grub_script_echo1.in: New testcase.
25322 * tests/grub_script_vars1.in: New testcase.
25323 * tests/grub_script_echo_keywords.in: New testcase.
25324
1d63a066
VS
253252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 Remove some redundancy in build system.
25328
25329 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25330 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25331 (TARGET_LDFLAGS): Add -nostdlib.
25332 (TARGET_IMG_LDFLAGS): Likewise.
25333 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25334 anything since mmap isn't available.
25335 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25336 Add util/time.c.
25337 (pkglib_MODULES): Remove reboot.mod.
25338 (reboot_mod_SOURCES): Removed.
25339 (reboot_mod_CFLAGS): Likewise.
25340 (reboot_mod_LDFLAGS): Likewise.
25341 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25342 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25343 (DEFSYMFILES): Add kernel_syms.lst.
25344 (kernel_img_HEADERS): Add common headers.
25345 (symlist.c): New target.
25346 (kernel_syms.lst): Likewise.
25347 (pkglib_MODULES): Add memdisk.mod.
25348 (memdisk_mod_SOURCES): New variable.
25349 (memdisk_mod_CFLAGS): Likewise.
25350 (memdisk_mod_LDFLAGS): Likewise.
25351 (pkglib_MODULES): Add reboot.mod.
25352 (reboot_mod_SOURCES): New variable.
25353 (reboot_mod_CFLAGS): Likewise.
25354 (reboot_mod_LDFLAGS): Likewise.
25355 (pkglib_MODULES): Add date.mod.
25356 (date_mod_SOURCES): New variable.
25357 (date_mod_CFLAGS): Likewise.
25358 (date_mod_LDFLAGS): Likewise.
25359 (pkglib_MODULES): Add datehook.mod.
25360 (datehook_mod_SOURCES): New variable.
25361 (datehook_mod_CFLAGS): Likewise.
25362 (datehook_mod_LDFLAGS): Likewise.
25363 (pkglib_MODULES): Add lsmmap.mod.
25364 (lsmmap_mod_SOURCES): New variable.
25365 (lsmmap_mod_CFLAGS): Likewise.
25366 (lsmmap_mod_LDFLAGS): Likewise.
25367 (pkglib_MODULES): Add boot.mod.
25368 (boot_mod_SOURCES): New variable.
25369 (boot_mod_CFLAGS): Likewise.
25370 (boot_mod_LDFLAGS): Likewise.
25371 * conf/i386-coreboot.rmk: Removed redundant parts.
25372 * conf/i386-ieee1275.rmk: Likewise.
25373 * conf/i386-pc.rmk: Likewise.
25374 * conf/mips-yeeloong.rmk: Likewise.
25375 * conf/mips.rmk: Likewise.
25376 * conf/powerpc-ieee1275.rmk: Likewise.
25377 * conf/sparc64-ieee1275.rmk: Likewise.
25378 * conf/x86_64-efi.rmk: Likewise.
25379 * conf/i386-coreboot.rmk: Moved qemu parts ..
25380 * conf/i386-qemu.rmk: ... here
25381 * conf/i386-efi.rmk: Moved common parts to...
25382 * conf/x86-efi.rmk: ... here.
25383 * conf/i386.rmk: Added modules common to all x86 variants.
25384 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25385 * disk/memdisk.c: Remove grub/machine/kernel.h.
25386 * gensymlist.sh.in: Include symbol.h.
25387 * hook/datehook.c: Correct module name.
25388 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25389 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25390 * include/grub/i386/efi/serial.h: New file.
25391 * include/grub/x86_64/efi/serial.h: Likewise.
25392 * util/time.c: Likewise.
25393 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25394
463ac55f
CK
253952010-03-14 Colin King <colin.king@ubuntu.com>
253962010-03-14 Colin Watson <cjwatson@ubuntu.com>
25397
25398 Shrink the pre-partition-table part of boot.img by eight bytes.
25399
25400 * boot/i386/pc/boot.S (ERR): New macro.
25401 (chs_mode): Use ERR.
25402 (geometry_error): Likewise.
25403 (hd_probe_error): Remove. This is only used once, so we wrwite
25404 it inline instead.
25405 (read_error): Instead of printing read_error_string, just set up
25406 %si and fall through to ...
25407 (error_message): ... this new function, also used by ERR.
25408
08e46ede
CW
254092010-03-14 Colin Watson <cjwatson@ubuntu.com>
25410
25411 Speed up consecutive hostdisk operations on the same device.
25412
25413 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25414 (grub_util_biosdisk_open): Initialise disk->data.
25415 (struct linux_partition_cache): New structure.
25416 (linux_find_partition): Cache partition start positions; these are
25417 expensive to compute on every read and write.
25418 (open_device): Cache open file descriptor in disk->data, so that we
25419 don't have to reopen it and flush the buffer cache for consecutive
25420 operations on the same device.
25421 (grub_util_biosdisk_close): New function.
25422 (grub_util_biosdisk_dev): Set `close' member.
25423
25424 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25425 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25426 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25427 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25428 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25429
4a6d2d06
VS
254302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 Compile parts of grub-emu as modules.
25433
25434 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25435 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25436 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25437 (all-local): Add $(GRUB_EMU).
25438 (install-local): Install $(GRUB_EMU).
25439 (uninstall): Uninstall $(GRUB_EMU).
25440 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25441 * kern/dl.c: Likewise.
25442 * commands/sleep.c: Not include machine/time.h.
25443 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25444 (COMMON_CFLAGS): Likewise.
25445 (sbin_UTILITIES): Remove grub-emu.
25446 (grub_emu_SOURCES): Removed.
25447 (kernel_img_RELOCATABLE): New variable.
25448 (pkglib_PROGRAMS): Add kernel.img.
25449 (kernel_img_SOURCES): New variable
25450 (kernel_img_CFLAGS): Likewise.
25451 (kernel_img_LDFLAGS): Likewise.
25452 (TARGET_NO_STRIP): Likewise.
25453 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25454 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25455 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25456 (grub-emu): New target.
25457 (GRUB_EMU): New variable.
25458 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25459 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25460 * loader/xnu.c: Likewise.
25461 * include/grub/pci.h: Likewise.
25462 * genemuinit.sh: New file.
25463 * genemuinitheader.sh: Likewise.
25464 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25465 Support TARGET_NO_DYNAMIC_MODULES.
25466 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25467 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25468 * disk/loopback.c: Likewise.
25469 * font/font_cmd.c: Likewise.
25470 * partmap/acorn.c: Likewise.
25471 * partmap/amiga.c: Likewise.
25472 * partmap/apple.c: Likewise.
25473 * partmap/gpt.c: Likewise.
25474 * partmap/msdos.c: Likewise.
25475 * partmap/sun.c: Likewise.
25476 * parttool/msdospart.c: Likewise.
25477 * term/gfxterm.c: Likewise.
25478 * video/bitmap.c: Likewise.
25479 * video/readers/jpeg.c: Likewise.
25480 * video/readers/png.c: Likewise.
25481 * video/readers/tga.c: Likewise.
25482 * video/video.c: Likewise.
25483 * util/grub-emu.c (read_command_list): Removed.
25484 (main): Don't call util_init_nls.
25485 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25486 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25487
91fdd2ed
VS
254882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25489
25490 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25491 date.mod, datehook.mod.
25492 (datetime_mod_SOURCES): New variable.
25493 (datetime_mod_CFLAGS): Likewise.
25494 (datetime_mod_LDFLAGS): Likewise.
25495 (date_mod_SOURCES): Likewise.
25496 (date_mod_CFLAGS): Likewise.
25497 (date_mod_LDFLAGS): Likewise.
25498 (datehook_mod_SOURCES): Likewise.
25499 (datehook_mod_CFLAGS): Likewise.
25500 (datehook_mod_LDFLAGS): Likewise.
25501 * conf/sparc64-ieee1275.rmk: Likewise.
25502 * lib/ieee1275/datetime.c: New file.
25503
873ccae6
VS
255042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25505
25506 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25507 (ieee1275_fb_mod_SOURCES): New variable.
25508 (ieee1275_fb_mod_CFLAGS): Likewise.
25509 (ieee1275_fb_mod_LDFLAGS): Likewise.
25510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25511 New proto.
25512 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25513 (HEAP_MAX_ADDR): Likewise.
25514 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25515 type.
25516 Correct stop condition.
25517 (grub_ieee1275_devices_iterate): New function.
25518 * video/ieee1275.c: New file.
25519
601c97c0
VS
255202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25521
25522 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25523
25524 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25525 as scratch.
25526 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25527 SCRATCH_PAD_DISKBOOT as scratch.
25528 (bootit): Pass Openfirmware pointer in %o4.
25529 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25530 of 0x200000.
25531 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25532 with util/grub-mkrawimage.c.
25533 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25534 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25535 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25536 (grub_aout_load) [GRUB_UTIL]: Likewise.
25537 * include/grub/kernel.h (grub_modules_get_end): New proto.
25538 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25539 (SCRATCH_PAD_BOOT): New definition.
25540 (SCRATCH_PAD_DISKBOOT): Likewise.
25541 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25542 * include/grub/sparc64/ieee1275/ieee1275.h
25543 (grub_ieee1275_original_stack): New variable
25544 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25545 New definition
25546 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25547 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25548 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25549 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25550 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25551 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25552 (grub_platform_image_format_t): New type.
25553 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25554 * kern/main.c (grub_modules_get_end)
25555 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25556 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25557 (codestart): Switch stacks.
25558 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25559 variable.
25560 (grub_heap_init): Use grub_modules_get_end.
25561 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25562 stack.
25563 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25564 (main): Likewise.
25565 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25566
d68b491e
TG
255672010-03-14 Thorsten Glaser <tg@mirbsd.org>
25568
25569 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25570
4e02ed50
MK
255712010-03-08 Matt Kraai <kraai@ftbfs.org>
25572
25573 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25574 bug #559005).
25575
1f15fc1e
VS
255762010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25577
25578 * genmoddep.awk: Output all missing symbols and not only first.
25579
fce5d8ff
VS
255802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 * NEWS: Put the date of 1.98 release.
25583
d1e8a02f
VS
255842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25585
25586 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25587 ft2build.h.
25588
696fd607
VS
255892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25590
25591 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25592 completition in the middle of string.
25593
33e2e6f3
VS
255942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25595
25596 * util/grub-mkrescue.in: Use mktemp with explicit template.
25597
b1f6d291
VS
255982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25599
25600 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25601
2ac227c7
VS
256022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25603
25604 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25605 right pointer.
25606
8f9a632b
VS
256072010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25608
25609 Fix FreeBSD compilation.
25610
25611 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25612 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25613
60b03859
VS
256142010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25617
48a5a769
VS
256182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25619
25620 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25621
3ab4bd77
VS
256222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25623
25624 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25625
d116e0d8
RM
256262010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25627
25628 Support relative image path in theme file.
25629
25630 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25631 (image_set_property): Handle theme_dir and relative path.
25632
c7ef54aa
VS
256332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25634
25635 * configure.ac: Alias amd64 to x86_64.
25636
fcee14ed
VS
256372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25638
25639 * NEWS: mention multiboot on EFI.
25640
d0780363
VS
256412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25642
25643 * kern/main.c (grub_load_modules): Handle errors from init functions of
25644 embeded modules.
25645
41168ea4
VS
256462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25647
25648 * normal/autofs.c (autoload_fs_module): Handle errors.
25649
b54d93ac
VS
256502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25651
25652 Disable linux.mod on qemu-mips since it's not functional and leads
25653 to compilation failure.
25654
25655 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25656 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25657 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25658 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25659 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25660 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25661 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25662 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25663 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25664 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25665 Reported by: BVK Chaitanya
25666
fc8345da
JU
256672010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25668
25669 * INSTALL: Add gettext as a dependency and add qemu to a new section
25670 "Prerequisites for make-check".
25671
4760f979
CF
256722010-03-04 Christian Franke <franke@computer.org>
25673
25674 * util/grub-pe2elf.c: Add missing include "progname.h".
25675
f209b5b2
VS
256762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25677
25678 * normal/crypto.c (read_crypto_list): Fix a typo.
25679 Reported by: Seth Goldberg.
25680
b4b7be98
VS
256812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25684 Reported by: Seth Goldberg.
b4b7be98 25685
c0ee0385
VS
256862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25687
25688 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25689 ascii.bitmaps.
25690
a8efbf64
VS
256912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25692
25693 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25694 Reported by: Seth Goldberg.
a8efbf64 25695
08dcd913
VS
256962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25697
25698 * util/i386/efi/grub-install.in: Copy gettext files.
25699
c4d0b332
VS
257002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25703
c6f2fe52
VS
257042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25705
25706 Wait for user entry basing on presence of output rather than on errors.
25707
25708 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25709 (grub_install_newline_hook): Likewise.
25710 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25711 * normal/menu.c (show_menu): Check line_counter to determine presence
25712 of output.
25713 * normal/term.c (grub_normal_line_counter): New variable.
25714 (grub_normal_get_line_counter): New function.
25715 (grub_install_newline_hook): Likewise.
25716
5382b1e4
VS
257172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25718
25719 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25720
5519963b
VS
257212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25722
25723 * configure.ac: Update version to 1.98.
25724
72b28631
VS
257252010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25726
25727 * util/grub.d/10_linux.in (linux_entry): Don't default to
25728 gfxpayload=keep if Linux doesn't support video handover.
25729
c140a180
VS
257302010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25731
25732 Don't compile video modules on yeeloong since video subsystem is part
25733 of kernel.
25734
25735 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25736 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25737 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25738 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25739 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25740 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25741 * include/grub/bitmap_scale.h: Likewise.
25742 * include/grub/bufio.h: Likewise.
25743 * include/grub/font.h: Likewise.
25744 * include/grub/gfxterm.h: Likewise.
25745 * include/grub/video.h: Likewise.
25746 * include/grub/vbe.h: Don't include video_fb.h.
25747 * video/i386/pc/vbe.c: Include video_fb.h.
25748 * commands/i386/pc/vbetest.c: Include video.h.
25749
a0ca21c2
CW
257502010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25751
25752 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25753 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25754 default entry if GRUB_SAVEDEFAULT=true. This allows using
25755 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25756 saving a new default on every boot.
25757
4a8a763c
VS
257582010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25759
25760 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25761 * normal/term.c (read_terminal_list): Likewise.
25762 * normal/main.c (grub_normal_init_page): Likewise.
25763 (grub_normal_read_line_real): Likewise.
25764
607ffde2
VS
257652010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25766
25767 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25768 memory leak.
25769 Reported by: Seth Goldberg.
25770
2b8fa975
CW
257712010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25772
25773 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25774 duplicate declaration of `start'.
25775
618307dd
VS
257762010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25779 filename.
25780 Reported by: Georgy Buranov
25781
7dd05b96 257822010-02-20 Carles Pina i Estany <carles@pina.cat>
25783
25784 * util/grub-mkrawimage.c (usage): Change string formatting to
25785 improve gettext.
25786
d1484a42
MRA
257872010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25788
25789 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25790 backspace keys.
25791
42b1d186
VS
257922010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25793
25794 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25795 Reported by: Michael Suchanek.
25796
257972010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25798
25799 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25800 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25801
d9f31a41
VS
258022010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25803
25804 Remove any reference to non-free fonts.
25805
25806 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25807 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25808 uses non-free components.
25809 * font/font.c (grub_font_get_name): Remove example name.
25810 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25811 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25812 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25813 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25814
2793c71e
GB
258152010-02-16 Georgy Buranov <gburanov@gmail.com>
25816
25817 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25818
402e3779
VS
258192010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25822 Double divisor.
25823 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25824 features.
25825 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25826
0dd1e0dd
VS
258272010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25828
25829 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25830
6fa7cfce
ST
258312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25832
25833 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25834 * docs/grub.texi (Command-line and menu entry commands): Document play
25835 command.
25836
37c8483b
ST
258372010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25838
25839 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25840 parse arguments as inline tempo and notes. Move code for playing notes
25841 to...
25842 (play): ... new function.
25843
14da0fb7
ST
258442010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25845
25846 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25847 grub_uint16_t instead of short.
25848 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25849 disk from little endian to cpu endianness.
25850
04459e70
ST
258512010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25852
25853 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25854 GRUB_TICKS_PER_SECOND instead of 120.
25855
a0876943
VS
258562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25857
25858 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25859 escape sequence after \e.
25860
e29f95dc
VS
258612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25862
25863 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25864 non-ASCII characters.
25865
d27859b2
VS
258662010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25867
25868 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25869 set root in single quotes to prevent \, from being unescaped.
25870
bc028f2f
VS
258712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25872
25873 Prevent unknown commands from stopping menuentry execution.
25874
25875 * script/execute.c (grub_script_execute_cmdline): Print error after
25876 unknown command.
25877
095f5f82
VS
258782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25879
25880 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25881 Reported by: Pavel Pisa.
25882
8c717950
VS
258832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25886
904935c3
VS
258872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25888
25889 Merge grub_ieee1275_map_physical into grub_map and rename to
25890 grub_ieee1275_map
25891
25892 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25893 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25894 Remove.
25895 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25896 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25897 necessary.
25898 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25899
5b59a4e3
VS
259002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25901
25902 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25903 opening and not after.
25904
69e137e8
VS
259052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25906
25907 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25908 constants.
25909
2c0fcc36
VS
259102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25911
25912 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25913 (alloc_phys): Use ALIGN_UP instead of align_addr.
25914
8c6052ce
VS
259152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25916
25917 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25918
17cec782
VS
259192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25920
25921 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25922
e0128bbd
VS
259232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25924
25925 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25926 verbose dprintf.
25927
ca62070b
VS
259282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25929
25930 Fix over-4GiB seek on sparc64.
25931
25932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25933 Replace pos_i and pos_lo with pos. All users updated.
25934 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25935 New constant.
25936 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25937 Likewise.
25938 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25939 and pos_lo.
25940
bdca2607
VS
259412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 * util/grub-mkrawimage.c (main): Call set_program_name.
25944
da278c4d
VS
259452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25946
25947 Properly align 64-bit targets.
25948
25949 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25950 (generate_image): Use ALIGN_ADDR.
25951
b274d734
VS
259522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25953
25954 Properly create cross-endian images.
25955
25956 * include/grub/types.h (grub_host_to_target_addr): New macro
25957 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25958
82da2062
VS
259592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25960
25961 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25962
7cae4377
VS
259632010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25964
25965 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25966
25967 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25968 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25969 (grub_linux_boot): Divide by 64K when on VESA.
25970
65a533e7
VS
259712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25972
25973 Support GRUB_GFXPAYLOAD_LINUX.
25974
25975 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25976 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25977
dd01d397
VS
259782010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25979
25980 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25981 to show messages instead of discarding them.
25982 Process errors after executing command and not before. Keep old method
25983 too as precaution.
25984
660960d6
VS
259852010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25986
25987 * configure.ac: Check for ft2build.h.
25988
62509f04
VS
259892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25990
25991 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25992
473df63d
VS
259932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25994
25995 * genkernsyms.sh.in: Use TARGET_CC.
25996
c98d2a13
CW
259972010-02-07 Colin Watson <cjwatson@ubuntu.com>
25998
25999 * NEWS: Update.
26000
6e14234c
VS
260012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26002
26003 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26004 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26005 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26006
b255e9cf
YB
260072010-02-07 Yves Blusseau <blusseau@zetam.org>
26008
6e14234c 26009 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26010
98e6959d
VS
260112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26012
26013 Fix warnings in grub-emu when compiling with maximum warning options.
26014
26015 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26016 (grub_arch_modules_addr): Return 0 and not NULL.
26017 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26018 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26019 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26020 of disk to dsk to avoid shadowing.
74e4934e
VS
26021 (find_free_slot): Fix prototype.
26022 * util/getroot.c (grub_util_is_dmraid): Make static.
26023 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26024 Add missing prototype.
26025 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26026
74e31b5c
VS
260272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26028
26029 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26030 appropriately.
26031
6b2ad14b
VS
260322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26033
26034 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26035 code out.
26036
8f891adc
VS
260372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26038
26039 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26040 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26041 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26042 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26043 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26044 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26045
74b45184
VS
260462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26047
26048 * include/grub/err.h (grub_err_printf): Don't export.
26049
a4bced77
VS
260502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26051
26052 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26053
007d0695
VS
260542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26057 * kern/misc.c (grub_gettext_dummy): Make static.
26058
b6c0d9c2
VS
260592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26060
26061 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26062 by non-valid ones.
26063 * kern/term.c (grub_putchar): Likewise.
26064
f51a90d0
VS
260652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26066
26067 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26068 buggy hook call and memory leak.
26069
6846cec5
VS
260702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26071
26072 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26073
468d69fe
VS
260742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26075
26076 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26077
51906b8c
VS
260782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26079
26080 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26081 modevar.
26082 Return grub_errno on allocation error.
26083
09706ce5
VS
260842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26085
26086 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26087
911df80c
YB
260882010-02-06 Yves Blusseau <blusseau@zetam.org>
26089
26090 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26091 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26092
3746a6bc
VS
260932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26094
26095 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26096 non-pxe disk.
26097 (grub_pxefs_open): Likewise.
26098
09706ce5
VS
260992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26100
26101 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26102 * util/grub.d/10_kfreebsd.in: Likewise.
26103 * util/grub.d/10_linux.in: Likewise.
26104
7cc192d9
VS
261052010-02-06 Colin D Bennett <colin@gibibit.com>
26106
26107 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26108 (gfxmenu_mod_SOURCES): New variable.
26109 (gfxmenu_mod_CFLAGS): Likewise.
26110 (gfxmenu_mod_LDFLAGS): Likewise.
26111 * include/grub/term.h (grub_term_set_current_output): Declare
26112 argument as const.
26113 * docs/gfxmenu-theme-example.txt: New file.
26114 * gfxmenu/gfxmenu.c: Likewise.
26115 * gfxmenu/gui_box.c: Likewise.
26116 * gfxmenu/gui_canvas.c: Likewise.
26117 * gfxmenu/gui_circular_progress.c: Likewise.
26118 * gfxmenu/gui_image.c: Likewise.
26119 * gfxmenu/gui_label.c: Likewise.
26120 * gfxmenu/gui_list.c: Likewise.
26121 * gfxmenu/gui_progress_bar.c: Likewise.
26122 * gfxmenu/gui_string_util.c: Likewise.
26123 * gfxmenu/gui_util.c: Likewise.
26124 * gfxmenu/icon_manager.c: Likewise.
26125 * gfxmenu/model.c: Likewise.
26126 * gfxmenu/named_colors.c: Likewise.
26127 * gfxmenu/theme_loader.c: Likewise.
26128 * gfxmenu/view.c: Likewise.
26129 * gfxmenu/widget-box.c: Likewise.
26130 * include/grub/gfxmenu_model.h: Likewise.
26131 * include/grub/gfxmenu_view.h: Likewise.
26132 * include/grub/gfxwidgets.h: Likewise.
26133 * include/grub/gui.h: Likewise.
26134 * include/grub/gui_string_util.h: Likewise.
26135 * include/grub/icon_manager.h: Likewise.
26136
261372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26138
26139 Agglomerate scrolling in gfxterm.
26140
26141 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26142 (grub_virtual_screen_setup): Initialise 'total_screen'.
26143 (write_char): Split to ...
26144 (paint_char): ... this ...
26145 (write_char): ... and this.
26146 (paint_char): Handle delayed scrolling.
26147 (draw_cursor): Likewise.
26148 (scroll_up): Split to ...
26149 (real_scroll): ... this ...
26150 (scroll_up): ... and this.
26151 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26152 characters.
26153 (grub_gfxterm_refresh): Call real_scroll.
26154
261552010-02-06 Colin D Bennett <colin@gibibit.com>
26156
26157 * include/grub/misc.h (grub_iscntrl): New inline function.
26158 (grub_isalnum): Likewise.
26159 (grub_strtol): Likewise.
26160
261612010-02-06 Colin D Bennett <colin@gibibit.com>
26162
26163 * normal/menu_text.c (get_entry_number): Move from here ...
26164 * normal/menu.c (get_entry_number): ... moved here.
26165 * include/grub/menu.h (grub_menu_get_default_entry_index):
26166 New prototype.
26167 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26168 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26169 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26170 (grub_menu_viewer_should_return): Likewise.
26171 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26172 * normal/menu_text.c (run_menu): Enable menu switching.
26173 * normal/menu_viewer.c (should_return): New variable.
26174 (menu_viewer_changed): Likewise.
26175 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26176 (grub_menu_viewer_should_return): New function.
26177 (menuviewer_write_hook): Likewise.
26178 (grub_menu_viewer_init): Likewise.
26179
261802010-02-06 Colin D Bennet <colin@gibibit.com>
261812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 Support for gfxterm in a window.
26184
26185 * include/grub/gfxterm.h: New file.
26186 * include/grub/video.h (struct grub_video_rect): New declaration.
26187 (grub_video_rect_t): Likewise.
26188 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26189 (refcount): New variable.
26190 (render_target): Likewise.
26191 (window): Likewise.
26192 (repaint_callback): Likewise.
26193 (grub_virtual_screen_setup): Use 'render_target'.
26194 (init_window): New function.
26195 (grub_gfxterm_init_window): Likewise.
26196 (grub_gfxterm_init): Check reference counter.
26197 Use init_window.
26198 (destroy_window): New function.
26199 (grub_gfxterm_destroy_window): Likewise.
26200 (grub_gfxterm_fini): Check reference counter.
26201 Use destroy_window.
26202 (redraw_screen_rect): Restore viewport.
26203 Use 'render_target' and 'window'.
26204 Call 'repaint_callback'.
26205 (write_char): Use 'render_target'.
26206 (draw_cursor): Likewise.
26207 (scroll_up): Restore viewport.
26208 Use 'render_target' and 'window'.
26209 Call 'repaint_callback'.
26210 (grub_gfxterm_cls): Likewise.
26211 (grub_gfxterm_refresh): Use 'window'.
26212 (grub_gfxterm_set_repaint_callback): New function.
26213 (grub_gfxterm_background_image_cmd): Use 'window'.
26214 (grub_gfxterm_get_term): New function.
26215 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26216
262172010-02-06 Colin D Bennett <colin@gibibit.com>
26218
26219 Bitmap scaling support.
26220
26221 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26222 (bitmap_scale_mod_SOURCES): New variable.
26223 (bitmap_scale_mod_CFLAGS): Likewise.
26224 (bitmap_scale_mod_LDFLAGS): Likewise.
26225 * include/grub/bitmap_scale.h: New file.
26226 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26227 (background_image_cmd_options): New variable.
26228 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26229 (cmd): Rename and change type to ...
26230 (background_image_cmd_handle): ... this. All users updated.
26231 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26232 * video/bitmap_scale.c: New file.
26233
262342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26235
26236 SDL support.
26237
26238 * Makefile.in (LIBSDL): New variable.
26239 (enable_grub_emu_sdl): Likewise.
26240 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26241 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26242 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26243 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26244 * util/sdl.c: New file.
26245
262462010-02-06 Colin D Bennett <colin@gibibit.com>
262472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26248
26249 Double buffering support.
26250
26251 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26252 * include/grub/video.h: Update comment.
26253 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26254 New type.
26255 (grub_video_fb_doublebuf_blit_init): New prototype.
26256 * term/gfxterm.c (scroll_up): Support double buffering.
26257 (grub_gfxterm_refresh): Likewise.
26258 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26259 (grub_video_fb_doublebuf_blit_init): Likewise.
26260 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26261 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26262 'displayed_page', 'render_page' and 'update_screen'.
26263 (grub_video_vbe_fini): Free offscreen buffer.
26264 (doublebuf_pageflipping_commit): New function.
26265 (doublebuf_pageflipping_update_screen): Likewise.
26266 (doublebuf_pageflipping_init): Likewise.
26267 (double_buffering_init): Likewise.
26268 (grub_video_vbe_setup): Enable doublebuffering.
26269 (grub_video_vbe_swap_buffers): Implement.
26270 (grub_video_vbe_set_active_render_target): Handle double buffering.
26271 (grub_video_vbe_get_active_render_target): Likewise.
26272 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26273 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26274 (grub_video_vbe_enable_double_buffering): Likewise.
26275 (grub_video_vbe_swap_buffers): Use update_screen.
26276 (grub_video_set_mode): Use double buffering.
26277
262782010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26279
26280 * maintainance/gentrigtables.py: Remove.
26281 * lib/trig.c: Likewise.
26282
26283 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26284
26285 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26286 `trigtables.c'.
26287 (trigtables.c): New rule.
26288 (gentrigtables): Likewise.
26289 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26290
262912010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26292
26293 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26294 integer constants.
26295
262962010-02-06 Colin D Bennet <colin@gibibit.com>
26297
26298 Trigonometry support.
26299
26300 * include/grub/trig.h: New file.
26301 * lib/trig.c: Likewise.
26302 * maintainance/gentrigtables.py: Likewise.
26303 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26304 (trig_mod_SOURCES): New variable.
26305 (trig_mod_CFLAGS): Likewise.
26306 (trig_mod_LDFLAGS): Likewise.
26307
5562834e
VS
263082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26309
26310 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26311 disk devices.
26312
4f8528fc
VS
263132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26314
26315 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26316 error.
26317
2b4068e9
VS
263182010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26319
26320 * util/hostdisk.c (open_device): Don't use partition device when reading
26321 before the partition.
26322 (grub_util_biosdisk_read): Don't read from partition and before the
26323 partition in single operation.
26324 (grub_util_biosdisk_write): Don't write to partition and before the
26325 partition in single operation.
26326
399f6e4d
TL
263272010-02-03 Torsten Landschoff <torsten@debian.org>
26328
26329 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26330 last sectors.
26331
996649b0
VS
263322010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26333
26334 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26335 CDROM reads.
26336 (grub_biosdisk_write): Refuse to write to CDROM.
26337
3b205d4d
VS
263382010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26339
26340 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26341
61e89d9d
VS
263422010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 * font/font.c (find_glyph): Check that bmp_idx is available before
26345 using it.
26346 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26347 with (font == NULL).
26348
bf7fcba2
CS
263492010-01-28 Christian Schmitt <chris@ilovelinux.de>
26350
26351 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26352
f45d2663
BC
263532010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26354
26355 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26356 * util/grub-script-check.c (getline): Fix empty lines case.
26357
ec1444e6
RM
263582010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26359
26360 * Makefile.in (check): Exit with fail status when one of the tests
26361 fails.
26362 * tests/example_functional_test.c (example_test): Fix reversed assert.
26363 * tests/example_unit_test.c (example_test): Likewise.
26364
2e1cb9bb
CW
263652010-01-28 Colin Watson <cjwatson@ubuntu.com>
26366
26367 * util/grub.d/10_linux.in: This script does not use any of the
26368 contents of gettext.sh, only the external command `gettext', so stop
26369 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26370 the same prefix as GRUB.)
26371 * util/grub.d/10_kfreebsd.in: Likewise.
26372
63533ab0
VS
263732010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26376 of the line.
26377
989e1f93
VS
263782010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26379
26380 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26381 last sectors.
26382
e709ebe2
VS
263832010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26384
26385 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26386 having a 4KiB and not 32KiB buffer size.
26387
27dea7ed
RM
263882010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26389
26390 * util/hostfs.c: Include `<errno.h>'.
26391 (grub_hostfs_read): Handle errors from fseeko() and fread().
26392
67667b9c
RM
263932010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26394
26395 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26396 loop when using read hooks on files whose size isn't sector-aligned.
26397
c294d9d8
RM
263982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26399
26400 Remove unused parameter.
26401
26402 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26403 (grub_iso9660_open): Remove initialization of `data->length'.
26404
af75a9f1
RM
264052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26406
26407 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26408 memleak conditions.
26409
254e2ce5 264102010-01-27 Carles Pina i Estany <carles@pina.cat>
26411
26412 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26413 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26414
b510928c 264152010-01-26 Carles Pina i Estany <carles@pina.cat>
26416
26417 * util/bin2h.c (usage): Fix warning (space after backslash).
26418
aa2f9dd2 264192010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26420
26421 * font/font.c: Include `grub/fontformat.h.
26422 Remove font file format constants.
26423 (grub_font_load): Use the new macros.
26424 * include/grub/fontformat.h: New file.
26425 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26426 (write_font_pf2): Use the new macros.
26427
94e7e712
RM
264282010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26429
26430 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26431 does.
26432
3973a59a
RM
264332010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26434
26435 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26436
26437 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26438 (_start): Macroify `0x7F'.
26439
26440 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26441 (make_install_device): Use "(pxe)" as fallback prefix when booting
26442 via PXE.
26443
42e0cba3
GS
264442010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 * configure.ac: Reset LIBS after check for libgcc symbols.
26447
847effd8
CW
264482010-01-25 Colin Watson <cjwatson@ubuntu.com>
26449
26450 * util/hostdisk.c (open_device): Add trailing newline to debug
26451 message.
26452
ea4a7e35
GS
264532010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26454
26455 * configure.ac: Check for `limits.h'.
26456 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26457
67951a53
RM
264582010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26459
26460 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26461 capitalize error strings.
26462
c273d4ce
ST
264632010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26464
26465 * util/grub.d/10_hurd.in: Add a recovery mode.
26466
69be5b74
VS
264672010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26468
26469 * configure.ac: Check for libgcc symbols with -nostdlib.
26470
fc9e5810
BC
264712010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26472
26473 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26474
4b358c0a
VS
264752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26476
26477 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26478 stack since heap may be unavailable at that point.
26479 (grub_ofconsole_gotoxy): Likewise.
26480
454fcd1c
VS
264812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26482
26483 * configure.ac: Check for _restgpr_14_x.
26484 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26485 and _savegpr_* prototypes.
26486
566863ca
RM
264872010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26488
26489 Use generic grub_reboot() for i386-efi.
26490
26491 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26492 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26493 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26494
bf86e59a
VS
264952010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26496
26497 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26498 presence of "prefix" variable as it breaks when normal.mod is
26499 embedded.
26500
d645e0f8
VS
265012010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26504 stack since heap is unavailable at that point.
26505
f9ab2e25
VS
265062010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26507
26508 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26509 (grub_freebsd_bootinfo): Rewritten.
26510 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26511
01fc7054
VS
265122010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26513
26514 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26515
caab4fd6
RM
265162010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26517
26518 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26519 domain now.
26520
67eb1427
FZ
265212010-01-20 Felix Zielcke <fzielcke@z-51.de>
26522
26523 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26524 around for handling "/" to the correct fix. Fix a memory leak. Use
26525 xstrdup instead of strdup.
26526
a9ed4ff3
VS
265272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26528
26529 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26530
265312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26532
26533 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26534
26535 * font/font.c (struct grub_font): New member 'bmp_idx'.
26536 (font_init): Initialise 'bmp_idx'.
26537 (load_font_index): Fill 'bmp_idx'.
26538 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26539
48209f4f
VS
265402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26541
26542 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26543 unnecessary calls.
26544
9f0a4bb7
VS
265452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26546
26547 Move context handling out of the kernel.
26548
26549 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26550 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26551 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26552 * conf/i386-efi.rmk: Likewise.
26553 * conf/i386-ieee1275.rmk: Likewise.
26554 * conf/i386-pc.rmk: Likewise.
26555 * conf/powerpc-ieee1275.rmk: Likewise.
26556 * conf/sparc64-ieee1275.rmk: Likewise.
26557 * conf/x86_64-efi.rmk: Likewise.
26558 * include/grub/env.h: Include grub/menu.h.
26559 (grub_env_var_type): Removed.
26560 (grub_env_var): Replaced field 'type' with 'global'.
26561 (grub_env_find): New prototype.
26562 (grub_env_context_open): Remove EXPORT_FUNC.
26563 (grub_env_context_close): Likewise.
26564 (grub_env_export): Likewise.
26565 (grub_env_set_data_slot): Removed.
26566 (grub_env_get_data_slot): Likewise.
26567 (grub_env_unset_data_slot): Likewise.
26568 (grub_env_unset_menu): New prototype.
26569 (grub_env_set_menu): Likewise.
26570 (grub_env_get_menu): Likewise.
26571 * include/grub/env_private.h: New file.
26572 * include/grub/normal.h (grub_context_init): New prototype.
26573 (grub_context_fini): Likewise.
26574 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26575 * normal/context.c (grub_cmd_export): ... to here.
26576 * kern/env.c: Include env_private.h.
26577 (HASHSZ): Moved to include/grub/env_private.h.
26578 (grub_env_context): Likewise.
26579 (grub_env_sorted_var): Likewise.
26580 (current_context): Renamed from this ...
26581 (grub_current_context): ...to this. 'static' removed. All users updated.
26582 (grub_env_find): Removed 'static'.
26583 (grub_env_context_open): Moved to normal/context.c.
26584 (grub_env_context_close): Likewise.
26585 (grub_env_export): Likewise.
26586 (mangle_data_slot_name): Removed.
26587 (grub_env_set_data_slot): Likewise.
26588 (grub_env_get_data_slot): Likewise.
26589 (grub_env_unset_data_slot): Likewise.
26590 * kern/main.c (grub_set_root_dev): Don't export root.
26591 It will be done later.
26592 (grub_main): Don't export prefix.
26593 It will be done later.
26594 * normal/context.c: New file.
26595 * normal/main.c (free_menu): Use grub_env_unset_menu.
26596 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26597 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26598 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26599 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26600
8dd35b8c
VS
266012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 setpci support.
26604
26605 * commands/setpci.c: New file.
26606 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26607 (setpci_mod_SOURCES): New variable.
26608 (setpci_mod_CFLAGS): Likewise.
26609 (setpci_mod_LDFLAGS): Likewise.
26610
449193d5
VS
266112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 Byte-addressable PCI configuration space.
26614
26615 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26616 dword address.
26617 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26618 GRUB_PCI_REG_CACHELINE.
26619 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26620 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26621 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26622 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26623 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26624 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26625 grub_pci_make_address.
26626 (lock_rom_area): Likewise.
26627 * commands/lspci.c (grub_lspci_iter): Use macroses
26628 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26629 of grub_pci_make_address.
26630 * disk/ata.c (grub_ata_pciinit): Likewise.
26631 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26632 (GRUB_PCI_REG_VENDOR): Likewise.
26633 (GRUB_PCI_REG_DEVICE): Likewise.
26634 (GRUB_PCI_REG_COMMAND): Likewise.
26635 (GRUB_PCI_REG_STATUS): Likewise.
26636 (GRUB_PCI_REG_REVISION): Likewise.
26637 (GRUB_PCI_REG_CLASS): Likewise.
26638 (GRUB_PCI_REG_CACHELINE): Likewise.
26639 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26640 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26641 (GRUB_PCI_REG_BIST): Likewise.
26642 (GRUB_PCI_REG_ADDRESSES): Likewise.
26643 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26644 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26645 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26646 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26647 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26648 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26649 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26650 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26651 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26652 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26653 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26654 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26655 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26656 (GRUB_PCI_REG_MIN_GNT): Likewise.
26657 (GRUB_PCI_REG_MAX_LAT): Likewise.
26658 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26659 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26660 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26661 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26662 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26663 space.
26664
96d73208
RM
266652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26666
26667 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26668 can be reliably determined to be supported.
26669
d4484482
RM
266702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26671
26672 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26673 that VESA is supported.
26674 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26675 supported.
26676
00308ecf
VS
266772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26678
26679 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26680
f66924a4
RM
266812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26682
26683 * util/misc.c (make_system_path_relative_to_its_root): Work around
26684 special-casing of "/", as previous incarnation of this routine did.
26685
cbca0ada
VS
266862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26687
26688 Fix any-emu compilation.
26689
26690 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26691 * grub_bin2h_SOURCES: New variable.
26692
34a66d99
RM
266932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26694
26695 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26696
94fabf58
RM
266972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26698
26699 * util/grub.d/00_header.in: Fix handling of locale_dir.
26700
02cf98ca
VS
267012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26702
26703 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26704 as possible unifont location (Gentoo).
26705 Reported by: Alexander Brüning
26706
327dbcd7
VS
267072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26708
26709 Don't try to generate lists for kernel.img.
26710
26711 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26712 (pkglib_MODULES): Remove kernel.img.
26713 (kernel_img_EXPORTS): Removed.
26714 (kernel_img_RELOCATABLE): New variable.
26715 * conf/x86_64-efi.rmk: Likewise.
26716 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26717
ca467290
VS
267182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26721 grub_xasprintf or grub_snprintf.
26722 (grub_vsprintf): Likewise.
26723 (grub_snprintf): New proto.
26724 (grub_vsnprintf): Likewise.
26725 (grub_xasprintf): Likewise.
26726 (grub_xvasprintf): Likewise.
26727 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26728 (grub_sprintf): Removed.
26729 (grub_vsnprintf): New function.
26730 (grub_snprintf): Likewise.
26731 (grub_xvasprintf): Likewise.
26732 (grub_xasprintf): Likewise.
26733 (grub_vsprintf): Renamed to ...
26734 (grub_vsnprintf_real): ...this. New argument max_len.
26735
aca655fd
BC
267362010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26737
26738 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26739 fix grub-script-check warning.
26740
7ee92c32
VS
267412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26742
26743 * include/grub/font.h (grub_font_load): Fix prototype.
26744
f80927ca
VS
267452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26746
26747 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26748
119c50ea
VS
267492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26750
26751 * include/grub/x86_64/at_keyboard.h: New file.
26752
47d5f3c1
VS
267532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26754
26755 * loader/mips/linux.c: Include missing grub/i18n.h.
26756
55ff5266
RM
267572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26758
26759 * normal/menu.c (notify_execution_failure): Clarify error message.
26760
c893cc87
RM
267612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26762
26763 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26764 return value (and revert all return statements). Update users.
26765
917dd370
CW
267662010-01-20 Dan Merillat <debian@dan.merillat.org>
26767
26768 * kern/device.c (grub_device_iterate): Allocate new part_ent
26769 structure based on sizeof (*p) rather than sizeof (p->next), to
26770 account for structure padding.
26771
26772 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26773 disk is NULL, which might happen for LVM physical volumes with no
26774 LVM signature.
26775
d4a4ee57
RM
267762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26777
26778 * loader/mips/linux.c (grub_cmd_initrd)
26779 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26780
267812009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26782
26783 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26784 (grub_video_video_init, grub_video_bitmap_init)
26785 (grub_font_manager_init, grub_term_gfxterm_init)
26786 (grub_at_keyboard_init): New extern declarations.
26787 (grub_machine_init): Initialize gfxterm and at_keyboard.
26788
26789 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26790
26791 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26792 `gfxterm.mod' into core image.
26793
26794 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26795 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26796 (kernel_img_FORMAT): Copy to ...
26797
26798 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26799 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26800 (kernel_img_FORMAT): ... here, and ...
26801
26802 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26803 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26804 (kernel_img_FORMAT): ... here.
26805
26806 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26807 and input (at_keyboard) terminals in kernel.
26808 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26809
26810 (pkglib_MODULES): Remove `pci.mod'.
26811 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26812 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26813 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26814 (at_keyboard_mod_LDFLAGS): Remove variables.
26815
268162010-01-11 Felix Zielcke <fzielcke@z-51.de>
26817
26818 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26819
268202009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26821
26822 * include/grub/mips/libgcc.h: Only export symbols for functions
26823 that libgcc provides.
26824
268252009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26826
26827 MIPS support.
26828
26829 * bus/bonito.c: New file.
26830 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26831 GRUB_PCI_NUM_DEVICES.
26832 * term/i386/pc/serial.c: Move to ...
26833 * term/serial.c: ... here. All users updated.
26834 * util/i386/pc/grub-mkimage.c: Move to ...
26835 * util/grub-mkrawimage.c: ... here. All users updated.
26836 * term/i386/pc/at_keyboard.c: Move to ...
26837 * term/at_keyboard.c: ... here. All users updated.
26838 * conf/mips-qemu-mips.rmk: New file.
26839 * conf/mips-yeeloong.rmk: Likewise.
26840 * conf/mips.rmk: Likewise.
26841 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26842 mipsel-qemu-mips.
26843 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26844 to port addresses.
26845 (grub_ata_pciinit): Support CS5536.
26846 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26847 * font/font_cmd.c (loadfont_command): Open file before passing it to
26848 grub_font_load.
26849 (pseudo_file_read): New function.
26850 (pseudo_file_close): Likewise.
26851 (pseudo_fs): New structure.
26852 (load_font_module): New function.
26853 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26854 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26855 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26856 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26857 * include/grub/i386/at_keyboard.h: Split into ...
26858 * include/grub/at_keyboard.h: ... this ...
26859 * include/grub/i386/at_keyboard.h: ... and this.
26860 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26861 New prototype.
26862 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26863 updated.
26864 (grub_elf64_size): Likewise.
26865 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26866 filename.
26867 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26868 * include/grub/i386/coreboot/serial.h: Rewritten.
26869 * include/grub/i386/ieee1275/serial.h: Include
26870 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26871 * include/grub/i386/pc/serial.h: Moved from here ...
26872 * include/grub/serial.h: ... to here. All users updated.
26873 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26874 (GRUB_PCI_NUM_BUS): Likewise.
26875 (GRUB_PCI_NUM_DEVICES): Likewise.
26876 (grub_pci_device_map_range): Add missing volatile keyword.
26877 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26878 * include/grub/mips/at_keyboard.h: New file.
26879 * include/grub/mips/cache.h: Likewise.
26880 * include/grub/mips/io.h: Likewise.
26881 * include/grub/mips/kernel.h: Likewise.
26882 * include/grub/mips/libgcc.h: Likewise.
26883 * include/grub/mips/pci.h: Likewise.
26884 * include/grub/mips/qemu-mips/boot.h: Likewise.
26885 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26886 * include/grub/mips/qemu-mips/loader.h: Likewise.
26887 * include/grub/mips/qemu-mips/memory.h: Likewise.
26888 * include/grub/mips/qemu-mips/serial.h: Likewise.
26889 * include/grub/mips/qemu-mips/time.h: Likewise.
26890 * include/grub/mips/relocator.h: Likewise.
26891 * include/grub/mips/time.h: Likewise.
26892 * include/grub/mips/types.h: Likewise.
26893 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26894 * include/grub/mips/yeeloong/boot.h: Likewise.
26895 * include/grub/mips/yeeloong/kernel.h: Likewise.
26896 * include/grub/mips/yeeloong/loader.h: Likewise.
26897 * include/grub/mips/yeeloong/memory.h: Likewise.
26898 * include/grub/mips/yeeloong/pci.h: Likewise.
26899 * include/grub/mips/yeeloong/serial.h: Likewise.
26900 * include/grub/mips/yeeloong/time.h: Likewise.
26901 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26902 * kern/elf.c (grub_elf32_size): New parameter. All users
26903 updated.
26904 (grub_elf64_size): Likewise.
26905 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26906 Load modules before saying "Welcome to GRUB!".
26907 Call grub_refresh after saying "Welcome to GRUB!".
26908 * kern/mips/cache.S: New file.
26909 * kern/mips/cache_flush.S: Likewise.
26910 * kern/mips/dl.c: Likewise.
26911 * kern/mips/init.c: Likewise.
26912 * kern/mips/qemu-mips/init.c: Likewise.
26913 * kern/mips/startup.S: Likewise.
26914 * kern/mips/yeeloong/init.c: Likewise.
26915 * kern/term.c (grub_putcode): Handle NULL terminal.
26916 (grub_getcharwidth): Likewise.
26917 (grub_getkey): Likewise.
26918 (grub_checkkey): Likewise.
26919 (grub_getkeystatus): Likewise.
26920 (grub_getxy): Likewise.
26921 (grub_getwh): Likewise.
26922 (grub_gotoxy): Likewise.
26923 (grub_cls): Likewise.
26924 (grub_setcolorstate): Likewise.
26925 (grub_setcolor): Likewise.
26926 (grub_getcolor): Likewise.
26927 (grub_refresh): Likewise.
26928 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26929 (write_jump): Add hatch nop.
26930 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26931 * lib/mips/setjmp.S: New file.
26932 * loader/mips/linux.c: Likewise.
26933 * term/i386/pc/at_keyboard.c: Move from here ...
26934 * term/at_keyboard.c: ... to here.
26935 * term/i386/pc/serial.c: Moved from here ...
26936 * term/serial.c: ... to here. All users updated.
26937 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26938 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26939 (serial_translate_key_sequence): Avoid deadlock.
26940 (grub_serial_getkey): Handle backspace.
26941 (grub_serial_putchar): Fix newline handling.
26942 * util/i386/pc/grub-mkimage.c: Move from here ...
26943 * util/grub-mkrawimage.c: ... to here. All users updated.
26944 (generate_image): New parameters 'font_path' and 'format'.
26945 Support embedding font.
26946 Use grub_host_to_target* instead of grub_cpu_to_le*.
26947 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26948 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26949 (options): New option "--font".
26950 (usage): Likewise.
26951 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26952 (main): Handle "--font".
26953 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26954 (grub_virtual_screen_setup): Set bg_color_display.
26955 (redraw_screen_rect): Use bg_color_display instead of incorrect
26956 bg_color.
26957 (grub_gfxterm_cls): Likewise.
26958 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26959 Support embedding config file.
26960 (add_segments): Likewise.
26961 (options): New option "--config".
26962 (main): Handle "--config".
26963 * video/sm712.c: New file.
26964
25c2b5b3
RM
269652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26966
26967 Fix parallel builds.
26968
26969 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26970 font.c depend on ascii.h).
26971
269722010-01-12 Carles Pina i Estany <carles@pina.cat>
26973
26974 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26975
269762010-01-11 Carles Pina i Estany <carles@pina.cat>
26977
26978 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26979 By default: disabled.
26980 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26981 parameter.
26982
269832010-01-10 Carles Pina i Estany <carles@pina.cat>
26984
26985 * font/font.c: Update copyright years.
26986 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26987
269882010-01-10 Carles Pina i Estany <carles@pina.cat>
26989
26990 * font/font.c: Include `ascii.h'.
26991 (ASCII_BITMAP_SIZE): New macro.
26992 (ascii_font_glyph): Define.
26993 (ascii_glyph_lookup): New function.
26994 (grub_font_get_string_width): Change comment. If glyph not found, use
26995 ascii_glyph_lookup.
26996 (grub_font_get_glyph_with_fallback): If glyph not available returns
26997 ascii_glyph_lookup.
26998 * util/grub-mkfont.c (file_formats): New enum.
26999 (options): Add `ascii-bitmaps' new option.
27000 (usage): Add `asii-bitmaps' new option.
27001 (write_font_ascii_bitmap): New function.
27002 (write_font): Rename to ...
27003 (write_font_p2): ... this. Remove print_glyphs call.
27004 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27005 used. Call print_glyphs.
27006 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27007
270082010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27009
27010 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27011 (grub_bin2h_SOURCES): New variable.
27012 * util/bin2h.c: New file.
27013
915fc1b8
VS
270142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27015
27016 * include/multiboot.h: Resynced with spec.
27017 * include/multiboot2.h: Likewise.
27018 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27019 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27020
9444b678
RM
270212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27022
27023 * include/grub/term.h (grub_term_register_input,
27024 grub_term_register_output): Check return of terminal init()
27025 routines, and abort if errors are raised.
27026
27027 * commands/terminal.c: Update copyright year.
27028
cba98e8d
RM
270292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27030
27031 * commands/terminal.c (grub_cmd_terminal_input)
27032 (grub_cmd_terminal_output): Check return of terminal init()
27033 routines, and abort if errors are raised.
27034
6f7db5d6
VS
270352010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27036
27037 * include/grub/i386/bsd.h: Fix include pathes.
27038
262bff8d
VS
270392010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27040
27041 Add missing *BSD copyright headers.
27042
27043 * include/grub/aout.h: Add BSD licence.
27044 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27045 * include/grub/i386/freebsd_linker.h: ... here,
27046 * include/grub/i386/freebsd_reboot.h: ... here,
27047 * include/grub/i386/netbsd_bootinfo.h: ... here,
27048 * include/grub/i386/netbsd_reboot.h: ... here,
27049 * include/grub/i386/openbsd_bootarg.h: ... here,
27050 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27051 licence to each file.
27052
b2cab848
RM
270532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27054
27055 * acinclude.m4: Remove `nop' assembly instruction; it's not
27056 implemented by all architectures.
27057
2cb6be4b
RM
270582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27059
27060 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27061 ELILO. This is no longer necessary.
27062
a2eaee15
BC
270632010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27064
27065 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27066
27067 * util/grub-script-check.c: grub-script-check tool.
27068 * conf/common.rmk: Make rules for grub-script-check.
27069
88d17012
RM
270702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27071
27072 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27073 spotting it back in 2008. Shame on me for forgetting he did.
27074
27075 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27076
8040619d
RM
270772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27078
27079 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27080 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27081 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27082 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27083 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27084 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27085
a0c2a0f6
RM
270862010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27087
27088 * include/grub/test.h: Add license header.
27089 * tests/example_functional_test.c: Likewise.
27090 * tests/example_unit_test.c: Likewise.
27091 * tests/lib/functional_test.c: Likewise.
27092 * tests/lib/test.c: Likewise.
27093 * tests/lib/unit_test.c: Likewise.
27094
b0b13907
VS
270952010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27096
27097 Use flag-based instead of hook-based video mode selection and "auto"
27098 keyword.
27099
27100 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27101 (grub_video_set_mode): Changed prototype. All users updated.
27102 (grub_video_check_mode_flag): New inline function.
27103 * video/video.c (parse_modespec): New function.
27104 (grub_video_set_mode): Parse flags and keywords.
27105
ea379330 271062010-01-17 Carles Pina i Estany <carles@pina.cat>
27107
27108 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27109 fprintf call.
27110
e15c215e
FZ
271112010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27112
27113 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27114
409ae1c9 271152010-01-16 Carles Pina i Estany <carles@pina.cat>
27116
27117 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27118 string.
27119 * util/grub-emu.c (usage): Likewise.
27120 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27121 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27122 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27123 * util/i386/pc/grub-setup.c (usage): Likewise.
27124
70a14d3d 271252010-01-16 Carles Pina i Estany <carles@pina.cat>
27126
27127 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27128 the message.
27129 (grub_util_info): Likewise.
27130 (grub_util_error): Likewise.
27131 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27132 and/or new lines in `grub_util_warna', `grub_util_info',
27133 `grub_util_error' calls.
27134 * util/getroot.c: Likewise.
27135 * util/grub-editenv.c: Likewise.
27136 * util/grub-emu.c: Likewise.
27137 * util/grub-fstest.c: Likewise.
27138 * util/grub-mkdevicemap.c: Likewise.
27139 * util/grub-mkfont.c: Likewise.
27140 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27141 * util/grub-mkrelpath.c: Likewise.
27142 * util/grub-pe2elf.c: Likewise.
27143 * util/grub-probe.c: Likewise.
27144 * util/hostdisk.c: Likewise.
27145 * util/i386/efi/grub-mkimage.c: Likewise.
27146 * util/i386/pc/grub-mkimage.c: Likewise.
27147 * util/i386/pc/grub-setup.c: Likewise.
27148 * util/ieee1275/ofpath.c: Likewise.
27149 * util/mkisofs/eltorito.c: Likewise.
27150 * util/mkisofs/rock.c: Likewise.
27151 * util/mkisofs/write.c: Likewise.
27152 * util/raid.c: Likewise.
27153 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27154 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27155
a0b766fc
VS
271562010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27157
27158 Enable multiboot on non-pc.
27159
27160 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27161 multiboot.mod and multiboot2.mod to ...
27162 * conf/i386.rmk (pkglib_MODULES): ... here.
27163 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27164 Moved to ...
27165 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27166 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27167 Moved to ...
27168 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27169 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27170 Moved to ...
27171 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27172 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27173 Moved to ...
27174 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27175 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27176 relocator.mod.
27177 (ata_mod_SOURCES): Removed.
27178 (ata_mod_CFLAGS): Likewise.
27179 (ata_mod_LDFLAGS): Likewise.
27180 (relocator_mod_SOURCES): Removed.
27181 (relocator_mod_CFLAGS): Likewise.
27182 (relocator_mod_ASFLAGS): Likewise.
27183 (relocator_mod_LDFLAGS): Likewise.
27184 Include i386.mk.
27185 * include/grub/x86_64/multiboot.h: New file.
27186 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27187 Terminate EFI.
27188
884ade56
VS
271892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27190
27191 Video multiboot support.
27192
27193 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27194 New prototype.
27195 * include/multiboot.h: Resynced with multiboot specification.
27196 * include/multiboot2.h: Likewise.
27197 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27198 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27199 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27200 (HAS_VGA_TEXT): Likewise.
27201 (accepts_video): New variable.
27202 (grub_multiboot_set_accepts_video): New function.
27203 (grub_multiboot_get_mbi_size): Account for video structures.
27204 (set_video_mode): New function.
27205 (retrieve_video_parameters): Likewise.
27206 (grub_multiboot_make_mbi): Fill video fields.
27207
0d90e8a6
VS
272082010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27209
27210 Video driver ids.
27211
27212 * include/grub/video.h (grub_video_driver_id): New type.
27213 (grub_video_adapter): New member 'id'. All users updated.
27214 (grub_video_get_driver_id): New proto.
27215 * video/video.c (grub_video_get_driver_id): New function.
27216
5c71db1b 272172010-01-14 Carles Pina i Estany <carles@pina.cat>
27218
27219 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27220 `var=val'.
27221
cca15b52 272222010-01-14 Carles Pina i Estany <carles@pina.cat>
27223
27224 * normal/cmdline.c (print_completion): Gettextizze.
27225
c586fbb2 272262001-01-14 Carles Pina i Estany <carles@pina.cat>
27227
27228 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27229
ba2f6848 272302010-01-14 Carles Pina i Estany <carles@pina.cat>
27231
27232 * gettext/gettext.c (grub_gettext_translate): Push and pop
27233 grub_errno.
27234 (grub_gettext_delete_list): Change comment style.
27235 * kern/err.c (grub_error): Gettextizze.
27236 (grub_fatal): Gettextizze.
27237
0a46429a
RM
272382010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27239
27240 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27241 (grub_linux16_real_boot): ... this.
27242 * kern/i386/loader.S: Likewise.
27243 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27244 (grub_linux16_boot): New function. Switches to text mode and calls
27245 grub_linux16_real_boot().
27246
27247 * loader/i386/bsd.c: Include `<grub/video.h>'.
27248 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27249 text mode before calling grub_unix_real_boot().
27250
27251 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27252 (grub_multiboot_boot): Switch to text mode before calling
27253 grub_relocator32_boot().
27254
27255 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27256 (grub_chainloader_boot): Switch to text mode before calling
27257 grub_chainloader_real_boot().
27258
d6f93a66
RM
272592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
272602010-01-05 Colin Watson <cjwatson@ubuntu.com>
27261
27262 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27263 non-empty value.
27264
272652010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
272662010-01-05 Colin Watson <cjwatson@ubuntu.com>
27267
27268 * util/grub.d/00_header.in: Define a "savedefault" function for use
27269 in menu entries.
27270 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27271
272722010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
272732010-01-05 Colin Watson <cjwatson@ubuntu.com>
27274
27275 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27276 saved_entry if boot_once is unset.
27277 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27278 previous saved entry (i.e. grub-reboot).
27279
272802009-12-08 Colin Watson <cjwatson@ubuntu.com>
27281
27282 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27283
272842009-12-08 Colin Watson <cjwatson@ubuntu.com>
27285
27286 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27287 `var=val'.
27288 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27289
272902009-12-08 Colin Watson <cjwatson@ubuntu.com>
27291
27292 * util/grub-reboot.in: Fix --version output.
27293 * util/grub-set-default.in: Likewise.
27294
272952009-12-08 Colin Watson <cjwatson@ubuntu.com>
27296
27297 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27298 blocks.
27299
273002009-12-08 Colin Watson <cjwatson@ubuntu.com>
27301
27302 * util/grub.d/00_header.in: Quote the value assigned to `default',
27303 in case it contains spaces.
27304
273052009-12-08 Colin Watson <cjwatson@ubuntu.com>
27306
27307 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27308 `save_default_entry' call from the macosx case to the linux case.
27309
273102009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
273112009-10-25 Colin Watson <cjwatson@ubuntu.com>
27312
27313 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27314 in `chosen' environment variable.
27315 * normal/menu_text.c (get_entry_number): Check if the variable
27316 matches the title of a menu entry.
27317 (run_menu): Pass menu to get_entry_number.
27318
27319 * util/grub-reboot.in: New file.
27320 * util/grub-set-default.in: New file.
27321 * conf/common.rmk (grub-reboot): New utility.
27322 (grub-set-default): New utility.
27323
27324 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27325 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27326 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27327 move it to `saved_entry' for the next boot. Load environment on
27328 initialisation.
27329 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27330 * util/grub.d/10_hurd.in: Likewise.
27331 * util/grub.d/10_linux.in (linux_entry): Likewise.
27332 * util/grub.d/10_windows.in: Likewise.
27333 * util/grub.d/30_os-prober.in: Likewise.
27334
27335 * util/grub-install.in: Create environment block.
27336 * util/i386/efi/grub-install.in: Likewise.
27337 * util/ieee1275/grub-install.in: Likewise.
27338 * util/sparc64/ieee1275/grub-install.in: Likewise.
27339
0934d184
BC
273402010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27341
27342 Unit testing framework for GRUB.
27343
27344 * Makefile.in: Test framework build rules for 'make check'.
27345 * conf/tests.rmk: Build rules for individual tests and framework.
27346
27347 * include/grub/test.h: Header file for whitebox tests.
27348 * tests/lib/functional_test.c: Framework support for whitebox
27349 functional tests.
27350 * tests/lib/test.c: Common whitebox testing code for unit and
27351 functional tests.
27352 * tests/lib/unit_test.c: Framework support for whitebox unit
27353 tests.
27354
27355 * tests/util/grub-shell-tester.in: Support utility for grub-script
27356 tests.
27357 * tests/util/grub-shell.in: Utility to execute grub-script
27358 commands in a Qemu instance.
27359
27360 * tests/example_functional_test.c: Example whitebox functional
27361 test.
27362 * tests/example_grub_script_test.in: Example grub-script test.
27363 * tests/example_scripted_test.in: Example scripted test.
27364 * tests/example_unit_test.c: Example whitebox unit test.
27365
9c4ffeeb
VS
273662010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27367
27368 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27369 Add loader/i386/multiboot_mbi.c.
27370 (multiboot2_mod_SOURCES): Likewise.
27371 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27372 (multiboot2_mod_SOURCES): Likewise.
27373 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27374 (grub_multiboot_make_mbi): Likewise.
27375 (grub_multiboot_free_mbi): Likewise.
27376 (grub_multiboot_init_mbi): Likewise.
27377 (grub_multiboot_add_module): Likewise.
27378 (grub_multiboot_set_bootdev): Likewise.
27379 * loader/i386/multiboot.c (mbi): Removed.
27380 (mbi_dest): Likewise.
27381 (alloc_mbi): New variable.
27382 (grub_multiboot_payload_size): Removed. All users updated.
27383 (grub_multiboot_pure_size): New variable.
27384 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27385 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27386 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27387 (grub_fill_multiboot_mmap): Likewise.
27388 (grub_multiboot_get_bootdev): Likewise.
27389 (grub_multiboot): Use multiboot_mbi functions.
27390 * loader/i386/multiboot_mbi.c: New file.
27391
17383dfe
VS
273922010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27393
27394 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27395 it would result in module crash.
27396
c1f28820
VS
273972010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27398
27399 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27400 (grub_ofconsole_getwh): Split to ...
27401 (grub_ofconsole_getwh): ... this.
27402 (grub_ofconsole_dimensions): ...and this.
27403 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27404
58655a16
RM
274052010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27406
27407 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27408
10891398
VS
274092010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27410
27411 * loader/i386/pc/multiboot2.c: Removed stalled file.
27412
0b8a223c
VS
274132010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27414
27415 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27416 Reported by: Grégoire Sutre
27417
92ab12b0
RM
274182010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27419
27420 * util/misc.c (canonicalize_file_name): New function.
27421 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27422 instead of realpath().
27423
a788afb6
CW
274242010-01-11 Colin Watson <cjwatson@ubuntu.com>
27425
27426 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27427 and make it clearer that it's optional. Based on confusion
27428 witnessed on IRC.
27429
ffa8e3d2
VS
274302010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27431
27432 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27433 in premature implicit newline.
27434
e9060a9d
VS
274352010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27436
27437 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27438 which resulted in garbled command line at the end of screen.
27439
f0d0c0b7
RM
274402010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27441
27442 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27443 initialization with similar approach as with other Linux loaders.
27444
0e60bae7
RM
274452010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27446
27447 Fix i386-ieee1275 build.
27448
27449 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27450 and grub_term_height() for video_{width,height} initialization.
27451
274522010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27453
27454 Fix grub-emu build.
27455
27456 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27457
cdb3f378
RM
274582010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
274592010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27460
27461 Support for multiple terminals.
27462
27463 * Makefile.in (pkglib_DATA): terminal.lst.
27464 (terminal.lst): New target.
27465 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27466 (GRUB_MOD_INIT(handler)): Likewise.
27467 (GRUB_MOD_FINI(handler)): Likewise.
27468 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27469 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27470 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27471 (grub_cmd_sleep): Use grub_term_save_pos.
27472 * commands/terminal.c: New file.
27473 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27474 commands/terminal.c and lib/charset.c.
27475 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27476 (pkglib_MODULES): Add terminal.mod.
27477 (terminal_mod_SOURCES): New variable.
27478 (terminal_mod_CFLAGS): Likewise.
27479 (terminal_mod_LDFLAGS): Likewise.
27480 * genhandlerlist.sh: Don't handle terminals.
27481 * genmk.rb: Generate terminal-*.lst.
27482 * genterminallist.sh: New file.
27483 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27484 (grub_is_valid_utf8): Likewise.
27485 (grub_utf8_to_ucs4_alloc): Likewise.
27486 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27487 (grub_menu_register_viewer): Changed argument.
27488 (grub_menu_try_text): New proto.
27489 (grub_gfxmenu_try_hook): New declaration.
27490 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27491 (grub_menu_init_page): Additional argument term.
27492 (grub_normal_init_page): Likewise.
27493 (grub_cmdline_get): Arguments simplified.
27494 (grub_utf8_to_ucs4_alloc): Removed.
27495 (grub_print_ucs4): Additional argument term.
27496 (grub_getstringwidth): Likewise.
27497 (grub_print_message_indented): Likewise.
27498 (grub_menu_text_register_instances): New proto.
27499 (grub_show_menu): Likewise.
27500 (read_terminal_list): Likewise.
27501 (grub_set_more): Likewise.
27502 * include/grub/parser.h: Include handler.h.
27503 * include/grub/reader.h: Rewritten.
27504 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27505 (GRUB_TERM_WIDTH): Changed to function.
27506 (GRUB_TERM_HEIGHT): Likewise.
27507 (GRUB_TERM_BORDER_WIDTH): Likewise.
27508 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27509 (GRUB_TERM_NUM_ENTRIES): Likewise.
27510 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27511 (GRUB_TERM_CURSOR_X): Likewise.
27512 (grub_term_input_class): Likewise.
27513 (grub_term_output_class): Likewise.
27514 (grub_term_outputs_disabled): New declaration.
27515 (grub_term_inputs_disabled): Likewise.
27516 (grub_term_outputs): Likewise.
27517 (grub_term_inputs): Likewise.
27518 (grub_term_register_input): Rewritten.
27519 (grub_term_register_output): Likewise.
27520 (grub_term_unregister_input): Likewise.
27521 (grub_term_unregister_output): Likewise.
27522 (FOR_ACTIVE_TERM_INPUTS): New macro.
27523 (FOR_DISABLED_TERM_INPUTS): Likewise.
27524 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27525 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27526 * include/grub/terminfo.h: Add oterm argument to all protypes.
27527 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27528 Use grub_rescue_run.
27529 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27530 All users updated.
27531 * kern/reader.c: Removed. All users updated.
27532 * kern/rescue_reader.c (grub_rescue_init): Removed.
27533 (grub_rescue_reader): Likewise.
27534 (grub_register_rescue_reader): Likewise.
27535 (grub_rescue_run): New function based on kern/reader.c.
27536 * kern/term.c: Adapted for multiterm.
27537 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27538 (grub_is_valid_utf8): Likewise.
27539 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27540 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27541 right terminal.
27542 * loader/i386/linux.c (grub_linux_boot): Likewise.
27543 * normal/auth.c (grub_username_get): New function.
27544 (grub_auth_check_authentication): Use grub_username_get.
27545 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27546 * normal/color.c: Adapt for multiterm.
27547 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27548 (grub_normal_init_page): Additional argument term.
27549 (read_lists): Call read_terminal_lists.
27550 (grub_enter_normal_mode): Call grub_cmdline_run.
27551 Handle grub_normal_exit_level.
27552 (grub_cmd_normal): Make reentrant.
27553 (grub_cmd_normal_exit): New function.
27554 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27555 * normal/menu.c: Adapt for multiterm.
27556 * normal/menu_entry.c: Likewise.
27557 * normal/menu_text.c: Likewise.
27558 * normal/menu_viewer.c: Removed. All users updated.
27559 * normal/term.c: New file.
27560 * util/console.c: Change order of includes to workaround a bug in
27561 ncurses headers.
27562 * term/terminfo.c: New argument oterm on all exported functions.
27563 All users updated.
27564 * util/grub-editenv.c (grub_term_input_class): Removed.
27565 (grub_term_output_class): Likewise.
27566
1a064917
RM
275672010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27568
27569 Make loader output a bit more user-friendly.
27570
27571 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27572 is being loaded. Likewise for the Hurd.
27573
27574 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27575 that kernel of FreeBSD ${version} is being loaded.
27576
27577 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27578 grub_dprintf().
27579 (grub_cmd_initrd): Likewise.
27580 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27581 that Linux ${version} is being loaded. Likewise for initrd.
27582
5ce0a83a 275832010-01-09 Carles Pina i Estany <carles@pina.cat>
27584
27585 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27586
809bbfeb 275872010-01-08 Carles Pina i Estany <carles@pina.cat>
27588
27589 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27590 (GRUB_MOD_INIT): Gettextizze.
27591 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27592 (GRUB_MOD_INIT): Gettextizze.
27593 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27594 (grub_cmd_linux): Capitalise Linux.
27595 (GRUB_MOD_INIT): Gettextizze.
27596 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27597 (grub_cmd_linux): Capitalise Linux.
27598 (GRUB_MOD_INIT): Gettextizze.
27599 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27600 (grub_cmd_linux): Capitalise Linux.
27601 (GRUB_MOD_INIT): Gettextizze.
27602 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27603 (GRUB_MOD_INIT): Gettextizze.
27604 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27605 (grub_cmd_linux): Capitalise Linux.
27606 (GRUB_MOD_INIT): Gettextizze.
27607 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27608 (grub_cpu_xnu_init): Gettextizze.
27609 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27610 (GRUB_MOD_INIT): Gettextizze.
27611 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27612 (GRUB_MOD_INIT): Gettextizze.
27613 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27614 (grub_linux_load64): Capitalise Linux.
27615 (GRUB_MOD_INIT): Gettextizze.
27616 * loader/xnu.c: Include `<grub/i18n.h>'.
27617 (GRUB_MOD_INIT): Gettextizze.
27618 * po/POTFILES: Add `loader/efi/appleloader.c',
27619 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27620 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27621 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27622 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27623 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27624 and `loader/xnu.c'.
27625
b394b2ca
RM
276262010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27627
27628 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27629
276302010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27631
27632 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27633 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27634 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27635
bc8b32b3
RM
276362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27637
27638 Reset Multiboot 2 support. New loader implements the draft in
27639 /branches/multiboot2 and shares as much code as possible with the
27640 production Multiboot 1 implementation.
27641
27642 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27643 * loader/multiboot2.c: Likewise.
27644 * loader/i386/multiboot_helper.S: Likewise.
27645 * include/multiboot2.h: Replace with latest version from the draft
27646 in /branches/multiboot2.
27647
27648 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27649 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27650 and `loader/multiboot2.c'.
27651 (pkglib_MODULES): Add `multiboot2.mod'.
27652 (multiboot2_mod_SOURCES): New variable.
27653 (multiboot2_mod_LDFLAGS): Likewise.
27654 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27655
27656 * conf/i386-pc.rmk: Likewise.
27657
27658 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27659 (multiboot_mod_SOURCES): Remove variable.
27660 (multiboot_mod_LDFLAGS): Likewise.
27661 (multiboot_mod_CFLAGS): Likewise.
27662
27663 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27664 `<multiboot2.h>' instead of `<multiboot.h>'.
27665 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27666 (MULTIBOOT_HEADER_MAGIC): New macros.
27667
27668 * loader/multiboot_loader.c (module_version_status): Remove variable.
27669 (find_multi_boot2_header): Remove function.
27670 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27671 logic. Always check for the Multiboot version we're compiling for.
27672 (grub_cmd_module_loader): Likewise.
27673 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27674 command instead of `multiboot'.
27675
5d2c52b8
RM
276762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27677
27678 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27679 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27680 all users.
27681
53108d92
RM
276822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
276832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Fix breakage introduced with previous commit.
27686
27687 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27688 commands.
27689 * normal/handler.c (read_handler_list): Revert part of previous commit
27690 affecting this file.
27691 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27692 (grub_normal_execute): ... here.
27693
e2e936b2
RM
276942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27695
27696 Merge prefix-redefinition-fix branch.
27697
27698 * normal/autofs.c (read_fs_list): Make function capable of being
27699 run multiple times, gracefuly replacing the previous data
27700 structures.
27701 * normal/dyncmd.c (read_command_list): Likewise.
27702 * normal/handler.c (read_handler_list): Likewise.
27703 * normal/main.c (read_lists): New function. Calls all the
27704 list reading functions.
27705 (grub_normal_execute): Use read_lists() instead of calling all
27706 list reading functions explicitly. Register read_lists() as a
27707 variable hook attached to ${prefix}.
27708
607a3701
VS
277092010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27710
27711 Merge crypto branch.
27712
27713 * Makefile.in (pkglib_DATA): Add crypto.lst.
27714 (crypto.lst): New target.
27715 * commands/hashsum.c: New file.
27716 * commands/password.c (check_password): Use grub_crypto_memcmp.
27717 * commands/password_pbkdf2.c: New file.
27718 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27719 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27720 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27721 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27722 -I$(srcdir)/lib/libgcrypt_wrap.
27723 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27724 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27725 password_pbkdf2.mod.
27726 (crypto_mod_SOURCES): New variable.
27727 (crypto_mod_CFLAGS): Likewise.
27728 (crypto_mod_LDFLAGS): Likewise.
27729 (hashsum_mod_SOURCES): New variable.
27730 (hashsum_mod_CFLAGS): Likewise.
27731 (hashsum_mod_LDFLAGS): Likewise.
27732 (pbkdf2_mod_SOURCES): New variable.
27733 (pbkdf2_mod_CFLAGS): Likewise.
27734 (pbkdf2_mod_LDFLAGS): Likewise.
27735 (password_pbkdf2_mod_SOURCES): New variable.
27736 (password_pbkdf2_mod_CFLAGS): Likewise.
27737 (password_pbkdf2_mod_LDFLAGS): Likewise.
27738 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27739 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27740 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27741 Include conf/gcry.rmk.
27742 * include/grub/auth.h: Rewritten.
27743 * include/grub/crypto.h: New file.
27744 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27745 * include/grub/normal.h (read_crypto_list): New prototype.
27746 * lib/crypto.c: New file.
27747 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27748 * lib/pbkdf2.c: Likewise.
27749 * normal/auth.c (grub_auth_strcmp): Removed.
27750 (grub_iswordseparator): Likewise.
27751 (grub_auth_strword): Likewise.
27752 (is_authenticated): Use grub_strword.
27753 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27754 and grub_strword. Pass entered password to authentication callback.
27755 * normal/crypto.c: New file.
27756 * normal/main.c: Call read_crypto_list.
27757 * util/grub-mkpasswd-pbkdf2.c: New file.
27758 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27759
42841caa
VS
277602010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27761
27762 Fix descent and ascent calculation.
27763
27764 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27765 (options): New option "asce".
27766 (usage): Likewise.
27767 (add_char): Ignore invalid glyphs for descent calculation.
27768 Calculate ascent from actual content.
27769 (print_glyphs): Use 'asce'.
27770 (write_font): Likewise. Allow ascent override.
27771 (main): Handle "asce" option.
27772
e7730de7 277732010-01-06 Carles Pina i Estany <carles@pina.cat>
27774
27775 * kern/err.c: Include `<grub/i18n.h>'.
27776 (grub_print_error): Add full stop. Gettextizze.
27777 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27778 (grub_bsd_load_elf): Capitalise ELF.
27779 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27780 (grub_cmd_freebsd_module): Likewise.
27781 (grub_cmd_freebsd_module_elf): Likewise.
27782 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27783
40e3a41f 277842010-01-06 Carles Pina i Estany <carles@pina.cat>
27785
27786 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27787 * commands/search_file.c (HELP_MESSAGE): New macro.
27788 * commands/search_label.c (HELP_MESSAGE): Likewise.
27789 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27790 * po/POTFILES: Add `commands/search_file.c',
27791 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27792 `commands/search.c'.
27793
83507e68
RM
277942010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27795
27796 * config.rpath: Update from Gnulib.
27797
465c787b
YB
277982010-01-05 Yves Blusseau <blusseau@zetam.org>
27799
27800 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27801
6581dd3a
YB
278022010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27803
27804 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27805
3bff18c5
CW
278062010-01-05 Colin Watson <cjwatson@ubuntu.com>
27807
27808 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27809 arguments to fread so that we get a return value in bytes, rather
27810 than something that will normally be rounded down to 0.
27811 Adjust error handling to avoid producing garbage when size_t is not
27812 the same size as long long.
27813
a1368118
CW
278142010-01-05 Colin Watson <cjwatson@ubuntu.com>
27815
27816 * util/mkisofs/write.c (padblock_write): Check return value of
27817 fread.
27818
7c302978
RM
278192010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27820
27821 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27822 floppy images now.
27823
27824 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27825
e33ace06
RM
278262010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27827
27828 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27829 instead of manual alignment.
27830 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27831 verbose). Avoid attempts to read past end of the device
27832 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27833 but GRUB_DISK_CACHE_SIZE may exceed that).
27834
4b856776
RM
278352010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27836
27837 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27838 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27839 it to upper layer.
27840
52c2d97f
VS
278412010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27842
27843 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27844 New constant.
27845 (grub_efi_piwg_device_path): New structure
27846 (grub_efi_piwg_device_path_t): New type.
27847 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27848 (devpath_1): Transform to a structure. All users updated.
27849 (devpath_2): Likewise.
27850 (devpath_3): Likewise.
27851 (devpath_4): Likewise.
27852 (devpath_5): Likewise.
27853
98ff6a54
VS
278542010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27855
27856 * loader/efi/appleloader.c: Restored. Update all users.
27857
3a73dcb6
RM
278582010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27859
27860 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27861
27862 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27863 (struct boot_blocklist): Move from here ...
27864 * include/grub/i386/pc/boot.h [ASM_FILE]
27865 (struct grub_boot_blocklist): ... to here. Update all users.
27866 (setup): Only initialize `start' member of `first_block'
27867 structure. Add assert() calls to verify the other members.
27868
27869 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27870 (generate_image): Fix broken blocklist length initialization.
27871 Add assert() call to verify blocklist `segment' field.
27872
ab0eeb0c
RM
278732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27874
27875 * loader/efi/appleloader.c: Remove. Update all users.
27876
58bc8bd5
RM
278772010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27878
27879 * boot/i386/pc/boot.S: Update copyright year.
27880 * boot/i386/pc/cdboot.S: Likewise.
27881 * boot/i386/pc/diskboot.S: Likewise.
27882 * boot/i386/pc/lnxboot.S: Likewise.
27883 * boot/i386/pc/pxeboot.S: Likewise.
27884 * bus/pci.c: Likewise.
27885 * commands/cmp.c: Likewise.
27886 * commands/help.c: Likewise.
27887 * commands/hexdump.c: Likewise.
27888 * commands/i386/pc/halt.c: Likewise.
27889 * commands/i386/pc/play.c: Likewise.
27890 * commands/i386/pc/vbeinfo.c: Likewise.
27891 * commands/ls.c: Likewise.
27892 * commands/test.c: Likewise.
27893 * disk/dmraid_nvidia.c: Likewise.
27894 * disk/i386/pc/biosdisk.c: Likewise.
27895 * disk/ieee1275/nand.c: Likewise.
27896 * disk/ieee1275/ofdisk.c: Likewise.
27897 * disk/lvm.c: Likewise.
27898 * disk/raid.c: Likewise.
27899 * disk/raid6_recover.c: Likewise.
27900 * disk/scsi.c: Likewise.
27901 * fs/affs.c: Likewise.
27902 * fs/cpio.c: Likewise.
27903 * fs/ext2.c: Likewise.
27904 * fs/hfs.c: Likewise.
27905 * fs/iso9660.c: Likewise.
27906 * fs/ntfs.c: Likewise.
27907 * fs/sfs.c: Likewise.
27908 * fs/udf.c: Likewise.
27909 * fs/ufs.c: Likewise.
27910 * fs/xfs.c: Likewise.
27911 * gencmdlist.sh: Likewise.
27912 * genmk.rb: Likewise.
27913 * include/grub/disk.h: Likewise.
27914 * include/grub/efi/api.h: Likewise.
27915 * include/grub/efi/efi.h: Likewise.
27916 * include/grub/efi/pe32.h: Likewise.
27917 * include/grub/elf.h: Likewise.
27918 * include/grub/fs.h: Likewise.
27919 * include/grub/i386/at_keyboard.h: Likewise.
27920 * include/grub/i386/pc/memory.h: Likewise.
27921 * include/grub/i386/pc/vbe.h: Likewise.
27922 * include/grub/i386/pci.h: Likewise.
27923 * include/grub/i386/tsc.h: Likewise.
27924 * include/grub/ieee1275/ieee1275.h: Likewise.
27925 * include/grub/ntfs.h: Likewise.
27926 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27927 * include/grub/sparc64/libgcc.h: Likewise.
27928 * include/grub/symbol.h: Likewise.
27929 * include/grub/types.h: Likewise.
27930 * include/multiboot2.h: Likewise.
27931 * io/gzio.c: Likewise.
27932 * kern/device.c: Likewise.
27933 * kern/disk.c: Likewise.
27934 * kern/efi/efi.c: Likewise.
27935 * kern/efi/mm.c: Likewise.
27936 * kern/elf.c: Likewise.
27937 * kern/file.c: Likewise.
27938 * kern/i386/dl.c: Likewise.
27939 * kern/i386/pc/init.c: Likewise.
27940 * kern/i386/pc/startup.S: Likewise.
27941 * kern/ieee1275/ieee1275.c: Likewise.
27942 * kern/ieee1275/init.c: Likewise.
27943 * kern/main.c: Likewise.
27944 * kern/mm.c: Likewise.
27945 * kern/powerpc/dl.c: Likewise.
27946 * kern/sparc64/dl.c: Likewise.
27947 * kern/x86_64/dl.c: Likewise.
27948 * lib/hexdump.c: Likewise.
27949 * loader/efi/appleloader.c: Likewise.
27950 * loader/i386/ieee1275/linux.c: Likewise.
27951 * loader/i386/pc/chainloader.c: Likewise.
27952 * loader/i386/pc/linux.c: Likewise.
27953 * loader/i386/pc/multiboot2.c: Likewise.
27954 * loader/ieee1275/multiboot2.c: Likewise.
27955 * loader/multiboot2.c: Likewise.
27956 * loader/multiboot_loader.c: Likewise.
27957 * loader/powerpc/ieee1275/linux.c: Likewise.
27958 * normal/completion.c: Likewise.
27959 * normal/menu_entry.c: Likewise.
27960 * partmap/apple.c: Likewise.
27961 * util/grub.d/10_hurd.in: Likewise.
27962 * util/hostfs.c: Likewise.
27963 * video/readers/png.c: Likewise.
27964
e2d70b5c
CW
279652010-01-03 Colin Watson <cjwatson@ubuntu.com>
27966
27967 * include/grub/misc.h (GNUC_PREREQ): New macro.
27968 (ATTRIBUTE_ERROR): New macro.
27969 * include/grub/list.h (grub_bad_type_cast_real): Use
27970 ATTRIBUTE_ERROR.
27971
a173283f 279722010-01-03 Carles Pina i Estany <carles@pina.cat>
27973
27974 * normal/menu_text.c (print_message): Change messages.
27975
7fa7ff74 279762010-01-03 Carles Pina i Estany <carles@pina.cat>
27977
27978 * normal/menu_entry.c (store_completion): Gettextizze.
27979
136d24f6 279802010-01-03 Carles Pina i Estany <carles@pina.cat>
27981
27982 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27983
f936862e 279842010-01-03 Carles Pina i Estany <carles@pina.cat>
27985
27986 * po/POTFILES: Sort correctly.
27987
29c44ad1 279882010-01-03 Carles Pina i Estany <carles@pina.cat>
27989
27990 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27991 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27992 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27993 full stop.
27994 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27995 summary. Gettextizze the strings.
27996 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27997 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27998 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27999 full stop.
28000 (GRUB_MOD_INIT): Remove command name from summary.
28001 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28002 summary.
28003 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28004 * term/i386/pc/serial.c (options): Add full stops.
28005 (GRUB_MOD_INIT): Remove command name from the summary.
28006
77a79592 280072010-01-03 Carles Pina i Estany <carles@pina.cat>
28008
28009 * commands/acpi.c: Gettextizze help strings and/or options. Include
28010 `grub/i18n.h' if needed.
28011 * commands/blocklist.c: Likewise.
28012 * commands/boot.c: Likewise.
28013 * commands/cat.c: Likewise.
28014 * commands/cmp.c: Likewise.
28015 * commands/configfile.c: Likewise.
28016 * commands/crc.c: Likewise.
28017 * commands/date.c: Likewise.
28018 * commands/echo.c: Likewise.
28019 * commands/efi/fixvideo.c: Likewise.
28020 * commands/efi/loadbios.c: Likewise.
28021 * commands/gptsync.c: Likewise.
28022 * commands/halt.c: Likewise.
28023 * commands/handler.c: Likewise.
28024 * commands/hdparm.c: Likewise.
28025 * commands/hexdump.c: Likewise.
28026 * commands/i386/cpuid.c: Likewise.
28027 * commands/i386/pc/drivemap.c: Likewise.
28028 * commands/i386/pc/halt.c: Likewise.
28029 * commands/i386/pc/pxecmd.c: Likewise.
28030 * commands/i386/pc/vbeinfo.c: Likewise.
28031 * commands/i386/pc/vbetest.c: Likewise.
28032 * commands/ieee1275/suspend.c: Likewise.
28033 * commands/keystatus.c: Likewise.
28034 * commands/loadenv.c: Likewise.
28035 * commands/ls.c: Likewise.
28036 * commands/lsmmap.c: Likewise.
28037 * commands/lspci.c: Likewise.
28038 * commands/memrw.c: Likewise.
28039 * commands/minicmd.c: Likewise.
28040 * commands/parttool.c: Likewise.
28041 * commands/password.c: Likewise.
28042 * commands/probe.c: Likewise.
28043 * commands/read.c: Likewise.
28044 * commands/reboot.c: Likewise.
28045 * commands/search.c: Likewise.
28046 * commands/sleep.c: Likewise.
28047 * commands/test.c: Likewise.
28048 * commands/true.c: Likewise.
28049 * commands/usbtest.c: Likewise.
28050 * commands/videotest.c: Likewise.
28051 * commands/xnu_uuid.c: Likewise.
28052 * disk/loopback.c: Likewise.
28053 * hello/hello.c: Likewise.
28054 * loader/i386/bsd.c: Likewise.
28055 * term/i386/pc/serial.c: Likewise.
28056 * po/POTFILES: Add new files.
28057
da8d5c53
CW
280582010-01-02 Colin Watson <cjwatson@ubuntu.com>
28059
28060 * term/i386/pc/at_keyboard.c
28061 (keyboard_controller_wait_untill_ready): Rename to ...
28062 (keyboard_controller_wait_until_ready): ... this. Update all users.
28063
33937904 280642010-01-01 Carles Pina i Estany <carles@pina.cat>
28065
28066 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28067 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28068 string using string width.
28069 * normal/menu_text.c (grub_print_message_indented): Use
28070 grub_print_spaces and not print_spaces.
28071 (print_timeout): Likewise.
28072 (print_spaces): Move to...
28073 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28074
3fd3b8d8
RM
280752010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28076
28077 Import from Gnulib.
28078
28079 * gnulib/getdelim.c: New file.
28080 * gnulib/getline.c: Likewise.
28081
33433555
VS
280822009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28083
28084 * include/grub/list.h (grub_assert_fail): Removed.
28085 (grub_bad_type_cast_real): New function.
28086 (grub_bad_type_cast): New macro.
28087 (GRUB_AS_LIST): Use grub_bad_type_cast.
28088 (GRUB_AS_LIST_P): Likewise.
e44721e8 28089 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28090 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28091 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28092 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28093 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28094
f5a51306
VS
280952009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28096
28097 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28098 Fix syntax error.
28099
90d1e879
RM
281002009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28101
28102 * configure.ac: Check for TARGET_CFLAGS initialization before we
28103 initialize it ourselves (sigh).
28104 Move a few modifications to TARGET_CFLAGS to be unconditional
28105 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28106 eh_frame)
28107
28108 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28109 * term/i386/pc/at_keyboard.c
28110 (keyboard_controller_wait_untill_ready): Likewise.
28111 (keyboard_controller_led): Rename `led_status' paramter to avoid
28112 name conflict.
28113
465b5a81 281142009-12-28 Carles Pina i Estany <carles@pina.cat>
28115
28116 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28117 quotes.
28118
c181849b
VS
281192009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28120
28121 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28122
9c8739a4
VS
281232009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28124
28125 * normal/menu_text.c (grub_print_message_indented): Prevent
28126 past-the-end-of-array dereference.
28127
3e74249c
VS
281282009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28129
28130 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28131 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28132
64fd18ed 281332009-12-27 Carles Pina i Estany <carles@pina.cat>
28134
28135 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28136 * normal/main.c (grub_normal_read_line): Remove a space from the
28137 default prompt.
28138
714af9b9 281392009-12-27 Carles Pina i Estany <carles@pina.cat>
28140
28141 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28142 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28143 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28144 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28145 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28146 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28147 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28148
82f3e412 281492009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28150
28151 * video/readers/jpeg.c (cmd): Declare.
28152 (grub_cmd_jpegtest): Use `grub_command_t' type.
28153 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28154 Assign to `cmd'.
28155 (GRUB_MOD_FINI): Use `cmd' to unregister.
28156 * video/readers/png.c (cmd): Declare.
28157 (grub_cmd_pngtest): Use `grub_command_t' type.
28158 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28159 Assign to `cmd'.
28160 (GRUB_MOD_FINI): Use `cmd' to unregister.
28161 * video/readers/tga.c (cmd): Declare.
28162 (grub_cmd_tgatest): Use `grub_command_t' type.
28163 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28164 Assign to `cmd'.
28165 (GRUB_MOD_FINI): Use `cmd' to unregister.
28166
82f3e412 281672009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28168
28169 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28170 stops.
28171 * kern/corecmd.c (grub_register_core_commands): Likewise.
28172 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28173 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28174 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28175 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28176 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28177 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28178 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28179 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28180 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28181 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28182 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28183 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28184 * normal/handler.c (insert_handler): Likewise.
28185 * normal/main.c (GRUB_MOD_INIT): Likewise.
28186 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28187
fdcdbb66 281882009-12-26 Carles Pina i Estany <carles@pina.cat>
28189
28190 * commands/help.c (grub_cmd_help): Print the command name before the
28191 summary.
28192 (GRUB_MOD_INIT): Remove command name from the summary.
28193 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28194 string as summary.
fdcdbb66 28195 * lib/arg.c (find_long): Print the command name before the summary.
28196 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28197 summary.
28198 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28199 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28200 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28201 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28202 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28203 * commands/date.c (GRUB_MOD_INIT): Likewise.
28204 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28205 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28206 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28207 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28208 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28209 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28210 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28211 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28212 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28213 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28214 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28215 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28216 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28217 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28218 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28219 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28220 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28221 * commands/password.c (GRUB_MOD_INIT): Likewise.
28222 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28223 * commands/read.c (GRUB_MOD_INIT): Likewise.
28224 * commands/search.c (GRUB_MOD_INIT): Likewise.
28225 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28226 * commands/test.c (GRUB_MOD_INIT): Likewise.
28227 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28228 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28229 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28230 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28231 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28232 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28233 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28234 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28235 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28236 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28237 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28238 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28239 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28240 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28241
9c288be2
VS
282422009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28243
28244 Use search command for preliminar UUID search.
28245
28246 * commands/search.c: Split into ...
28247 * commands/search_wrap.c: ...this
28248 * commands/search.c: ...and this.
28249 * commands/search_file.c: New file.
28250 * commands/search_label.c: New file.
28251 * commands/search_uuid.c: New file.
28252 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28253 Add commands/search_wrap.c, commands/search_file.c,
28254 commands/search_label.c and commands/search_uuid.c.
28255 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28256 (search_mod_SOURCES): Set to commands/search_wrap.c.
28257 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28258 search_label.mod.
28259 (search_fs_file_mod_SOURCES): New variable.
28260 (search_fs_file_mod_CFLAGS): Likewise.
28261 (search_fs_file_mod_LDFLAGS): Likewise.
28262 (search_label_mod_SOURCES): Likewise.
28263 (search_label_mod_CFLAGS): Likewise.
28264 (search_label_mod_LDFLAGS): Likewise.
28265 (search_fs_uuid_mod_SOURCES): New variable.
28266 (search_fs_uuid_mod_CFLAGS): Likewise.
28267 (search_fs_uuid_mod_LDFLAGS): Likewise.
28268 (fs_file_mod_SOURCES): Removed.
28269 (fs_file_mod_CFLAGS): Likewise.
28270 (fs_file_mod_LDFLAGS): Likewise.
28271 (fs_uuid_mod_SOURCES): Removed.
28272 (fs_uuid_mod_CFLAGS): Likewise.
28273 (fs_uuid_mod_LDFLAGS): Likewise.
28274 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28275 Set to util/grub-install.in.
28276 * disk/fs_file.c: Removed.
28277 * disk/fs_uuid.c: Likewise.
28278 * include/grub/search.h: New file.
28279 * util/grub-install.in: Handle sparc64.
28280 Create and use load.cfg.
28281 * util/sparc64/ieee1275/grub-install.in: Removed.
28282
db943399
VS
282832009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28286 Ignore return status if CF is cleared.
28287 (grub_biosdisk_get_diskinfo_standard): Likewise.
28288
3fdae612
RM
282892009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28290
28291 * term/i386/pc/at_keyboard.c
28292 (keyboard_controller_wait_untill_ready): New function.
28293 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28294 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28295 for keyboard polling, rather than duplicate the same loop. This
28296 saves a few bytes in code size.
28297
7ebaa2b4
VS
282982009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28299
28300 Support for (pxe[:server[:gateway]]) syntax and
28301 use environment variable for PXE.
28302
28303 * commands/i386/pc/pxecmd.c (options): Removed.
28304 (print_ip): Removed.
28305 (grub_cmd_pxe): Removed
28306 (grub_cmd_pxe_unload): New function.
28307 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28308 (grub_pxe_your_ip): Made static.
28309 (grub_pxe_default_server_ip): Likewise.
28310 (grub_pxe_default_gateway_ip): Likewise.
28311 (grub_pxe_blksize): Likewise.
28312 (parse_ip): New function.
28313 (grub_pxe_open): Support server and gateway specification.
28314 (grub_pxe_close): Free disk->data.
28315 (grub_pxefs_open): Use disk->data.
28316 (grub_pxefs_read): Likewise.
28317 (grub_env_write_readonly): New function.
28318 (set_mac_env): Likewise.
28319 (set_env_limn_ro): Likewise.
28320 (parse_dhcp_vendor): Likewise.
28321 (grub_pxe_detect): Set the environment variables.
28322 (set_ip_env): New function.
28323 (write_ip_env): Likewise.
28324 (grub_env_write_pxe_default_server): Likewise.
28325 (grub_env_write_pxe_default_gateway): Likewise.
28326 (grub_env_write_pxe_blocksize): Likewise.
28327 (GRUB_MOD_INIT(pxe)): Set environment variables.
28328 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28329 (grub_pxe_mac_addr_t): ... this. All users updated.
28330 (grub_pxe_your_ip): Removed.
28331 (grub_pxe_server_ip): Likewise.
28332 (grub_pxe_gateway_ip): Likewise.
28333 (grub_pxe_blksize): Likewise.
28334
ec5f98ab 283352009-12-25 Carles Pina i Estany <carles@pina.cat>
28336
28337 * commands/help.c: Include `<grub/i18n.h>'.
28338 (grub_cmd_help): Gettextizze.
28339 (GRUB_MOD_INIT): Likewise.
28340 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28341 (GRUB_MOD_INIT): Gettextizze.
28342 * commands/search.c: Include `<grub/i18n.h>'.
28343 (options): Gettextizze.
28344 (GRUB_MOD_INIT): Gettextizze.
28345 * lib/arg.c: Include `<grub/i18n.h>'.
28346 (help_options): Gettextizze.
28347 (find_long): Likewise.
28348 (grub_arg_show_help): Likewise.
28349 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28350 (read_command_list): Gettextizze.
28351 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28352 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28353
22815526
RM
283542009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28355
28356 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28357 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28358 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28359 (led_status): New variable.
28360 (keyboard_controller_led): New function.
28361 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28362 update led status for caps lock, num lock and scroll lock.
28363
0ad46fd7
FZ
283642009-12-25 Felix Zielcke <fzielcke@z-51.de>
28365
28366 * util/hostdisk.c (open_device): Fix a comment.
28367
d0e158c2
RM
283682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28369
28370 * util/grub-install.in (host_os): New variable.
28371 * util/i386/efi/grub-install.in (host_os): Likewise.
28372
401c0ad6
RM
283732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28374
28375 * util/mkisofs/write.c (padblock_write): Abort when given an
28376 excedingly large embed image, instead of silently truncating it.
28377
d14d3370
RM
283782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28379
28380 * include/multiboot.h: Indentation fixes.
28381
eeed10b4
RM
283822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28383
28384 * include/multiboot.h (struct multiboot_aout_symbol_table)
28385 (struct multiboot_elf_section_header_table): New structure
28386 declarations (stolen from GRUB Legacy).
28387 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28388 table information.
28389
28390 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28391 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28392 type aliases.
28393
681c70ab
RM
283942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28395
28396 * include/multiboot.h: Make comments src2texi-friendly.
28397
e4d47d8d
RM
283982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28399
28400 For consistency with [multiboot]/docs/boot.S.
28401
28402 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28403 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28404 (MULTIBOOT_MAGIC2): Rename from this ...
28405 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28406
a0b70bda
RM
284072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28408
28409 * include/multiboot.h: Remove `<grub/types.h>'.
28410 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28411 types. Update all users.
28412
61ba42be 284132009-12-25 Carles Pina i Estany <carles@pina.cat>
28414
28415 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28416 `couldn't' and `can not' by `cannot'.
28417 * commands/i386/pc/drivemap.c: Likewise.
28418 * disk/ata.c: Likewise.
28419 * disk/ieee1275/nand.c: Likewise.
28420 * fs/affs.c: Likewise.
28421 * fs/fat.c: Likewise.
28422 * fs/hfs.c: Likewise.
28423 * fs/hfsplus.c: Likewise.
28424 * fs/iso9660.c: Likewise.
28425 * fs/jfs.c: Likewise.
28426 * fs/minix.c: Likewise.
28427 * fs/reiserfs.c: Likewise.
28428 * fs/sfs.c: Likewise.
28429 * fs/udf.c: Likewise.
28430 * fs/ufs.c: Likewise.
28431 * fs/xfs.c: Likewise.
28432 * loader/powerpc/ieee1275/linux.c: Likewise.
28433 * loader/sparc64/ieee1275/linux.c: Likewise.
28434 * util/grub-probe.c: Likewise.
28435 * util/misc.c: Likewise.
28436
7fd0baee 284372009-12-24 Carles Pina i Estany <carles@pina.cat>
28438
28439 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28440 grub_errno calls.
28441 * commands/acpi.c: Likewise.
28442 * commands/blocklist.c: Likewise.
28443 * commands/efi/loadbios.c: Likewise.
28444 * commands/i386/pc/drivemap.c: Likewise.
28445 * commands/loadenv.c: Likewise.
28446 * commands/memrw.c: Likewise.
28447 * commands/password.c: Likewise.
28448 * commands/videotest.c: Likewise.
28449 * disk/ata.c: Likewise.
28450 * disk/ata_pthru.c: Likewise.
28451 * disk/dmraid_nvidia.c: Likewise.
28452 * disk/ieee1275/nand.c: Likewise.
28453 * disk/ieee1275/ofdisk.c: Likewise.
28454 * disk/loopback.c: Likewise.
28455 * disk/lvm.c: Likewise.
28456 * disk/mdraid_linux.c: Likewise.
28457 * disk/raid.c: Likewise.
28458 * disk/raid6_recover.c: Likewise.
28459 * disk/scsi.c: Likewise.
28460 * efiemu/main.c: Likewise.
28461 * efiemu/mm.c: Likewise.
28462 * efiemu/pnvram.c: Likewise.
28463 * efiemu/symbols.c: Likewise.
28464 * font/font.c: Likewise.
28465 * fs/cpio.c: Likewise.
28466 * fs/hfsplus.c: Likewise.
28467 * fs/iso9660.c: Likewise.
28468 * fs/jfs.c: Likewise.
28469 * fs/minix.c: Likewise.
28470 * fs/ntfs.c: Likewise.
28471 * fs/ntfscomp.c: Likewise.
28472 * fs/reiserfs.c: Likewise.
28473 * fs/ufs.c: Likewise.
28474 * fs/xfs.c: Likewise.
28475 * gettext/gettext.c: Likewise.
28476 * include/grub/auth.h: Likewise.
28477 * kern/elf.c: Likewise.
28478 * kern/file.c: Likewise.
28479 * kern/ieee1275/init.c: Likewise.
28480 * kern/ieee1275/mmap.c: Likewise.
28481 * kern/ieee1275/openfw.c: Likewise.
28482 * kern/powerpc/dl.c: Likewise.
28483 * kern/sparc64/dl.c: Likewise.
28484 * lib/arg.c: Likewise.
28485 * loader/i386/bsd.c: Likewise.
28486 * loader/i386/bsdXX.c: Likewise.
28487 * loader/i386/efi/linux.c: Likewise.
28488 * loader/i386/efi/xnu.c: Likewise.
28489 * loader/i386/ieee1275/linux.c: Likewise.
28490 * loader/i386/linux.c: Likewise.
28491 * loader/i386/multiboot.c: Likewise.
28492 * loader/i386/pc/linux.c: Likewise.
28493 * loader/i386/pc/multiboot2.c: Likewise.
28494 * loader/i386/xnu.c: Likewise.
28495 * loader/ieee1275/multiboot2.c: Likewise.
28496 * loader/macho.c: Likewise.
28497 * loader/machoXX.c: Likewise.
28498 * loader/multiboot2.c: Likewise.
28499 * loader/multiboot_loader.c: Likewise.
28500 * loader/powerpc/ieee1275/linux.c: Likewise.
28501 * loader/sparc64/ieee1275/linux.c: Likewise.
28502 * loader/xnu.c: Likewise.
28503 * loader/xnu_resume.c: Likewise.
28504 * mmap/i386/pc/mmap.c: Likewise.
28505 * normal/menu_viewer.c: Likewise.
28506 * partmap/acorn.c: Likewise.
28507 * partmap/amiga.c: Likewise.
28508 * partmap/apple.c: Likewise.
28509 * script/lexer.c: Likewise.
28510 * term/gfxterm.c: Likewise.
28511 * term/i386/pc/serial.c: Likewise.
28512 * term/i386/pc/vga.c: Likewise.
28513 * term/ieee1275/ofconsole.c: Likewise.
28514 * term/terminfo.c: Likewise.
28515 * video/bitmap.c: Likewise.
28516 * video/efi_gop.c: Likewise.
28517 * video/efi_uga.c: Likewise.
28518 * video/fb/video_fb.c: Likewise.
28519 * video/i386/pc/vbe.c: Likewise.
28520 * video/readers/tga.c: Likewise.
28521 * video/video.c: Likewise.
28522
0ad46fd7 285232009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28524
28525 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28526 * commands/lspci.c: Likewise.
28527 * commands/probe.c: Likewise.
28528 * commands/xnu_uuid.c: Likewise.
28529 * conf/i386-coreboot.rmk: Likewise.
28530 * conf/i386-efi.rmk: Likewise.
28531 * conf/i386-ieee1275.rmk: Likewise.
28532 * conf/i386-pc.rmk: Likewise.
28533 * conf/powerpc-ieee1275.rmk: Likewise.
28534 * conf/sparc64-ieee1275.rmk: Likewise.
28535 * conf/x86_64-efi.rmk: Likewise.
28536 * fs/i386/pc/pxe.c: Likewise.
28537 * gettext/gettext.c: Likewise.
28538 * include/grub/efi/graphics_output.h: Likewise.
28539 * include/grub/i386/pc/memory.h: Likewise.
28540 * kern/env.c: Likewise.
28541 * kern/i386/qemu/startup.S: Likewise.
28542 * lib/i386/pc/biosnum.c: Likewise.
28543 * lib/i386/relocator.c: Likewise.
28544 * lib/i386/relocator_asm.S: Likewise.
28545 * lib/relocator.c: Likewise.
28546 * loader/i386/bsd.c: Likewise.
28547 * loader/i386/multiboot.c: Likewise.
28548 * loader/i386/pc/chainloader.c: Likewise.
28549 * loader/i386/xnu.c: Likewise.
28550 * loader/xnu.c: Likewise.
28551 * normal/main.c: Likewise.
28552 * normal/menu_text.c: Likewise.
28553 * util/getroot.c: Likewise.
28554 * util/grub-mkconfig_lib.in: Likewise.
28555 * util/grub.d/00_header.in: Likewise.
28556 * util/i386/pc/grub-mkimage.c: Likewise.
28557 * util/mkisofs/eltorito.c: Likewise.
28558 * util/mkisofs/exclude.h: Likewise.
28559 * util/mkisofs/hash.c: Likewise.
28560 * util/mkisofs/iso9660.h: Likewise.
28561 * util/mkisofs/joliet.c: Likewise.
28562 * util/mkisofs/mkisofs.c: Likewise.
28563 * util/mkisofs/mkisofs.h: Likewise.
28564 * util/mkisofs/multi.c: Likewise.
28565 * util/mkisofs/name.c: Likewise.
28566 * util/mkisofs/rock.c: Likewise.
28567 * util/mkisofs/tree.c: Likewise.
28568 * util/mkisofs/write.c: Likewise.
28569 * video/efi_gop.c: Likewise.
28570
009ec743
VS
285712009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28572
28573 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28574 size counting.
28575
0ad46fd7 285762009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28577
28578 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28579 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28580
d3d30ea0
VS
285812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28582
28583 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28584 (GRUB_MOD_INIT(memrw)): Update help line.
28585
a34f5c70
VS
285862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28587
28588 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28589 Use grub_extcmd_t. All users updated.
28590 (options): New variable.
28591 (grub_cmd_read): Restructure for readability. Support "-v" option.
28592 (grub_cmd_write): Restructure for readability.
28593
0ad46fd7 285942009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28595
28596 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28597
0ad46fd7 285982009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28599
28600 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28601 with the actual contents of the correspondending make variable.
28602 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28603 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28604 specifying `*.lst' and `efiemu??.o'
28605
0ad46fd7 286062009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28607
28608 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28609 after function name.
28610 Noticed by Rene Engelhard <rene@debian.org>.
28611
dc77a799
VS
286122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28613
28614 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28615 (options): New variable.
28616 (iospace): Likewise.
28617 (grub_lspci_iter): List IO spaces if "-i" was given.
28618 (grub_cmd_lspci): Parse options.
28619 (GRUB_MOD_INIT(lspci)): Use extcmd.
28620 (GRUB_MOD_FINI(lspci)): Likewise.
28621
0ad46fd7 286222009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28623
28624 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28625 `function' keyword.
28626 Patch by Tony Mancill <tmancill@debian.org>.
28627
b5d5993b
VS
286282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28629
28630 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28631 (grub_uhci_portstatus): Likewise.
28632 (grub_uhci_portstatus): Add necessary delay.
11d18281 28633 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28634
941903f2 286352009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28636
941903f2 28637 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28638 (GRUB_MOD_INIT): Likewise.
28639 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28640 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28641 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28642 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28643 (enable_rom_area): Likewise.
28644 (GRUB_MOD_INIT): Likewise.
28645 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28646 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28647 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28648 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28649 * commands/hexdump.c (options): Likewise.
28650 * commands/i386/cpuid.c (options): Likewise.
28651 (GRUB_MOD_INIT): Likewise.
28652 * commands/i386/pc/drivemap.c (options): Likewise.
28653 (GRUB_MOD_INIT): Likewise.
28654 * commands/i386/pc/halt (options): Likewise.
28655 (GRUB_MOD_INIT): Likewise.
28656 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28657 * commands/i386/pc/pxecmd.c (options): Likewise.
28658 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28659 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28660 * commands/keystatus.c (options): Likewise.
28661 (GRUB_MOD_INIT): Likewise.
28662 * commands/loadenv.c (options): Likewise.
28663 * commands/ls.c (options): Likewise.
28664 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28665 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28666 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28667 * commands/parttool.c (helpmsg): Likewise.
28668 * commands/probe.c (options): Likewise.
28669 * commands/read.c (GRUB_MOD_INIT): Likewise.
28670 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28671 * commands/search.c (options): Likewise.
28672 * commands/sleep.c (options): Likewise.
28673 * commands/test.c (GRUB_MOD_INIT): Likewise.
28674 * commands/true.c (GRUB_MOD_INIT): Likewise.
28675 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28676 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28677 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28678 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28679 `$(XGETTEXT)'.
98a50553 28680 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28681
0ad46fd7 286822009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28683
ef3c2c3a 28684 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28685 instead of specifying them explicit.
28686
7922f68b
RM
286872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28688
28689 * NEWS: Add grub-probe support for GNU/Hurd.
28690
537ce47f
RM
286912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28692
28693 * NEWS: gettext was added after 1.97.
28694
9b214e3a
RM
286952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28696
28697 * util/mkisofs/msdos_partition.h: New file (based on
28698 include/grub/msdos_partition.h).
28699 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28700 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28701 (ld_options, main): Recognize --protective-msdos-label.
28702 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28703 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28704 (padblock_write): If `use_protective_msdos_label' is set, patch a
28705 protective DOS-style label in the output image.
28706
28707 * util/grub-mkrescue.in: Use --protective-msdos-label.
28708
e9309813
RM
287092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28710
28711 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28712 boot.
28713
0ae56929
RM
287142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28715
28716 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28717 variables.
28718 (ld_options, main): Recognize `--embedded-boot'.
28719 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28720 declarations.
28721 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28722 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28723 (padblock_write): Likewise. Rewrite to support embedded boot image.
28724
28725 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28726 for BIOS-based disk boot instead of only ElTorito.
28727
b15937b1
RM
287282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28729
28730 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28731 build (not needed for bootstrap).
28732
52cc3ce0
RM
287332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28734
28735 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28736 from i386-pc build (not needed for bootstrap).
28737 Rewrite a pair of strings.
28738
36f5ff04
RM
287392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28740
28741 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28742
973c6c85 287432009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28744
28745 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28746
05d21547
AB
287472009-12-21 Andreas Born <futur.andy@googlemail.com>
28748
28749 * kern/env.c (grub_env_context_open): Mark exported variable for
28750 reexport.
28751
0175d51f
AB
287522009-12-21 Andreas Born <futur.andy@googlemail.com>
28753
28754 * kern/env.c (grub_env_export): Create nonexistent variables before
28755 exporting.
28756
7f39d92f 287572009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28758
7f39d92f 28759 * include/grub/auth.h: Include `<grub/i18n.h>'.
28760 (GRUB_GET_PASSWORD): Gettextizze string.
28761 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28762 menu_text.c.
28763 (grub_utf8_to_ucs4_alloc): Fix indentation.
28764 (grub_print_ucs4): Likewise.
28765 (grub_getstringwidth): Likewise.
28766 (print_message_indented): New declaration.
28767 * normal/auth.c: Include `<grub/i18n.h>'.
28768 (grub_auth_check_authentication): Gettexttize string.
28769 * normal/cmdline.c: Include `<grub/i18n.h>'.
28770 (grub_cmdline_get): Gettextizze.
28771 * normal/color.c: Include `<grub/i18n.h>'.
28772 (grub_parse_color_name_pair): Gettexttize strings.
28773 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28774 string (use `print_message_indented').
28775 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28776 `include/grub/normal.h'.
28777 (print_message_indented): Renamed to ...
28778 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28779 used in normal/main.c).
28780 (print_message): Use `grub_print_message_indented' instead of
28781 `print_message_indented'.
28782 (print_timeout): Likewise.
28783 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28784 (grub_normal_print_device_info): Gettexttize strings.
28785 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28786
3041d898
VS
287872009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28788
28789 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28790 of arguments. Return number of tokens and not arguments. All users
28791 updated.
28792
de15bf8e
VS
287932009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28794
28795 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28796 non-MSDOS paritions.
28797
e0a6ca52
VS
287982009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28799
28800 * include/grub/types.h (UNUSED): Removed since it conflicts with
28801 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28802 Reported by Grégoire Sutre.
28803
b99518d1 288042009-12-19 Carles Pina i Estany <carles@pina.cat>
28805
28806 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28807 (grub_print_ucs4_alloc): Likewise.
28808 (grub_getstringwidth): Likewise.
28809 * normal/main.c (grub_normal_init_page): Gettextize version string.
28810 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28811 (getstringwidth): Renamed to ...
28812 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28813 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28814 (grub_print_ucs4): Remove `static' qualifer (now used in
28815 normal/main.c).
28816 * po/POTFILES: Add normal/main.c.
28817
bfd5e52b 288182009-12-19 Carles Pina i Estany <carles@pina.cat>
28819
28820 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28821 (print_message_indented): Add `margin_left' and `margin_right'
28822 parameters.
28823 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28824 strings.
28825 (print_timeout): Use `print_message_indented' to print the message.
28826 Deletes `second_stage' parameter.
28827 (run_menu): Update `print_timeout' calls.
28828
5a1ad2b9
VS
288292009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28830
28831 Fix console palette on OpenFirmware.
28832
28833 * term/ieee1275/ofconsole.c (MAX): Removed.
28834 (colors): Redone based on VGA palette.
28835 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28836 colors are supported.
28837 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28838
b045f00a
VS
288392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28840
28841 Fix potential EfiEmu double prepare.
28842
28843 * efiemu/main.c (prepared): New variable
28844 (grub_efiemu_unload): Set prepare to '0'.
28845 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28846
28847 set_virtual_address_map support.
28848
28849 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28850 prototype.
28851 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28852 prototype.
28853 (grub_efiemu_crc32): Likewise.
28854 (grub_efiemu_crc64): Likewise.
28855 (grub_efiemu_set_virtual_address_map): Likewise.
28856 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28857 New definition.
28858 (grub_autoefi_set_virtual_address_map): Likewise.
28859 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28860 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28861 Restructure flow to accomodate it.
28862 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28863 (grub_efiemu_crc): Recompute CRC32.
28864 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28865 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28866 * efiemu/symbols.c (relocated_handle): New variable.
28867 (grub_efiemu_free_syms): Free relocated_handle.
28868 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28869 (grub_efiemu_write_sym_markers): New function.
28870 (grub_efiemu_set_virtual_address_map): Likewise.
28871
28872 Newer XNU parameters.
28873
28874 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28875 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28876 (grub_xnu_fill_devicetree): New prototype.
28877 (grub_xnu_heap_real_start): New variable.
28878 * loader/xnu.c (get_name_ptr): New function.
28879 (grub_xnu_load_driver): Fill namelen and name.
28880
28881 64-bit xnu support.
28882
28883 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28884 and 'loader/macho64.c'.
28885 * conf/i386-pc.rmk: Likewise.
28886 * conf/x86_64-efi.rmk: Likewise.
28887 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28888 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28889 * include/grub/macho.h (grub_macho_segment64): New structure.
28890 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28891 (grub_macho_size32): ... to this.
28892 (grub_macho32_get_entry_point): Renamed from ...
28893 (grub_macho_get_entry_point32): ... to this.
28894 (grub_macho_contains_macho64): New prototype.
28895 (grub_macho_size64): Likewise.
28896 (grub_macho_get_entry_point64): Likewise.
28897 (grub_macho32_load): Renamed from ...
28898 (grub_macho_load32): ... to this.
28899 (grub_macho32_filesize): Renamed from ...
28900 (grub_macho_filesize32): ... to this.
28901 (grub_macho32_readfile): Renamed from ...
28902 (grub_macho_readfile32): ... to this.
28903 (grub_macho_filesize64): New prototype.
28904 (grub_macho_readfile64): Likewise.
28905 (grub_macho_parse32): Likewise.
28906 (grub_macho_parse64): Likewise.
28907 * loader/macho.c: Split into ...
28908 * loader/machoXX.c: ... and this. Replace 32 with XX.
28909 * loader/macho32.c: New file.
28910 * loader/macho64.c: Likewise.
28911 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28912 (grub_cmd_xnu_kernel): Make 32-bit only.
28913 (grub_cmd_xnu_kernel64): New function.
28914 (grub_xnu_load_driver): Support Mach-O 64.
28915 (grub_cmd_xnu_mkext): Likewise.
28916 * util/grub.d/30_os-prober.in (osx_entry): New function.
28917 Generate entries for 64-bit boot too.
28918
28919 Eliminate ad-hoc tree format in XNU and EfiEmu.
28920
28921 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28922 * efiemu/pnvram.c: Rewritten to use environment variables.
28923 All users updated.
28924
28925 Inline utf16_to_utf8.
28926
28927 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28928 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28929 All users updated.
28930 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28931
28932 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28933 * commands/usbtest.c (grub_usb_get_string): ... move here.
28934 (usb_print_str): Fix error handling.
28935 * include/grub/usb.h (grub_usb_get_string): Remove.
28936
28937 UTF-8 to UTF-16 transformation.
28938
28939 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28940 (charset_mod_SOURCES): New variable.
28941 (charset_mod_CFLAGS): Likewise.
28942 (charset_mod_LDFLAGS): Likewise.
28943 * include/grub/utf.h: New file.
28944 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28945
28946 Support for device properties.
28947
28948 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28949 (grub_xnu_devprop_device_header): Likewise.
28950 (grub_xnu_devprop_device_descriptor): Likewise.
28951 (grub_xnu_devprop_add_device): New prototype.
28952 (grub_xnu_devprop_remove_device): Likewise.
28953 (grub_xnu_devprop_remove_property): Likewise.
28954 (grub_xnu_devprop_add_property_utf8): Likewise.
28955 (grub_xnu_devprop_add_property_utf16): Likewise.
28956 (grub_cpu_xnu_init): Likewise.
28957 (grub_cpu_xnu_fini): Likewise.
28958 (grub_cpu_xnu_unload): Likewise.
28959 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28960 (property_descriptor): Likewise.
28961 (devices): New variable.
28962 (grub_xnu_devprop_remove_property): New function.
28963 (grub_xnu_devprop_add_device): Likewise.
28964 (grub_xnu_devprop_remove_device): Likewise.
28965 (grub_xnu_devprop_add_property): Likewise.
28966 (grub_xnu_devprop_add_property_utf8): Likewise.
28967 (grub_xnu_devprop_add_property_utf16): Likewise.
28968 (hextoval): Likewise.
28969 (grub_cpu_xnu_fill_devprop): Likewise.
28970 (grub_cmd_devprop_load): Likewise.
28971 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28972 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28973 (cmd_devprop_load): New variable.
28974 (grub_cpu_xnu_init): New function.
28975 (grub_cpu_xnu_fini): Likewise.
28976 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28977 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28978 (grub_cmd_xnu_devtree): Likewise.
28979 (hextoval): New function.
28980 (unescape): Likewise.
28981 (grub_xnu_fill_devicetree): Likewise.
28982
28983 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28984 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28985
0945f181
VS
289862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 Workaround for broken ATI VBE.
28989
28990 * video/i386/pc/vbe.c (last_set_mode): New variable.
28991 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28992 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28993 (grub_video_vbe_setup): Don't check for reserved flag.
28994
0ad46fd7 289952009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28996
28997 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28998 the `find' command.
28999
c179ebe4
VS
290002009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29001
29002 UUID support for HFS.
29003
29004 * fs/hfs.c (grub_hfs_uuid): New function.
29005 (grub_hfs_fs): New value .uuid.
29006 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29007
0ad46fd7 290082009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29009
29010 Fix a segfault with parsing unknown long options.
29011
29012 * util/grub-mkrelpath.c (options): Zero terminate it.
29013
c4a3e41a
CPE
290142009-12-13 Carles Pina i Estany <carles@pina.cat>
29015
29016 * include/grub/misc.h (grub_puts): New declaration.
29017 (grub_puts_): Likewise.
a22008a6 29018 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29019 (grub_puts_): Likewise.
29020
2e8a7602
RM
290212009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29022
29023 * util/grub-probe.c (probe): Improve error message.
29024
b50b77b9
RM
290252009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29026
29027 * loader/i386/multiboot_elfxx.c
29028 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29029 initialization.
29030
290312009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29032
29033 Relocator framework
29034
29035 * loader/i386/xnu_helper.S: Removed. All users updated.
29036 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29037 (relocator_mod_SOURCES): New variable.
29038 (relocator_mod_CFLAGS): Likewise.
29039 (relocator_mod_LDFLAGS): Likewise.
29040 (relocator_mod_ASFLAGS): Likewise.
29041 * conf/x86_64.rmk: Likewise.
29042 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29043 (grub_multiboot_payload_entry_offset): Likewise.
29044 (grub_multiboot_forward_relocator): Likewise.
29045 (grub_multiboot_forward_relocator_end): Likewise.
29046 (grub_multiboot_backward_relocator): Likewise.
29047 (grub_multiboot_backward_relocator_end): Likewise.
29048 (grub_multiboot_payload_eip): New variable.
29049 (grub_multiboot_payload_orig): Likewise.
29050 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29051 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29052 * include/grub/i386/memory.h
29053 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29054 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29055 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29056 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29057 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29058 * include/grub/i386/relocator.h: New file.
29059 * include/grub/x86_64/relocator.h: Likewise.
29060 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29061 (XNU_RELOCATOR): New macro.
29062 (grub_xnu_launcher_start): Remove.
29063 (grub_xnu_launcher_end): Likewise.
29064 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29065 (grub_xnu_heap_real_start): Remove.
29066 (grub_xnu_heap_start): Change to void *. All users updated.
29067 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29068 * lib/i386/relocator.c: New file.
29069 * lib/i386/relocator_asm.S: Likewise.
29070 * lib/i386/relocator_backward.S: Likewise.
29071 * lib/mips/relocator.c: Likewise.
29072 * lib/mips/relocator_asm.S: Likewise.
29073 * lib/relocator.c: Likewise.
29074 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29075 (entry): Removed.
29076 (playground): Likewise.
29077 (grub_multiboot_payload_orig): New variable.
29078 (grub_multiboot_payload_dest): Likewise.
29079 (grub_multiboot_payload_size): Likewise.
29080 (grub_multiboot_payload_eip): Likewise.
29081 (grub_multiboot_payload_esp): Likewise.
29082 (grub_multiboot_boot): Use grub_relocator32_boot.
29083 (grub_multiboot_unload): Free relocators.
29084 (grub_multiboot): Setup stack. Use relocators.
29085 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29086 (grub_multiboot_load_elfXX): Use relocators.
29087 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29088 (grub_multiboot_payload_size): Likewise.
29089 (grub_multiboot_payload_dest): Likewise.
29090 (grub_multiboot_payload_entry_offset): Likewise.
29091 (grub_multiboot_forward_relocator): Likewise.
29092 (grub_multiboot_backward_relocator): Likewise.
29093 (grub_multiboot_real_boot): Likewise.
29094 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29095 (grub_xnu_entry_point): Likewise.
29096 (grub_xnu_arg1): Likewise.
29097 (grub_xnu_stack): Likewise.
29098 (grub_xnu_launch): Removed.
29099 (grub_xnu_boot_resume): New function.
29100 (grub_xnu_boot): Use relocators.
29101 * loader/i386/xnu_helper.S: Removed.
29102 * loader/xnu.c (grub_xnu_heap_start): New variable.
29103 (grub_xnu_heap_size): Likewise.
29104 (grub_xnu_heap_malloc): Use relocators.
29105 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29106
29eb90c6
VS
291072009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29108
29109 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29110 anything.
29111
31027430
CPE
291122009-12-13 Carles Pina i Estany <carles@pina.cat>
29113
29114 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29115 GRUB_ERR_NONE before calling grub_env_set.
29116
dc0c71d9
RM
291172009-12-12 Robert Millan <rmh@aybabtu.com>
29118
29119 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29120 * genmk.rb (video): New variable.
29121 (CLEANFILES, VIDEOFILES): Add #{video}.
29122 (#{video}): New target rule.
29123 * genvideolist.sh: New file.
29124 * Makefile.in (pkglib_DATA): Add video.lst.
29125 (video.lst): New target rule.
29126 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29127 `video.lst'.
29128 * util/grub.d/30_os-prober.in: Replace `vbe' with
29129 ${GRUB_VIDEO_BACKEND}.
29130
2a4bfcf0
RM
291312009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29132
29133 * THANKS: Add David Miller.
29134
2a3aa4d5
RM
291352009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29136
29137 libpciaccess support.
29138
29139 * Makefile.in (LIBPCIACCESS): New variable.
29140 (enable_grub_emu_pci): Likewise.
29141 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29142 util/pci.c and commands/lspci.c.
29143 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29144 * configure.ac (grub-emu-pci): New option.
29145 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29146 (grub_pci_device_unmap_range): Likewise.
29147 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29148 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29149 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29150 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29151 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29152 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29153 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29154 * include/grub/pciutils.h: New file.
29155 * util/pci.c: Likewise.
29156
0ad46fd7 291572009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29158
29159 * util/misc.c: Don't include <errno.h> twice.
29160
0ad46fd7 291612009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29162
29163 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29164 name in an error message.
29165 (grub_biosdisk_rw): Likewise.
29166
2e59983c
VS
291672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29168
29169 Eliminate NTFS 4Gib barrier.
29170
29171 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29172 (read_run_data): Likewise.
29173 (grub_ntfs_read_run_list): Likewise.
29174 (grub_ntfs_read_block): Likewise.
29175 (grub_ntfs_iterate_dir): Likewise.
29176 (read_mft): Likewise.
29177 (read_data): Likewise.
29178 Use COM_LOG_LEN.
29179 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29180 to avoid 64-bit division
29181 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29182 (grub_ntfs_rlst): Use grub_disk_addr_t.
29183
71ee178a
VS
291842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29185
29186 Eliminate grub-fstest 4Gib barrier.
29187
29188 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29189 (read_file): Fix error reporting.
29190
2520d4b8
VS
291912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 Eliminate hexdump 4Gib barrier.
29194
29195 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29196 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29197
e1f27065
VS
291982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29199
29200 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29201 Fixes amarsh bug.
29202
1a0f7f45
RM
292032009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29204
29205 Remove miscellaneous files in distclean target.
29206
29207 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29208
c631d9fb
CW
292092009-12-09 Colin Watson <cjwatson@ubuntu.com>
29210
29211 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29212 if they're already set. This resolves the conflict between my
29213 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29214 fixing the --grub-probe option again.
29215 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29216 change on 2009-10-06, so that we now once again source
29217 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29218
7c7b6106
RM
292192009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29220
29221 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29222 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29223 `util/devicemap.c'.
29224
e3069ec1
CPE
292252009-12-08 Carles Pina i Estany <carles@pina.cat>
29226
29227 * include/grub/misc.h (grub_printf_): New declaration.
29228 * kern/misc.c (grub_printf_): New definition.
29229 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29230 instead of `grub_printf' and `_'.
29231 * normal/menu_entry.c (store_completion): Likewise.
29232 (run): Likewise.
29233 (grub_menu_entry_run): Likewise.
29234 * normal/menu_text.c (grub_wait_after_message): Likewise.
29235 (notify_booting): Likewise.
29236 (notify_fallback): Likewise.
29237 (notify_execution_failure): Likewise.
29238
d6ceebf1
CW
292392009-12-07 Colin Watson <cjwatson@ubuntu.com>
29240
29241 * configure.ac: Check for vasprintf.
29242 * util/misc.c (asprintf): Move allocation from here ...
29243 (vasprintf): ... to here. New function.
29244 (xasprintf): New function.
29245 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29246 prototypes.
29247 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29248 * util/grub-mkfont.c (write_font): Likewise.
29249 * util/grub-probe.c (probe): Likewise.
29250 * util/hostdisk.c (make_device_name): Likewise.
29251
de6daa8b
DM
292522009-12-06 David S. Miller <davem@sunset.davemloft.net>
29253
29254 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29255 anything even prefixed with 'cdrom' as a cdrom.
29256
0ad46fd7 292572009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29258
29259 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29260 mount points.
29261
98d3dc02
CPE
292622009-12-05 Carles Pina i Estany <carles@pina.cat>
29263
29264 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29265 grub_gettext_msg_list.
29266 (grub_gettext_gettranslation_from_position): Return const char *
29267 and not char *.
a2c1332b 29268 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29269 returns from the list if existing there.
29270 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29271 (grub_gettext_delete_list): Delete the list.
29272 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29273 lang environment variable is changed.
29274 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29275
b283f108
VS
292762009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29277
29278 Rename kernel.mod to kernel.img.
29279
29280 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29281 (kernel_mod_EXPORTS): Rename to ...
29282 (kernel_img_EXPORTS): ... this.
29283 (kernel_mod_SOURCES): Rename to ...
29284 (kernel_img_SOURCES): ... this.
29285 (kernel_mod_HEADERS): Rename to ...
29286 (kernel_img_HEADERS): ... this. All users updated.
29287 (kernel_mod_CFLAGS): Rename to ...
29288 (kernel_img_CFLAGS): ... this.
29289 (kernel_mod_ASFLAGS): Rename to ...
29290 (kernel_img_ASFLAGS): ... this.
29291 (kernel_mod_LDFLAGS): Rename to ...
29292 (kernel_img_LDFLAGS): ... this.
29293 * conf/x86_64-efi.rmk: Likewise.
29294 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29295 (read_kernel_image): ... this. All users updated.
29296 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29297
69055f8a
CPE
292982009-12-05 Carles Pina i Estany <carles@pina.cat>
29299
29300 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29301 (print_spaces): New function.
29302 (grub_print_ucs4): New function.
29303 (getstringwidth): New function.
29304 (print_message_indented): New function.
29305 (print_message): Gettexttize strings using print_message_indented.
29306 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29307 width.
29308 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29309 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29310 Gettextize.
29311 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29312 string.
29313 (run): Likewise.
29314 (grub_menu_entry_run): Likewise.
29315 * PO/POTFILES: Add normal/menu_entry.c.
29316
f616f51c
VS
293172009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29318
29319 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29320
57bbe3be
CPE
293212009-12-05 Carles Pina i Estany <carles@pina.cat>
29322
29323 * util/grub-install.in: Install gettext .mo files.
29324 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29325
013d67a1
CPE
293262009-12-05 Carles Pina i Estany <carles@pina.cat>
29327
29328 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29329 grub_dprintf.
29330
fb954db0
RM
293312009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29332
29333 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29334 non-firmware-dependant one in realmode.S takes precedence.
29335
6b8474f8
RM
293362009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29337
29338 * commands/halt.c: Replace misc arch-specific headers with
29339 `<grub/misc.h>'.
29340 * commands/reboot.c: Likewise.
29341 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29342 `<grub/misc.h>'.
29343 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29344 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29345 (kernel_img_SOURCES): ... to here.
29346
29347 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29348 * include/grub/i386/pc/init.h: Likewise.
29349 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29350 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29351
29352 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29353
29354 * include/grub/i386/halt.h: Remove.
29355 * include/grub/i386/reboot.h: Likewise.
29356
29357 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29358
4b2e6ca2
DM
293592009-12-03 David S. Miller <davem@sunset.davemloft.net>
29360
29361 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29362 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29363 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29364 "progname.h"
29365 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29366 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29367 (usage): Add missing comma in printf.
29368
5239348f
RM
293692009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29370
29371 Use the same reboot approach on i386 coreboot and qemu as we do on
29372 BIOS.
29373
29374 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29375 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29376 * kern/i386/reboot.c: Remove.
29377 * include/grub/i386/reboot.h (grub_reboot): Export function.
29378 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29379 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29380 0xf000:0xfff0 instead of 0xffff:0x0000.
29381 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29382 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29383
ef34cbd4
RM
293842009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29385
29386 Fix $srcdir != $objdir build.
29387
29388 * Makefile.in (po/%.po): Rewrite as ...
29389 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29390
dc9837ea
ST
293912009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29392
29393 Fix GNU/Hurd grub-install crash.
29394 * util/grub-probe.c (probe): Try to access `path' only when it is not
29395 NULL.
29396
2f857f98
VS
293972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29398
29399 Correct module naming.
29400
29401 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29402 (GRUB_MOD_INIT(efi_uga)): ... to this
29403 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29404 (GRUB_MOD_FINI(efi_uga)): ... to this
29405 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29406 (GRUB_MOD_INIT(efi_gop)): ... to this
29407 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29408 (GRUB_MOD_FINI(efi_gop)): ... to this
29409
c5448046
RM
294102009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29411
29412 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29413 translatable.
29414 (usage): Translate `arg' strings using gettext().
29415 Thanks to Jordi Mallach for the suggestion.
29416
c85184ad
VS
294172009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29418
29419 GOP support. Based on patch from Bean
29420 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29421
29422 * video/efi_gop.c: New file.
29423 * include/grub/efi/graphics_output.h: Likewise.
29424 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29425 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29426 variables.
29427 * conf/x86_64-efi.rmk: Likewise.
29428
8a4c48d8
VS
294292009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29430
29431 Rename efi_fb to efi_uga.
29432
29433 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29434 'efi_uga.mod'.
29435 (efi_fb_mod_SOURCES): Rename this ...
29436 (efi_uga_mod_SOURCES): ... to this.
29437 (efi_fb_mod_CFLAGS): Rename this ...
29438 (efi_uga_mod_CFLAGS): ... to this.
29439 (efi_fb_mod_LDFLAGS): Rename this ...
29440 (efi_uga_mod_LDFLAGS): ... to this.
29441 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29442 'efi_uga.mod'.
29443 (efi_fb_mod_SOURCES): Rename this ...
29444 (efi_uga_mod_SOURCES): ... to this.
29445 (efi_fb_mod_CFLAGS): Rename this ...
29446 (efi_uga_mod_CFLAGS): ... to this.
29447 (efi_fb_mod_LDFLAGS): Rename this ...
29448 (efi_uga_mod_LDFLAGS): ... to this.
29449 * video/efi_fb.c: Move this ...
29450 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29451
fb6c1a7b
RM
294522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29453
29454 * po/README: New file. Explain our PO file workflow.
29455
3bc7896c
RM
294562009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29457
29458 * po/ChangeLog: Remove. Move relevant entries back to ...
29459 * ChangeLog: ... here.
29460 * po/ca.po: Remove (now handled by TLP).
29461 * po/id.po: Likewise.
29462 * po/zh_CN.po: Likewise.
29463 * Makefile.in (LINGUAS): Initialize in a way that supports
29464 empty set.
29465
9ed4841d
RM
294662009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29467
29468 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29469 reliing on po/LINGUAS.
29470 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29471 (po/%.po): ... this.
29472
0ad46fd7 294732009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29474
29475 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29476 (main): Use `program_name' instead of nonexistent `progname'.
29477
e30dd392
FZ
294782009-11-26 Felix Zielcke <fzielcke@z-51.de>
29479
29480 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29481 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29482
7656de4f
RM
294832009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29484
29485 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29486 commit.
29487 * conf/i386-efi.rmk: Likewise.
29488 * conf/i386-ieee1275.rmk: Likewise.
29489 * conf/powerpc-ieee1275.rmk: Likewise.
29490 * conf/sparc64-ieee1275.rmk: Likewise.
29491 * conf/x86_64-efi.rmk: Likewise.
29492
db77c4d4
FZ
294932009-11-26 Felix Zielcke <fzielcke@z-51.de>
29494
29495 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29496
a755bb04
FZ
294972009-11-26 Felix Zielcke <fzielcke@z-51.de>
29498
29499 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29500
8a4c07fd
RM
295012009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29502
29503 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29504 (grub_mkdevicemap_SOURCES): New variable.
29505 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29506 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29507 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29508 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29509 (grub_mkdevicemap_SOURCES): Remove.
29510 * conf/i386-efi.rmk: Likewise.
29511 * conf/i386-ieee1275.rmk: Likewise.
29512 * conf/i386-pc.rmk: Likewise.
29513 * conf/powerpc-ieee1275.rmk: Likewise.
29514 * conf/sparc64-ieee1275.rmk: Likewise.
29515 * conf/x86_64-efi.rmk: Likewise.
29516 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29517 (usage): Fix strings to use `program_name'.
29518 (main): Initialize gettext.
29519 * util/grub-editenv.c: Likewise.
29520 * util/grub-emu.c: Likewise.
29521 * util/grub-fstest.c: Likewise.
29522 * util/grub-mkdevicemap.c: Likewise.
29523 * util/grub-mkfont.c: Likewise.
29524 * util/grub-mkrelpath.c: Likewise.
29525 * util/grub-pe2elf.c: Likewise.
29526 * util/grub-probe.c: Likewise.
29527 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29528 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29529 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29530
29531 * util/misc.c: Include `"progname.h"'.
29532 (progname): Remove variable.
29533 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29534
6f61ed55
FZ
295352009-11-25 Felix Zielcke <fzielcke@z-51.de>
29536
29537 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29538 printf and print a newline after the menuentry header line.
29539 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29540
f022876b
FZ
295412009-11-25 Felix Zielcke <fzielcke@z-51.de>
29542
29543 autoconf >= 2.60 support $(localedir).
29544
29545 * INSTALL: Note that autoconf 2.60 is required.
29546 * configure.ac (AC_PREREQ): Bump to 2.60.
29547 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29548 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29549
6717926e
YB
295502009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29551
29552 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29553 aclocal is run.
29554
08806a54
RM
295552009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29556
29557 * normal/main.c (grub_normal_read_line): Fix off-by-one
29558 buffer overflow.
29559
13b33fba
RM
295602009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29561
29562 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29563 "parser.grub" in grub_command_execute() call.
29564
4a8572e9
CPE
295652009-11-24 Carles Pina i Estany <carles@pina.cat>
29566
29567 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29568 * conf/i386-efi.rmk: Likewise.
29569 * conf/i386-ieee1275.rmk: Likewise.
29570 * conf/i386-pc.rmk: Likewise.
29571 * conf/powerpc-ieee1275.rmk: Likewise.
29572 * conf/sparc64-ieee1275.rmk: Likewise.
29573 * conf/x86_64-efi.rmk: Likewise.
29574 * gettext/gettex.c: Include <grub/i18n.h>.
29575 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29576 here ...
29577 * include/grub/i18n.h: ... to here
29578 * include/grub/i18n.h: ... to here.
29579 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29580 (grub_gettext_dummy): Move above user.
4a8572e9 29581
bee48093
FZ
295822009-11-24 Felix Zielcke <fzielcke@z-51.de>
29583
29584 * util/Makefile.in (install-local): Convert a `for' into a normal
29585 shell expansion.
29586
a031e91c
RM
295872009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29588
29589 * autogen.sh: Add automake call.
29590 * config.guess: Remove.
29591 * config.sub: Likewise.
29592 * install-sh: Likewise.
29593
26bec39d
FZ
295942009-11-24 Felix Zielcke <fzielcke@z-51.de>
29595
29596 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29597
8e2532fd
FZ
295982009-11-24 Felix Zielcke <fzielcke@z-51.de>
29599
29600 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29601 function to a normal shell `for'.
29602
fefa1b7d
FZ
296032009-11-24 Felix Zielcke <fzielcke@z-51.de>
29604
29605 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29606
4501250b
FZ
296072009-11-24 Felix Zielcke <fzielcke@z-51.de>
29608
29609 * util/grub-mkrelpath.c: New file.
29610 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29611 (grub_mkrelpath_SOURCES): New variable.
29612 * include/grub/util/misc.h: New function prototype.
29613 * util/misc.c (make_system_path_relative_to_its_root): New function.
29614
29615 * util/grub-mkconfig_lib.in (bindir): New variable.
29616 (grub_mkrelpath): Likewise.
29617 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29618
29619 * util/probe.c (probe): Make the file path relative to its root.
29620 Change a info message to use the GRUB path. Enable again the
29621 check if we can read the file with GRUB facilities.
29622
29623 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29624 to its root.
29625
11d9778b
FZ
296262009-11-24 Felix Zielcke <fzielcke@z-51.de>
29627
29628 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29629 platform.
29630
4465287d
FZ
296312009-11-24 Felix Zielcke <fzielcke@z-51.de>
29632
29633 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29634 strncmp().
29635
62b47f22
FZ
296362009-11-24 Felix Zielcke <fzielcke@z-51.de>
29637
29638 * util/getroot.c (grub_util_is_dmraid): New function.
29639 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29640 devices as normal ones, not as LVM.
29641
1eafb9b9 296422009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29643
29644 * conf/common.rmk: Add grub-gettext_lib target and updates
29645 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29646 LDFLAGS.
29647 * gettext/gettext.c: New file. (Reads mo files).
29648 * include/grub/file.h (grub_file_pread): New prototype.
29649 * include/grub/i18n.h (_): New prototype.
29650 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29651 prototypes.
29652 * kern/misc.c (grub_gettext_dummy): New function.
29653 * normal/menu_text.c: Include <grub/i18n.h>.
29654 * normal/menu_text.c (print_timeout): Gettexttize string.
29655 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29656 * po/POTFILES: Add `normal/menu_text.c'.
29657 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29658 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29659 gettext module and defines locale_dir and lang in grub.cfg.
29660 * NEWS: Add gettext support.
29661
0fdb2568
RM
296622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29663
29664 * util/hostdisk.c: Include `<grub/i18n.h>'.
29665 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29666 (make_device_name): Rewrite using asprintf.
29667 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29668 (find_system_device): If a device is not found, generate one just
29669 by reusing the OS path name.
29670 (read_device_map): Make it permissible for device.map not to exist.
29671
f515aa62
RM
296722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29673
29674 * script/sh/execute.c: Move from here ...
29675 * script/execute.c: ... to here. Update all users.
29676 * script/sh/function.c: Move from here ...
29677 * script/function.c: ... to here. Update all users.
29678 * script/sh/lexer.c: Move from here ...
29679 * script/lexer.c: ... to here. Update all users.
29680 * script/sh/main.c: Move from here ...
29681 * script/main.c: ... to here. Update all users.
29682 * script/sh/parser.y: Move from here ...
29683 * script/parser.y: ... to here. Update all users.
29684 * script/sh/script.c: Move from here ...
29685 * script/script.c: ... to here. Update all users.
29686
f84b481b
RM
296872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 * configure.ac: Detect all `emu' platforms. Define
29690 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29691 --enable-grub-emu logic. Disable include/grub/machine
29692 symlink on `emu' platforms.
29693
29694 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29695 * gensymlist.sh.in: Likewise.
29696
29697 * include/grub/i386/coreboot/machine.h: Remove file.
29698 * include/grub/i386/efi/machine.h: Likewise.
29699 * include/grub/i386/ieee1275/machine.h: Likewise.
29700 * include/grub/i386/pc/machine.h: Likewise.
29701 * include/grub/i386/qemu/machine.h: Likewise.
29702 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29703 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29704 * include/grub/x86_64/efi/machine.h: Likewise.
29705
29706 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29707 * commands/halt.c: Likewise.
29708 * commands/reboot.c: Likewise.
29709 * include/grub/autoefi.h: Likewise.
29710 * include/grub/i386/at_keyboard.h: Likewise.
29711 * include/grub/i386/kernel.h: Likewise.
29712 * include/grub/i386/loader.h: Likewise.
29713 * include/grub/i386/pc/memory.h: Likewise.
29714 * kern/dl.c: Likewise.
29715 * kern/i386/coreboot/init.c: Likewise.
29716 * loader/i386/bsd.c: Likewise.
29717 * loader/i386/linux.c: Likewise.
29718 * loader/multiboot_loader.c: Likewise.
29719 * term/i386/pc/serial.c: Likewise.
29720 * term/usb_keyboard.c: Likewise.
29721
29722 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29723 `<grub/machine/machine.h>'
29724 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29725 * util/misc.c: Remove `<grub/machine/machine.h>' and
29726 `<grub/machine/time.h>'.
29727
29728 * Makefile.in (enable_grub_emu): Remove variable.
29729 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29730
29731 * conf/any-emu.rmk: New file.
29732 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29733 (grub_emu_init.c): Move from here ...
29734 * conf/any-emu.rmk: ... to here.
29735
29736 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29737 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29738 * conf/any-emu.rmk: ... to here.
29739
4efeab03
RM
297402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29741
29742 * include/grub/parser.h (grub_parser_register): Document need
29743 of `name' parameter.
29744 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29745 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29746 "sh" to "grub".
29747
ea1dd8bf
RM
297482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29749
29750 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29751 `$(XGETTEXT)'.
29752 * include/grub/i18n.h (N_): New macro.
29753 * util/mkisofs/mkisofs.h: Likewise.
29754 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29755 around N_().
29756 (usage): Use gettext() to translate help strings when printing them.
29757
0c140626
RM
297582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29759
29760 Based on patch from Bean
29761 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29762
29763 * video/efi_fb.c: New file.
29764 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29765 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29766 variables.
29767 * conf/x86_64-efi.rmk: Likewise.
29768
87d58298
RM
297692009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29770
29771 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29772 * util/i386/pc/grub-setup.c: Likewise.
29773
994cc3a3
ST
297742009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29775
29776 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29777 <hurd/fs.h>
29778 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29779 file_get_storage_info to implement grub_guess_root_device.
29780
26a61d6a
FZ
297812009-11-21 Felix Zielcke <fzielcke@z-51.de>
29782
29783 * Makefile.in (target): Use make's builtin $(shell) function
29784 instead of calling directly $(SHELL) to create the locale directories,
29785 inside the $(foreach) function.
29786
74ff1dd5
FZ
297872009-11-21 Felix Zielcke <fzielcke@z-51.de>
29788
29789 * util/grub-mkrescue.in: Print an error and usage if output option
29790 has not been given.
29791
0b787d0e
FZ
297922009-11-21 Felix Zielcke <fzielcke@z-51.de>
29793
29794 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29795 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29796 root and /boot are on different devices.
29797
1164b270
RM
297982009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29799
29800 Fix build for srcdir != objdir.
29801
29802 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29803 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29804 $(srcdir).
29805 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29806 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29807 reference for input.
29808
13774a2f
RM
298092009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29810
29811 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29812 or hardlinking it). Remove -J option, Joliet is not compatible with
29813 multiple source directories.
29814
efda854e
RM
298152009-11-21 Carles Pina i Estany <carles@pina.cat>
298162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29817
29818 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29819 (process_input_dir): New function. Process an arbitrary input
29820 directory.
29821 Misc adjustments to support both "override mode" and system-wide mode.
29822
6c09890c
FZ
298232009-11-20 Felix Zielcke <fzielcke@z-51.de>
29824
29825 * configure.ac (UNIFONT_BDF): Rename to ...
29826 (FONT_SOURCE): ... this. Update all users.
29827
a797824f
FZ
298282009-11-20 Felix Zielcke <fzielcke@z-51.de>
29829
29830 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29831 to the list of unifont files to look for.
29832
cd4f42b0
RM
298332009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29834
29835 Patch from Joe Auricchio <jauricchio@gmail.com>
29836 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29837 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29838 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29839
393c783d
FZ
298402009-11-19 Felix Zielcke <fzielcke@z-51.de>
29841
29842 * Makefile.in (install-local): Add a missing backslash.
29843
b2f1e327
FZ
298442009-11-19 Felix Zielcke <fzielcke@z-51.de>
29845
29846 * include/grub/x86_64/io.h: New file.
29847
f577f7a0
RM
298482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29849
29850 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29851 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29852 Include `"progname.h"'.
29853 (main): Initialize gettext.
29854 * util/i386/pc/grub-setup.c: Gettexttize.
29855 * util/i386/pc/grub-mkimage.c: Likewise.
29856
29857 * Makefile.in (po/*.po): Redefine as ...
29858 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29859
3bc7896c
RM
29860 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29861
c37943b6
RM
298622009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29863
29864 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29865 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29866 (program_name): Remove.
29867 (main): Initialize gettext support.
6323f705
RM
29868 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29869 Include `<libintl.h>'.
29870 (_): New macro.
c37943b6
RM
29871
29872 * util/mkisofs/eltorito.c: Gettexttize.
29873 * util/mkisofs/joliet.c: Likewise.
29874 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29875 * util/mkisofs/multi.c: Likewise.
29876 * util/mkisofs/rock.c: Likewise.
29877 * util/mkisofs/tree.c: Likewise.
29878 * util/mkisofs/write.c: Likewise.
29879
3bc7896c
RM
29880 * po/POTFILES: Update with new files.
29881
5ce77c6e
RM
298822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29883
29884 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29885 * util/mkisofs/iso9660.h: Likewise.
29886 * util/mkisofs/joliet.c: Likewise.
29887 * util/mkisofs/mkisofs.c: Likewise.
29888 * util/mkisofs/mkisofs.h: Likewise.
29889 * util/mkisofs/rock.c: Likewise.
29890 * util/mkisofs/tree.c: Likewise.
29891 * util/mkisofs/write.c: Likewise.
29892
29893 * util/mkisofs/eltorito.c (rcsid): Remove.
29894 * util/mkisofs/hash.c: Likewise.
29895 * util/mkisofs/joliet.c: Likewise.
29896 * util/mkisofs/name.c: Likewise.
29897 * util/mkisofs/rock.c: Likewise.
29898 * util/mkisofs/tree.c: Likewise.
29899 * util/mkisofs/write.c: Likewise.
29900
1dabbc77
RM
299012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29902
29903 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29904 instead of static allocation.
29905 * util/mkisofs/match.h: Likewise.
29906
633877cb
RM
299072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29908
3bc7896c
RM
29909 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29910 and `util/grub.d/10_linux.in'.
633877cb
RM
29911 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29912 translatable Shell files.
29913
af1c0c85
RM
299142009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29915
29916 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29917
769ae37b
RM
299182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29919
29920 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29921 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29922 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29923 Add gettext initialization.
29924 (kfreebsd_entry): Make menuentry output translatable.
29925
299262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29927
29928 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29929 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29930 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29931 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29932 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29933 * po/LINGUAS: New file.
769ae37b
RM
29934
299352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29936
29937 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29938 other things).
29939 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29940 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29941 bindtextdomain() calls for gettext initialization.
29942
299432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29944
29945 * gnulib/progname.c: New file (imported from Gnulib).
29946 * gnulib/progname.h: Likewise.
29947 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29948 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29949 (usage): Replace `progname' with `program_name'.
29950 (main): Use set_program_name() for program name initialization.
29951
299522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29953
29954 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29955 from here ...
29956 * Makefile.in (CPPFLAGS): ... to here.
29957
299582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29959
29960 * aclocal.m4: Move from here ...
29961 * acinclude.m4: ... to here.
29962 * autogen.sh: Add call to `aclocal'.
29963 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29964
299652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29966
29967 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29968 (LINGUAS): New variable.
29969 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29970 (install-local): Install MO files.
29971 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29972 * include/grub/i18n.h: New file.
3bc7896c
RM
29973 * po/POTFILES: New file.
29974 * po/ca.po: New file.
769ae37b
RM
29975 * util/grub.d/10_linux.in (bindir): New variable.
29976 Add gettext initialization.
29977 (linux_entry): Make menuentry output translatable.
29978 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29979 (usage): Make --help output translatable.
29980 (main): Initialize gettext.
29981
02c0a6ad
RM
299822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29983
29984 * import_gcry.py: New file (written by Vladimir with minor
29985 adjustments).
29986 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29987 ciphers.
29988 * INSTALL: Document that Python is required for bootstrap.
29989
299902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 Import ciphers from libgcrypt 1.4.4.
29993
29994 * lib/libgcrypt/cipher/ChangeLog
29995 * lib/libgcrypt/cipher/ac.c
29996 * lib/libgcrypt/cipher/arcfour.c
29997 * lib/libgcrypt/cipher/bithelp.h
29998 * lib/libgcrypt/cipher/blowfish.c
29999 * lib/libgcrypt/cipher/camellia-glue.c
30000 * lib/libgcrypt/cipher/camellia.c
30001 * lib/libgcrypt/cipher/camellia.h
30002 * lib/libgcrypt/cipher/cast5.c
30003 * lib/libgcrypt/cipher/cipher.c
30004 * lib/libgcrypt/cipher/crc.c
30005 * lib/libgcrypt/cipher/des.c
30006 * lib/libgcrypt/cipher/dsa.c
30007 * lib/libgcrypt/cipher/ecc.c
30008 * lib/libgcrypt/cipher/elgamal.c
30009 * lib/libgcrypt/cipher/hash-common.c
30010 * lib/libgcrypt/cipher/hash-common.h
30011 * lib/libgcrypt/cipher/hmac-tests.c
30012 * lib/libgcrypt/cipher/md.c
30013 * lib/libgcrypt/cipher/md4.c
30014 * lib/libgcrypt/cipher/md5.c
30015 * lib/libgcrypt/cipher/primegen.c
30016 * lib/libgcrypt/cipher/pubkey.c
30017 * lib/libgcrypt/cipher/rfc2268.c
30018 * lib/libgcrypt/cipher/rijndael-tables.h
30019 * lib/libgcrypt/cipher/rijndael.c
30020 * lib/libgcrypt/cipher/rmd.h
30021 * lib/libgcrypt/cipher/rmd160.c
30022 * lib/libgcrypt/cipher/rsa.c
30023 * lib/libgcrypt/cipher/seed.c
30024 * lib/libgcrypt/cipher/serpent.c
30025 * lib/libgcrypt/cipher/sha1.c
30026 * lib/libgcrypt/cipher/sha256.c
30027 * lib/libgcrypt/cipher/sha512.c
30028 * lib/libgcrypt/cipher/tiger.c
30029 * lib/libgcrypt/cipher/twofish.c
30030 * lib/libgcrypt/cipher/whirlpool.c
30031
af2f93ac
RM
300322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30033
30034 Fix build for systems without error().
30035
30036 * gnulib/error.c: New file (imported from Gnulib).
30037 * gnulib/error.h: Likewise.
30038 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30039 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30040 (this variable is now used by error()).
30041
73fb3dd5
FZ
300422009-11-16 Felix Zielcke <fzielcke@z-51.de>
30043
814f5e96
FZ
30044 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30045 instead of relying that char is signed.
73fb3dd5 30046
a691ca33
VS
300472009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30048
30049 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30050 blocksize different from specified.
30051 (grub_pxefs_read): Likewise.
30052
2af8f0f4
FZ
300532009-11-16 Felix Zielcke <fzielcke@z-51.de>
30054
30055 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30056
30057 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30058 (grub_ata_readwrite): Likewise. Update 2 format strings.
30059 (grub_atapi_read): Likewise.
30060
30061 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30062 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30063 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30064 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30065 (ata_mod_LDFLAGS): Move from here ...
30066 * conf/i386.rmk: ... to here ...
30067 * conf/x86_64-efi.rmk: ... and here.
30068 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30069 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30070
83bdecaf
RM
300712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30072
30073 Relicense multiboot.h, with RMS' blessing.
30074
30075 * include/multiboot.h: Change to X11 license.
30076
fd6fd3d7
RM
300772009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30078
30079 Support --version in grub-mkisofs.
30080
30081 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30082 (OPTION_VERSION): New macro.
30083 (ld_options): Recognize --version.
30084 (usage): Move `program_name' from here ...
30085 (program_name): ... to here. Add `static' qualifier.
30086 (main): Recognize `OPTION_VERSION'.
30087
16a88c49
FZ
300882009-11-15 Felix Zielcke <fzielcke@z-51.de>
30089
30090 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30091 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30092
a4158476
RM
300932009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30094
30095 Fix help2man generation for mkisofs.
30096
30097 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30098 (usage): Send output to stdout (rather than stderr).
30099
fc2208b0
RM
301002009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30101
30102 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30103 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30104 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30105 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30106 (bin_SCRIPTS): Add `grub-mkfloppy'.
30107 (grub_mkfloppy_SOURCES): New variable.
30108
30109 * util/grub-mkrescue.in: New file.
30110 * util/i386/pc/grub-mkfloppy.in: New file.
30111
30112 * util/i386/coreboot/grub-mkrescue.in: Remove.
30113 * util/i386/pc/grub-mkrescue.in: Remove.
30114
8d0edf4a
RM
301152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30116
30117 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30118 from here ...
30119 * include/multiboot.h (struct multiboot_header): ... to here. Update
30120 all users.
30121 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30122 from here ...
30123 * include/multiboot.h (struct multiboot_info): ... to here. Update
30124 all users.
30125 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30126 from here ...
30127 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30128 Update all users.
30129 * include/grub/multiboot.h (struct grub_mod_list): Move
30130 from here ...
30131 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30132 Update all users.
30133
a73f5969
RM
301342009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30135
30136 * include/multiboot2.h (multiboot_word): Rename from this ...
30137 (multiboot2_word): ... to this. Update all users.
30138 (multiboot_header): Rename from this ...
30139 (multiboot2_header): ... to this. Update all users.
30140 (multiboot_tag_header): Rename from this ...
30141 (multiboot2_tag_header): ... to this. Update all users.
30142 (multiboot_tag_start): Rename from this ...
30143 (multiboot2_tag_start): ... to this. Update all users.
30144 (multiboot_tag_name): Rename from this ...
30145 (multiboot2_tag_name): ... to this. Update all users.
30146 (multiboot_tag_module): Rename from this ...
30147 (multiboot2_tag_module): ... to this. Update all users.
30148 (multiboot_tag_memory): Rename from this ...
30149 (multiboot2_tag_memory): ... to this. Update all users.
30150 (multiboot_tag_unused): Rename from this ...
30151 (multiboot2_tag_unused): ... to this. Update all users.
30152 (multiboot_tag_end): Rename from this ...
30153 (multiboot2_tag_end): ... to this. Update all users.
30154
1c8927f0
RM
301552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30156
30157 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30158 this platform we should support Multiboot1 first.
30159
30160 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30161 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30162 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30163
6e1e0d89
RM
301642009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30165
30166 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30167 of write calls (converting them to fwrite() if they aren't already).
30168 (get_torito_desc): Likewise.
30169 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30170
7f2b34d8
RM
301712009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30172
30173 * util/i386/pc/grub-install.in: Move from here ...
30174 * util/grub-install.in: ... to here. Update all users.
30175
c0ef3311
CW
301762009-11-11 Colin Watson <cjwatson@ubuntu.com>
30177
30178 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30179
e1f240ff
RM
301802009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30181
30182 Support for El Torito without floppy emulation.
30183
30184 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30185 (init_boot_catalog): Improve error handling.
30186 (get_torito_desc): Don't use floppy emulation unless requested by
30187 user. Patch boot information table when requested via
30188 `-boot-info-table'.
30189 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30190 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30191 (use_boot_info_table): New variables.
30192 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30193 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30194 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30195 `--eltorito-emul-floppy'.
30196 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30197 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30198 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30199 (use_boot_info_table, get_731): New prototypes.
30200 * util/mkisofs/write.c (get_731): New function.
30201
af7d4de5
FZ
302022009-11-11 Felix Zielcke <fzielcke@z-51.de>
30203
30204 Fix the generation of the man page.
30205
30206 * util/pc/i386/grub-install.in: Source
30207 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30208
2c55dbc0
RM
302092009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30210
30211 Large file support for grub-mkisofs.
30212
30213 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30214 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30215 (session_start): Upgrade type to `uint64_t'. Update all users.
30216 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30217 (struct directory_entry): Upgrade type of `starting_block' and
30218 `size' to `uint64_t'. Update all users.
30219 (struct deferred): Remove unused structure.
30220 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30221 Update all users.
30222 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30223 file is larger than `UINT32_MAX'.
30224 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30225 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30226 return value.
30227 (struct deferred_write): Upgrade type of `extent' and `size' to
30228 `uint64_t'. Update all users.
30229 (last_extent_written): Upgrade type to `uint64_t'. Update all
30230 users.
30231 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30232 Update all users. Upgrade type of `remain' to `int64_t' and
30233 `use' to `size_t'. Use error() to handle fread() errors.
30234 (write_files): Rely on write_one_file() rather than calling
30235 xfwrite() directly.
30236
6a9cead5
FZ
302372009-11-09 Felix Zielcke <fzielcke@z-51.de>
30238
30239 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30240
4825d790
RM
302412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30242
30243 * util/mkisofs/fnmatch.c: Remove.
30244 * util/mkisofs/getopt1.c: Likewise.
30245 * util/mkisofs/getopt.c: Likewise.
30246 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30247 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30248 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30249 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30250 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30251
30252 * configure.ac: Detect `mingw32msvc' host_os.
30253 Check for lstat(), getuid() and getgid().
30254
30255 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30256 instances of `u_char' with `uint8_t'.
30257
30258 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30259 [!HAVE_GETUID] (getuid): New function (stub).
30260 [!HAVE_GETGID] (getgid): Likewise.
30261 [!HAVE_LSTAT] (lstat): Likewise.
30262 [!S_IROTH] (S_IROTH): New macro (dummy).
30263 [!S_IRGRP] (S_IRGRP): Likewise.
30264
84b860d8
RM
302652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30266
30267 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30268 conditional expression).
30269
66e9b712
RM
302702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30271
30272 Import from Gnulib.
30273
30274 * gnulib/fnmatch.c: New file.
30275 * gnulib/fnmatch.h: Likewise.
30276 * gnulib/fnmatch_loop.c: Likewise.
30277 * gnulib/getopt.c: Likewise.
30278 * gnulib/getopt.h: Likewise.
30279 * gnulib/getopt1.c: Likewise.
30280 * gnulib/getopt_int.h: Likewise.
30281 * gnulib/gettext.h: Likewise.
30282
34f4a5b0
RM
302832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30284
30285 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30286 * normal/handler.c (read_handler_list): Likewise.
30287
ac451143
RM
302882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30289
30290 Misc cleanup.
30291
30292 * kern/command.c (grub_register_command_prio): Use
30293 grub_zalloc() instead of explicitly zeroing data.
30294 * kern/list.c: Include `<grub/mm.h>'.
30295 (grub_named_list_find): Replace `0' with `NULL'.
30296 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30297 (fs_module_list): Change type to `grub_named_list_t'. Update all
30298 users.
30299 * normal/dyncmd.c (read_command_list): Add space between function
30300 call and parenthesis.
30301 * normal/handler.c (read_handler_list): Likewise.
30302
4089b167
RM
303032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30304
30305 * normal/auth.c (punishment_delay): Moved from here ...
30306 (grub_auth_strcmp): ... to here (inside function).
30307
325f5037
RM
303082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30309
30310 * include/grub/list.h (struct grub_named_list): Remove `const'
30311 qualifier from `name'.
30312 (struct grub_prio_list): Likewise.
30313
7aea29a3
RM
303142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30315
30316 * normal/auth.c: Include `<grub/time.h>'.
30317 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30318
3fd6f044
RM
303192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30320
30321 * normal/auth.c (punishment_delay): New variable.
30322 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30323 (grub_auth_check_authentication): Punish failed login attempts with
30324 an incremental (2^N) delay.
30325
a4cd68e4
RM
303262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30327
30328 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30329 path with $(srcdir).
30330
7ad12f43
VS
303312009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30332
30333 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30334
c1129f03
RM
303352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30336
30337 * util/i386/coreboot/grub-mkrescue.in: New file.
30338 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30339 variables.
30340
30341 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30342 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30343 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30344 requirements.
30345 * util/mkisofs/defaults.h: New file.
30346 * util/mkisofs/eltorito.c: Likewise.
30347 * util/mkisofs/exclude.h: Likewise.
30348 * util/mkisofs/fnmatch.c: Likewise.
30349 * util/mkisofs/getopt.c: Likewise.
30350 * util/mkisofs/getopt1.c: Likewise.
30351 * util/mkisofs/hash.c: Likewise.
30352 * util/mkisofs/include/fctldefs.h: Likewise.
30353 * util/mkisofs/include/mconfig.h: Likewise.
30354 * util/mkisofs/include/prototyp.h: Likewise.
30355 * util/mkisofs/include/statdefs.h: Likewise.
30356 * util/mkisofs/iso9660.h: Likewise.
30357 * util/mkisofs/joliet.c: Likewise.
30358 * util/mkisofs/match.c: Likewise.
30359 * util/mkisofs/match.h: Likewise.
30360 * util/mkisofs/mkisofs.c: Likewise.
30361 * util/mkisofs/mkisofs.h: Likewise.
30362 * util/mkisofs/multi.c: Likewise.
30363 * util/mkisofs/name.c: Likewise.
30364 * util/mkisofs/rock.c: Likewise.
30365 * util/mkisofs/tree.c: Likewise.
30366 * util/mkisofs/write.c: Likewise.
30367
ec8bb77d
VS
303682009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30369
30370 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30371 being insecure.
30372
3716b12c
RM
303732009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30374
30375 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30376 `grub-mkimage' (and use $0 when possible).
30377
b97b7b91
RM
303782009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30379
30380 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30381 error message for excessively large memory map.
30382
04114812
RM
303832009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30384
30385 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30386 executable bit.
30387
e4eb2373
RM
303882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30389
30390 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30391 message for coreboot users.
30392
c926e1d5 303932009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30394
30395 Fix build with GNU gold.
30396
30397 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30398 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30399 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30400 link addresses.
30401 * aclocal.m4: Likewise.
30402
86e5b1db 304032009-11-04 Felix Zielcke <fzielcke@z-51.de>
30404
30405 * configure.ac (AC_PREREQ): Bump to 2.59d.
30406 * INSTALL: Make it more clear when Autoconf and Ruby are
30407 needed and when to run `./autogen.sh'.
30408
246cd78f 304092009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30410
30411 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30412 OSes.
30413
4f9dfb37 304142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30415
30416 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30417
b82bd5e1 304182009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30419
30420 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30421 giving it to GNU Mach.
30422
ff1a9bca 304232009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30424
30425 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30426 GNU partition number to get internal GRUB partition number.
30427
61697d9c 304282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30429
30430 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30431 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30432
a50569e1 304332009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30434
30435 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30436 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30437 case.
30438
5b153867 304392009-11-01 Felix Zielcke <fzielcke@z-51.de>
30440
30441 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30442
d9e2cd70 304432009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30444
30445 Fix build problem.
30446
30447 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30448 `-isystem=$(srcdir)/include'.
30449
805111a4 304502009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30451
30452 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30453 checked (grub-install doesn't currently rely on it).
30454
fa6e945f 304552009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30456
30457 Revert SVN r2660.
30458
30459 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30460 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30461 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30462 * conf/i386-ieee1275.rmk: Likewise.
30463 * conf/i386-pc.rmk: Likewise.
30464 * conf/powerpc-ieee1275.rmk: Likewise.
30465 * conf/sparc64-ieee1275.rmk: Likewise.
30466 * conf/x86_64-efi.rmk: Likewise.
30467
cee15086 304682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30469
30470 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30471
95b9239e 304722009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30473
30474 * include/grub/misc.h: Stop checking for APPLE_CC.
30475
2ed19dfd 304762009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30477
30478 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30479 doesn't cause an infinite call loop.
30480
fdcdde19 304812009-10-28 Felix Zielcke <fzielcke@z-51.de>
30482
30483 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30484 strings.
30485
cefabfe1 304862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30487
30488 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30489 variable.
30490 * Makefile.in: Likewise.
30491
ed96ab6d 304922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30493
30494 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30495
0579b753 304962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30497
30498 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30499
478df409 305002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30501
30502 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30503
083d1679 305042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30505
30506 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30507 from here ...
30508 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30509
5947ae32 305102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30511
30512 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30513 in $(MAKEINFO) invocation. This makes it clear in output that
30514 errors are being ignored.
30515
94180ff6 305162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30517
30518 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30519 from here ...
30520 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30521 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30522 * conf/i386-ieee1275.rmk: Likewise.
30523 * conf/i386-pc.rmk: Likewise.
30524 * conf/powerpc-ieee1275.rmk: Likewise.
30525 * conf/sparc64-ieee1275.rmk: Likewise.
30526 * conf/x86_64-efi.rmk: Likewise.
30527
9031b03a 305282009-10-26 Colin Watson <cjwatson@ubuntu.com>
30529
30530 * util/grub-editenv.c (main): If only a command is given, use
30531 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30532 (usage): FILENAME is now optional and has a default.
30533
e4f6809b 305342009-10-26 Colin Watson <cjwatson@ubuntu.com>
30535
30536 Improve grub-mkconfig performance when there are several menu
30537 entries on a single filesystem.
30538
30539 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30540 prepare_grub_to_access_device.
30541 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30542 * util/grub.d/30_os-prober.in: Likewise.
30543
67937d4d 305442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30545
30546 * util/grub.d/10_freebsd.in: Remove.
30547 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30548 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30549
ee3756cc 305502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30551
5c35048e 30552 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30553
4dea1c6f 305542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30555
30556 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30557 grub_util_error() call.
30558
042484d7 305592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30560
30561 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30562 `reserved_first_sector' member.
30563 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30564 `reserved_first_sector' to 1.
30565 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30566 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30567 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30568 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30569 filesystems which begin at first sector.
30570 (options): New option --skip-fs-probe.
30571 (main): Handle --skip-fs-probe and pass it to setup().
30572
d64448a7 305732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30574
30575 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30576 (memset): Fix function prototype.
30577
508d42ec 305782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
305792009-10-25 Vasily Averin <vvs@parallels.com>
30580
30581 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30582 `dirent.direntlen == 0'.
30583
b240e30c 305842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30585
30586 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30587 `cpio'.
30588 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30589
346e7fbe 305902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30591
30592 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30593 `__trampoline_setup' and `__ucmpdi2'.
30594 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30595 that libgcc provides.
30596
cdb308b0 305972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30598
30599 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30600 * include/grub/sparc64/libgcc.h (memset): Likewise.
30601 * include/grub/misc.h (memset, memcmp): New function prototypes.
30602
fb26abc2 306032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30604
30605 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30606 `cpio'.
30607 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30608
f6693890 306092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30610
30611 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30612 * docs/grub.cfg: Compensate for recent change in multiboot
30613 loader (since 2009-08-14 it won't pass filename to payload).
30614 * util/grub.d/10_hurd.in: Likewise.
30615
0933cdc0 306162009-10-21 Felix Zielcke <fzielcke@z-51.de>
30617
30618 * config.guess: Update to latest version from config git
30619 repository.
30620 * config.sub: Likewise.
30621
3b2fe8c2 306222009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30623
30624 Fix build on sparc64.
30625
30626 * configure.ac: Perform checks for libgcc symbols before
30627 adding `-nostdlib' to LDFLAGS.
30628
46695a62 306292009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30630
30631 Let user specify OpenBSD root device.
30632
30633 * loader/i386/bsd.c (openbsd_root): New variable.
30634 (openbsd_opts): New option 'root'.
30635 (OPENBSD_ROOT_ARG): New macro.
30636 (grub_openbsd_boot): Use 'openbsd_root'.
30637 (grub_cmd_openbsd): Fill 'openbsd_root'.
30638
d2b6b7fc 306392009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30640
30641 * NEWS: Misc adjustments.
30642
421bd7ac 306432009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30644
30645 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30646
f1d29d87 306472009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30648
30649 * configure.ac: Bump version to 1.97.
30650
6f3cd880 306512009-10-16 Colin Watson <cjwatson@ubuntu.com>
30652
30653 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30654 -mno-3dnow on x86 architectures. Some toolchains enable these
30655 features by default, but they rely on registers that aren't enabled
30656 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30657
035f7122 306582009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30659
30660 Make entry text a bit more readable.
30661
30662 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30663
44998e58 306642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30665
30666 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30667
cd2851b3 306682009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30669
30670 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30671 operations.
30672
c6f3b249 306732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30674
30675 * configure.ac: Add missing dollar.
30676
6b5886ba 306772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30678
30679 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30680
30681 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30682 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30683 exports.
30684 * include/grub/sparc64/libgcc.h: Likewise. Use
30685 preprocessor conditionals.
30686
e9d66f6d 306872009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30688
30689 * conf/common.rmk (grub-dumpbios): Remove rule.
30690 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30691 * util/grub-dumpbios.in: Remove file.
30692
9155bc17 306932009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30694
30695 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30696 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30697
30698 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30699 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30700 users.
30701
30702 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30703 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30704 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30705 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30706 users.
30707
bf7f7a18 307082009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30709
30710 * term/tparm.c: Switch to GPLv3.
30711
86564c26 307122009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30713
30714 * include/grub/i386/cpuid.h: Add header protection.
30715
5c936493 307162009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30717
30718 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30719
30720 * include/grub/i386/cpuid.h: New file.
30721 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30722 (has_longmode): Rename to ...
30723 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30724 `static' attribute.
30725 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30726 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30727 on a CPU that doesn't implement AMD64 instruction set.
30728
186e7cf2 307292009-10-06 Colin Watson <cjwatson@ubuntu.com>
30730
30731 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30732 that version.texi is rebuilt on version number changes.
30733
83b65c4a 307342009-10-06 Colin Watson <cjwatson@ubuntu.com>
30735
30736 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30737 Fixes bug #27602.
30738
d244281c 307392009-10-06 Colin Watson <cjwatson@ubuntu.com>
30740
30741 * util/i386/pc/grub-install.in: Source
30742 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30743 that the --grub-probe option will work.
30744 * util/sparc64/ieee1275/grub-install.in: Likewise.
30745
da25306d 307462009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30747
30748 * configure.ac: Bump version to 1.97~beta4.
30749
e8ee83c0 307502009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30751
30752 Resync grub-mkdevicemap in x86_64-efi.
30753
30754 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30755 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30756 `util/devicemap.c'.
30757
50dcabcf 307582009-10-01 Colin Watson <cjwatson@ubuntu.com>
30759
30760 * util/grub-editenv.c (create_envblk_file): Write new block with a
30761 .new suffix and then rename it into place, to ensure atomic
30762 creation.
30763
0e51c3a7 307642009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30765
30766 Do not automatically install headers.
30767
30768 * Makefile.in (include_DATA): Remove. Update all users.
30769
31299a95 307702009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30771
30772 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30773 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30774
30775 * util/osdetect.lua: Remove.
30776 * script/lua/lauxlib.c: Likewise.
30777 * script/lua/ldebug.c: Likewise.
30778 * script/lua/grub_main.c: Likewise.
30779 * script/lua/lauxlib.h: Likewise.
30780 * script/lua/ldebug.h: Likewise.
30781 * script/lua/ltablib.c: Likewise.
30782 * script/lua/liolib.c: Likewise.
30783 * script/lua/lstrlib.c: Likewise.
30784 * script/lua/lualib.h: Likewise.
30785 * script/lua/ldo.c: Likewise.
30786 * script/lua/ldump.c: Likewise.
30787 * script/lua/ldo.h: Likewise.
30788 * script/lua/loslib.c: Likewise.
30789 * script/lua/lundump.c: Likewise.
30790 * script/lua/grub_lib.c: Likewise.
30791 * script/lua/ldblib.c: Likewise.
30792 * script/lua/lundump.h: Likewise.
30793 * script/lua/lmem.c: Likewise.
30794 * script/lua/grub_lib.h: Likewise.
30795 * script/lua/lmathlib.c: Likewise.
30796 * script/lua/lstate.c: Likewise.
30797 * script/lua/ltm.c: Likewise.
30798 * script/lua/lvm.c: Likewise.
30799 * script/lua/lmem.h: Likewise.
30800 * script/lua/lstate.h: Likewise.
30801 * script/lua/ltm.h: Likewise.
30802 * script/lua/ltable.c: Likewise.
30803 * script/lua/lvm.h: Likewise.
30804 * script/lua/llex.c: Likewise.
30805 * script/lua/lgc.c: Likewise.
30806 * script/lua/grub_lua.h: Likewise.
30807 * script/lua/loadlib.c: Likewise.
30808 * script/lua/lfunc.c: Likewise.
30809 * script/lua/lopcodes.c: Likewise.
30810 * script/lua/lparser.c: Likewise.
30811 * script/lua/ltable.h: Likewise.
30812 * script/lua/llex.h: Likewise.
30813 * script/lua/lgc.h: Likewise.
30814 * script/lua/lfunc.h: Likewise.
30815 * script/lua/lbaselib.c: Likewise.
30816 * script/lua/lopcodes.h: Likewise.
30817 * script/lua/lparser.h: Likewise.
30818 * script/lua/lzio.c: Likewise.
30819 * script/lua/linit.c: Likewise.
30820 * script/lua/lobject.c: Likewise.
30821 * script/lua/llimits.h: Likewise.
30822 * script/lua/lstring.c: Likewise.
30823 * script/lua/lzio.h: Likewise.
30824 * script/lua/lapi.c: Likewise.
30825 * script/lua/lcode.c: Likewise.
30826 * script/lua/lua.h: Likewise.
30827 * script/lua/lobject.h: Likewise.
30828 * script/lua/lstring.h: Likewise.
30829 * script/lua/lapi.h: Likewise.
30830 * script/lua/lcode.h: Likewise.
30831 * script/lua/luaconf.h: Likewise.
30832
cb8a2c38 308332009-09-26 Colin Watson <cjwatson@ubuntu.com>
30834
30835 * docs/grub.texi (Command-line and menu entry commands): Document
30836 date and echo commands.
30837
6b9b6276 308382009-09-24 Pavel Roskin <proski@gnu.org>
30839
30840 * include/grub/kernel.h (struct grub_module_header): Remove
30841 `grub_module_header_types'. Make `type' unsigned. Make `size'
30842 32-bit on all platforms.
30843 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30844 8-bit field. Use grub_host_to_target32() for `size'.
30845 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30846 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30847 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30848
4e5a02a7 308492009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30850
30851 Fix "lost keypress" bug in at_keyboard.
30852
30853 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30854 Checks for readyness of input buffer (without flushing it).
30855 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30856 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30857
c6dcedf6 308582009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30859
30860 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30861 size check within GRUB_MACHINE_PCBIOS section.
30862
74c958b1 308632009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30864
30865 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30866 return value.
30867 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30868 KEYBOARD_ISREADY check.
30869 (grub_at_keyboard_checkkey): Rename to ...
30870 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30871 Remove gratuitous cast.
30872
ff420223 308732009-09-23 Colin Watson <cjwatson@ubuntu.com>
30874
30875 * configure.ac: Call AC_PROG_MKDIR_P.
30876 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30877 version.texi in $(builddir) rather than $(srcdir).
30878 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30879 to makeinfo's @include search path.
30880
d96875df 308812009-09-23 Felix Zielcke <fzielcke@z-51.de>
30882
30883 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30884
9b3f8365 308852009-09-23 Felix Zielcke <fzielcke@z-51.de>
30886
30887 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30888 for `*.dpkg-new'.
30889
c44c90db 308902009-09-21 Colin Watson <cjwatson@ubuntu.com>
30891
30892 Build info documentation. Some code borrowed from Automake.
30893
30894 * configure.ac: Check for makeinfo.
30895 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30896 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30897 docs/version.texi.
30898 (MOSTLYCLEANFILES): Add vti.tmp.
30899 (docs/version.texi, docs/stamp-vti): Update automatically.
30900 (docs/grub.info): Build info documentation. Use --force and ignore
30901 errors for now.
30902 (all-local): Add $(INFOS).
30903 (install-local): Install info files.
30904 (uninstall): Uninstall info files.
30905 * docs/version.texi: Remove from revision control. This file is
30906 automatically generated on build now.
30907 * gendistlist.sh: Add `*.info'.
30908
e0b37bb5 309092009-09-21 Felix Zielcke <fzielcke@z-51.de>
30910
30911 * kern/term.c: Fix indentation.
30912
5a78865b 309132009-09-21 Felix Zielcke <fzielcke@z-51.de>
30914
30915 * util/hostdisk.c: Fix a comment.
30916
dace7e8a 309172009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30918
30919 Fix regression introduced in r2539.
30920
30921 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30922 to 0xA1.
30923
a83d079b 309242009-09-19 Colin Watson <cjwatson@ubuntu.com>
30925
30926 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30927 os-prober. Under normal operation, it does not print anything to
30928 stderr; if it does, we need to debug it, and throwing away stderr
30929 makes that excessively difficult.
a83d079b 30930
be94a509 309312009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30932
30933 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30934
63f745e8 309352009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30936
30937 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30938 AC_LANG_PROGRAM from autoconf.
30939 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30940 prototypes (fixes warning).
30941
30942 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30943 `--disable-werror' was used.
30944
bbb2a70f 309452009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30946
30947 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30948 uninitialized `lastaddr'.
30949
77c24f1d 309502009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30951
0f0b8c87 30952 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30953
07197f23 309542009-09-14 Colin Watson <cjwatson@ubuntu.com>
30955
30956 * commands/test.c (get_fileinfo): Return immediately if
30957 grub_fs_probe fails.
30958
dabf1798 309592009-09-14 José Martínez <xosemp@gmail.com>
30960
30961 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30962
d52109a7 309632009-09-14 Colin Watson <cjwatson@ubuntu.com>
30964
30965 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30966 output.
30967
56532179 309682009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30969
30970 * configure.ac: Remove --enable-grub-pe2elf. Only build
30971 grub-pe2elf when needed by the build system itself.
30972 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30973
8ef070f5 309742009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30975
30976 * configure.ac: Bump version to 1.97~beta3.
30977 * docs/version.texi: Likewise.
30978
61229557 309792009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30980
30981 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30982 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30983 from here ...
30984 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30985 (grub_linux_setup_video): ... to here (with some adjustments).
30986
5c9f8d84 309872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30988
30989 Fix memory corruption issue (spotted by Colin Watson).
30990
30991 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30992 causing returned size to be stored in an incorrect memory location.
30993 Fix use of uninitialized value when storing the returned size.
30994
e8f5d6e9 309952009-09-12 Yves Blusseau <blusseau@zetam.org>
30996
30997 Change clean rules to properly remove files
30998
30999 * genmk.rb: add new clean rules
31000 * Makefile.in (clean): add the new targets
31001 (mostlyclean): likewise
31002
cda2a409 310032009-09-11 Colin Watson <cjwatson@ubuntu.com>
31004
31005 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31006 to grub_uint64_t.
31007 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31008 non-resident files.
31009
86695375 310102009-09-11 Colin Watson <cjwatson@ubuntu.com>
31011
31012 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31013 part of bug #27349.
31014
8aa1541a 310152009-09-10 Felix Zielcke <fzielcke@z-51.de>
31016
31017 * util/grub-mkconfig.in: Make the created config mode 400 and
31018 print a warning if it fails.
31019
48d9bb0a 310202009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31021
31022 * util/grub.d/40_custom.in: Ask user to type custom entries below
31023 comment, rather than below 'exec tail' line.
31024
3b0521be 310252009-09-10 Colin Watson <cjwatson@ubuntu.com>
31026
31027 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31028 visible in grub.cfg.
31029
50051d55 310302009-09-10 Colin Watson <cjwatson@ubuntu.com>
31031
31032 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31033 file.
31034
c0d34387 310352009-09-10 Felix Zielcke <fzielcke@z-51.de>
31036
31037 * docs/grub.cfg: Add an example menu entry for memtest86+.
31038
80a608f3 310392009-09-09 Felix Zielcke <fzielcke@z-51.de>
31040
a2094832 31041 * config.guess: Update to latest version from config git.
80a608f3 31042 * config.sub: Likewise.
31043
99423078 310442009-09-08 Colin Watson <cjwatson@ubuntu.com>
31045
31046 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31047 unknown-command case. Fixes bug #27320.
31048
44454e4c 310492009-09-08 Felix Zielcke <fzielcke@z-51.de>
31050
31051 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31052 `help' if the command exists.
31053
e30d87ad 310542009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31055
31056 * INSTALL: Require GCC 4.1.3 or later.
31057
9a86f1ec 310582009-09-06 Yves Blusseau <blusseau@zetam.org>
31059
31060 * Makefile.in (RMKFILES): add i386-qemu.rmk
31061 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31062 $(srcdir)/stamp-h.in
31063
7f26d466 310642009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 * util/grub-probe.c (probe): Comment out buggy codepath, which
31067 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31068 should be re-enabled after 1.97.
31069
3a613259 310702009-09-05 Felix Zielcke <fzielcke@z-51.de>
31071
31072 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31073 find searches for.
31074
197f76c7 310752009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31076
31077 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31078 unnecessary calls to grub_error.
31079
70ba68ce 310802009-09-04 Colin Watson <cjwatson@ubuntu.com>
31081
31082 * NEWS: Mention `keystatus' and Unicode fonts.
31083
4ff0d7a4 310842009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31085
31086 * configure.ac: Bump version to 1.97~beta2.
31087 * docs/version.texi: Likewise.
31088
77c55a87 310892009-09-03 Colin Watson <cjwatson@ubuntu.com>
31090
31091 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31092 containing unwind information in some cases where it previously did
31093 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31094 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31095 discussion.
31096
f79572cd 310972009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31098
31099 Embedding loadenv module into grub-emu
31100
31101 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31102 commands/loadenv.c
31103 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31104 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31105 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31107 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31108 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31109
93a81088 311102009-09-03 Magnus Granberg <zorry@ume.nu>
31111
31112 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31113 include -fPIE in the default specs.
31114 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31115 to TARGET_CFLAGS.
31116
160034b2 311172009-09-03 Felix Zielcke <fzielcke@z-51.de>
31118
31119 * INSTALL: Note that GNU Bison 2.3 or later is required.
31120
087c07c4 311212009-09-03 Colin Watson <cjwatson@ubuntu.com>
31122
31123 * kern/i386/pc/startup.S: Fix typo.
31124
cbf978c0 311252009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31126
31127 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31128 according to GCS.
31129
311302009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31131
31132 * docs/grub.texi (Naming convention): Describe one-based partition
31133 numbering.
31134 (Device syntax): Likewise.
31135 (File name syntax): Likewise.
31136 (Block list syntax): Likewise.
31137 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31138 menu.lst.
31139 (File name syntax): Likewise.
31140 (Command-line and menu entry commands): Document acpi, blocklist,
31141 crc, export, insmod, keystatus, ls, set, and unset commands.
31142
f3e8cdfd 311432009-09-02 Colin Watson <cjwatson@ubuntu.com>
31144
31145 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31146 to avoid implying that only one of --shift, --ctrl, or --alt may be
31147 used.
31148
c0bc232b 311492009-09-02 Colin Watson <cjwatson@ubuntu.com>
31150
31151 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31152 rather than comparing against S_IFREG, which will almost never work.
31153
aa0f752d 311542009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31155
31156 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31157 (write_blocklists): Likewise.
31158
ecb3166a 311592009-09-01 Colin Watson <cjwatson@ubuntu.com>
31160
31161 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31162 argument to grub_printf.
31163
c403a125 311642009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31165
31166 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31167 non GNU test.
31aba781 31168
b5e7312c 311692009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31170
31171 * kern/file.c (grub_file_read): Spelling fix
31172
fe00f472 311732009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31174
31175 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31176 loading of headers in some cases.
31177
cc55302e 311782009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31179
31180 * configure.ac: Bump version to 1.97~beta1.
31181 * docs/version.texi: Likewise.
31182
5c90cdd2 311832009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31184
31185 * include/grub/i386/xnu.h: Add license header.
31186 include grub/err.h explicitly.
31187
c90edae4 311882009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31189
31190 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31191 to `ufs' in the vfs.root.mountfrom kernel parameter.
31192
d8888b5c 311932009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31194
31195 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31196
31197 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31198 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31199
31200 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31201 `ARRAY_SIZE' macro.
31202
6f07b921 312032009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31204
31205 * kern/file.c (grub_file_read): Check offset.
31206 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31207 * fs/jfs.c (grub_jfs_read_file): Likewise.
31208 * fs/ntfs.c (grub_ntfs_read): Likewise.
31209 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31210 * fs/minix.c (grub_minix_read_file): Correct offset check.
31211 * fs/ufs.c (grub_ufs_read_file): Likewise.
31212
b4f34077 312132009-08-28 Colin Watson <cjwatson@ubuntu.com>
31214
31215 * term/i386/pc/console.c (bios_data_area): Cast
31216 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31217
e7c69859 312182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31219
31220 1-bit optimised blitters.
31221
31222 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31223 prototype.
31224 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31225 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31226 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31227 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31228 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31229 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31230 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31231 function.
31232 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31233 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31234 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31235 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31236 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31237 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31238 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31239 when possible.
31240 * video/video.c (grub_video_get_blit_format): Return
31241 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31242
a57da43f 312432009-08-28 Colin Watson <cjwatson@ubuntu.com>
31244
31245 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31246 the first argument to grub_printf.
31247
4cbe67e5 312482009-08-28 Colin Watson <cjwatson@ubuntu.com>
312492009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31250
31251 Add `getkeystatus' terminal method. Add a new `keystatus' command
31252 to query it.
31253
31254 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31255 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31256 modifier key bitmasks.
31257 (struct grub_term_input): Add `getkeystatus' member.
31258 (grub_getkeystatus): Add prototype.
31259 * kern/term.c (grub_getkeystatus): New function.
31260
31261 * include/grub/i386/pc/memory.h
31262 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31263 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31264 Data Area layout.
31265 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31266 (grub_console_term_input): Set `getkeystatus' member.
31267 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31268 constants.
31269 (grub_usb_keyboard_getreport): Likewise.
31270 (grub_usb_keyboard_checkkey): Likewise.
31271 (grub_usb_keyboard_getkeystatus): New function.
31272 (grub_usb_keyboard_term): Set `getkeystatus' member.
31273
31274 * commands/keystatus.c: New file.
31275 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31276 (keystatus_mod_SOURCES): New variable.
31277 (keystatus_mod_CFLAGS): Likewise.
31278 (keystatus_mod_LDFLAGS): Likewise.
31279 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31280 commands/keystatus.c.
31281 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31282 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31283 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31286 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31287
6e2a9085 312882009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31289
31290 Split befs.mod and afs.mod into *_be.mod and *.mod
31291
31292 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31293 (grub_fstest_SOURCES): Likewise.
31294 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31295 (afs_be_mod_SOURCES): New variable.
31296 (afs_be_mod_CFLAGS): Likewise.
31297 (afs_be_mod_LDFLAGS): Likewise.
31298 (befs_be_mod_SOURCES): Likewise.
31299 (befs_be_mod_CFLAGS): Likewise.
31300 (befs_be_mod_LDFLAGS): Likewise.
31301 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31302 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31304 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31305 (grub_emu_SOURCES): Likewise.
31306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31307 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31308 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31309 * fs/afs_be.c: New file.
31310 * fs/befs_be.c: New file.
31311 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31312 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31313 (U16): Replaced with ...
31314 (grub_afs_to_cpu16): ...this. All users updated.
31315 (U32): Replaced with ...
31316 (grub_afs_to_cpu32): ...this. All users updated.
31317 (U64): Replaced with ...
31318 (grub_afs_to_cpu64): ...this. All users updated.
31319 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31320 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31321 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31322 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31323 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31324 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31325 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31326 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31327 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31328 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31329 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31330
32a71655 313312009-08-26 Bean <bean123ch@gmail.com>
31332
31333 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31334 64-bit number.
31335 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31336 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31337 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31338
552bf6c5 313392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31340
31341 NetBSD memory map support.
31342
31343 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31344 (grub_netbsd_btinfo_mmap_header): New structure.
31345 (grub_netbsd_btinfo_mmap_entry): Likewise.
31346 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31347
1ae2078c 313482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31349
31350 Enable bsd.mod on coreboot.
31351
31352 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31353 (bsd_mod_SOURCES): New variable.
31354 (bsd_mod_CFLAGS): Likewise.
31355 (bsd_mod_LDFLAGS): Likewise.
31356 (bsd_mod_ASFLAGS): Likewise.
31357 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31358 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31359
beefc598 313602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31361
31362 Cleanup NetBSD root support.
31363
31364 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31365 grub_bsd_get_device.
31366 Fix typo.
31367
3b76e68b 313682009-08-25 Felix Zielcke <fzielcke@z-51.de>
31369
31370 * util/grub.d/00_header.in: Move check for the video backend of
31371 gfxterm from here ...
31372 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31373 a suitable video backend.
31374
aea664ea 313752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31376
31377 Fix breakage in grub-setup.
31378
31379 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31380 "msdos_partition_map".
31381
ff747d50 313822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31383
31384 Fix breakage in normal/auth.c.
31385
31386 * normal/auth.c (grub_iswordseparator): New function.
31387
e7e1f93f 313882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31389
31390 Authentication support.
31391
31392 * commands/password.c: New file.
31393 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31394 (password_mod_SOURCES): New variable.
31395 (password_mod_CFLAGS): Likewise.
31396 (password_mod_LDFLAGS): Likewise.
31397 (normal_mod_SOURCES): Add normal/auth.c.
31398 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31399 normal/auth.c.
31400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31404 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31405 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31406 * include/grub/auth.h: New file.
31407 * include/grub/err.h (grub_err_t): New enum value
31408 GRUB_ERR_ACCESS_DENIED.
31409 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31410 'users'.
31411 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31412 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31413 users updated.
31414 * normal/auth.c: New file.
31415 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31416 (grub_cmdline_run): Don't allow to go to command line without
31417 authentication.
31418 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31419 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31420 menuentry without superuser rights.
31421 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31422 user isn't a superuser.
31423
70f1161d 314242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31425
31426 Save space by inlining misc.c functions.
31427
31428 * kern/misc.c (grub_iswordseparator): Made static.
31429 * kern/misc.c (grub_strcat): Moved from here ...
31430 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31431 * kern/misc.c (grub_strncat): Moved from here ...
31432 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31433 * kern/misc.c (grub_strcasecmp): Moved from here ...
31434 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31435 * kern/misc.c (grub_strncasecmp): Moved from here ...
31436 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31437 * kern/misc.c (grub_isalpha): Moved from here ...
31438 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31439 * kern/misc.c (grub_isdigit): Moved from here ...
31440 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31441 * kern/misc.c (grub_isgraph): Moved from here ...
31442 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31443 * kern/misc.c (grub_tolower): Moved from here ...
31444 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31445
48e40bff 314462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31447
31448 * script/sh/function.c (grub_script_function_find): Cut error message
31449 not to flood terminal.
31450 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31451 limit.
31452 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31453
c385bfc3 314542009-08-24 Colin Watson <cjwatson@ubuntu.com>
31455
31456 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31457 `report' grub_uint8_t *.
31458 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31459 Use a 50-millisecond timeout rather than just repeating
31460 grub_usb_keyboard_getreport 50 times.
31461 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31462
2d21e3e8 314632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31464
31465 Rename *_partition_map to part_*
31466
31467 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31468 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31469 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31470 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31471 All users updated.
31472 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31473 All users updated.
31474 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31475 * util/grub-probe.c (probe_partmap): Don't transform partition name
31476 to get module name.
31477
dd103c4e 314782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31479
31480 Fix OpenBSD and NetBSD support.
31481
31482 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31483 memory address conflict.
31484 (OPENBSD_MMAP_ACPI): New definition.
31485 (OPENBSD_MMAP_NVS): Likewise.
31486 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31487 and OPENBSD_MMAP_NVS.
31488 Add memory map terminator
31489 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31490 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31491
16c84d74 314922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31493
31494 Let user specify NetBSD root device.
31495
31496 * loader/i386/bsd.c (netbsd_root): New variable.
31497 (netbsd_opts): New option 'root'.
31498 (NETBSD_ROOT_ARG): New macro.
31499 (grub_netbsd_boot): Use 'netbsd_root'.
31500 (grub_bsd_unload): Free 'netbsd_root'.
31501 (grub_cmd_netbsd): Fill 'netbsd_root'.
31502
adb29902 315032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31504
31505 Support for 64-bit NetBSD.
31506
31507 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31508 point when booting non-FreeBSD.
31509
f5ae9f74 315102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31511
31512 Support --no-smp and --no-acpi for NetBSD.
31513
31514 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31515 (NETBSD_AB_NOACPI): Likewise.
31516 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31517 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31518
de74f136 315192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31520
31521 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31522 errors.
31523 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31524 errors. Call grub_error when needed.
31525
e9a925da 315262009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31527
31528 * commands/search.c (search_fs): Try searching without autoload first.
31529 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31530 filesystem module explicitly for faster booting.
31531
5174302b 315322009-08-23 Colin Watson <cjwatson@ubuntu.com>
31533
31534 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31535
c8c80635 315362009-08-23 Colin Watson <cjwatson@ubuntu.com>
31537
31538 * util/grub.d/30_os-prober.in: Disable os-prober if
31539 `GRUB_DISABLE_OS_PROBER' was set to true.
31540
71acf5e5 315412009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31542
31543 * partmap/pc.c: Rename to ...
31544 * partmap/msdos.c: ... this. Update all users.
31545 (grub_pc_partition_map): Rename to ...
31546 (grub_msdos_partition_map): ... this. Update all users.
31547
31548 * parttool/pcpart.c: Rename to ...
31549 * parttool/msdospart.c: ... this. Update all users.
31550
31551 * include/grub/pc_partition.h: Rename to ...
31552 * include/grub/msdos_partition.h: ... this. Update all users.
31553 (grub_pc_partition_bsd_entry): Rename to ...
31554 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31555 (grub_pc_partition_disk_label): Rename to ...
31556 (grub_msdos_partition_disk_label): ... this. Update all users.
31557 (grub_pc_partition_entry): Rename to ...
31558 (grub_msdos_partition_entry): ... this. Update all users.
31559 (grub_pc_partition_mbr): Rename to ...
31560 (grub_msdos_partition_mbr): ... this. Update all users.
31561 (grub_pc_partition): Rename to ...
31562 (grub_msdos_partition): ... this. Update all users.
31563 (grub_pc_partition_is_empty): Rename to ...
31564 (grub_msdos_partition_is_empty): ... this. Update all users.
31565 (grub_pc_partition_is_extended): Rename to ...
31566 (grub_msdos_partition_is_extended): ... this. Update all users.
31567 (grub_pc_partition_is_bsd): Rename to ...
31568 (grub_msdos_partition_is_bsd): ... this. Update all users.
31569
31570 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31571 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31572 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31573 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31574 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31575 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31576 (gpt_mod_LDFLAGS): Rename to ...
31577 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31578 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31579 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31580 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31581 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31582 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31583 (part_gpt_mod_LDFLAGS): ... this.
31584 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31585 `pcpart.mod' to `msdospart.mod'.
31586 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31587 to ...
31588 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31589 (msdospart_mod_LDFLAGS): ... this.
31590
c11fded5 315912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31592
31593 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31594 (openbsd_opts): Likewise.
31595 (netbsd_opts): Likewise.
31596 (freebsd_flags): Added 0 terminator.
31597 (openbsd_flags): Likewise.
31598 (netbsd_flags): Likewise.
31599 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31600 (grub_cmd_freebsd): Transformed into extended command.
31601 (grub_cmd_openbsd): Likewise.
31602 (grub_cmd_netbsd): Likewise.
31603 (cmd_freebsd): Changed type to grub_extcmd_t.
31604 (cmd_openbsd): Likewise.
31605 (cmd_netbsd): Likewise.
31606 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31607 grub_cmd_openbsd as extended commands.
31608 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31609 cmd_netbsd and cmd_openbsd
31610
11d1c769 316112009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31612
31613 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31614
7a9094e5 316152009-08-21 Pavel Roskin <proski@gnu.org>
31616
5496c37e 31617 * Makefile.in (install-local): When checking if a file is in the
31618 build directory, use "test -e" to detect symlinks.
31619
7a9094e5 31620 * Makefile.in (install-local): Remove all files in
31621 $(DESTDIR)$(pkglibdir) before installing new files there.
31622
e53cea11 316232009-08-18 Felix Zielcke <fzielcke@z-51.de>
31624
31625 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31626 grub-mkelfimage.
31627
9aced544 316282009-08-18 Felix Zielcke <fzielcke@z-51.de>
31629
31630 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31631 explicitly specified by the user.
31632
b7da6bab 316332009-08-18 Pavel Roskin <proski@gnu.org>
31634
31635 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31636 grub_uint8_t pointer for data.
31637 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31638 Likewise.
31639 * video/fb/fbutil.c: Remove unnecessary casts.
31640
19f1b335 316412009-08-17 Michal Suchanek <hramrach@centrum.cz>
31642
31643 VBE cleanup.
31644
31645 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31646 (grub_vbe_set_video_mode): Save active mode info
31647 only after setting the mode.
31648 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31649 second argument.
31650
2f467aa9 316512009-08-17 Michal Suchanek <hramrach@centrum.cz>
31652
31653 Rename variables for clarity.
31654
31655 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31656 (active_vbe_mode_info): ... this. All users updated.
31657 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31658 All users updated.
31659 (initial_mode): Rename to ...
31660 (initial_vbe_mode): ... this. All users updated.
31661 (mode_in_use): Rename to ..
31662 (vbe_mode_in_use): ... this. All users updated.
31663 (mode_list): Rename to ..
31664 (vbe_mode_list): ... this. All users updated.
31665 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31666 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31667 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31668 'mode_list_size' to 'vbe_mode_list_size'.
31669 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31670 'best_mode_info' to 'best_vbe_mode_info' and
31671 'best_mode' to 'best_vbe_mode'
31672
6025fcd7 316732009-08-17 Michal Suchanek <hramrach@centrum.cz>
31674
31675 Remove duplicate grub_video_fb_get_video_ptr.
31676
31677 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31678 (grub_video_fb_get_video_ptr): ... this.
31679 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31680 * video/fb/fbutil.c: Add comment about addressing.
31681 (get_data_ptr): Rename to ...
31682 (grub_video_fb_get_video_ptr): ... this. All users updated.
31683 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31684
cc8c6faf 316852009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31686
31687 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31688 grub_dprintf() that was just added.
31689
08aa61f0 316902009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31691
31692 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31693 (DEFAULT_VIDEO_MODE): Remove macros.
31694 (grub_linux_boot): Remove assumption that Linux has FB support,
31695 and use "text" as default video mode.
31696
7cef4f75 316972009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31698
31699 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31700 grub_dprintf.
31701 * fs/fat.c (grub_fat_read_data): Likewise.
31702
e1f39873 317032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31704
31705 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31706 payload.
31707 (grub_module): Likewise.
31708
c166d79e 317092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31710
31711 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31712 mbi->cmdline but free playground.
31713
c60cee8e 317142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31715
31716 Handle group offset on UFS1.
31717
31718 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31719 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31720
c0d8b5d4 317212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31722
31723 Split ufs.mod into ufs1.mod and ufs2.mod.
31724
31725 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31726 (grub_fstest_SOURCES): Likewise.
31727 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31728 (ufs_mod_SOURCES): Remove.
31729 (ufs_mod_CFLAGS): Likewise.
31730 (ufs_mod_LDFLAGS): Likewise.
31731 (ufs1_mod_SOURCES): New variable.
31732 (ufs1_mod_CFLAGS): Likewise.
31733 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31734 (ufs2_mod_SOURCES): New variable.
31735 (ufs2_mod_CFLAGS): Likewise.
31736 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31737 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31738 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31739 Likewise.
31740 (grub_emu_SOURCES): Likewise.
31741 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31742 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31743 (grub_setup_SOURCES): Likewise.
31744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31745 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31746 (grub_setup_SOURCES): Likewise.
31747 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31748 Likewise.
31749 * fs/ufs2.c: New file.
31750 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31751
d3539132 317522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31753
31754 Framebuffer split.
31755
31756 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31757 subsystem at the end.
31758 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31759 (video_fb_mod_SOURCES): New variable.
31760 (video_fb_mod_CFLAGS): Likewise.
31761 (video_fb_mod_LDFLAGS): Likewise.
31762 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31763 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31764 * video/i386/pc/vbeblit.c: Moved from here ...
31765 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31766 * video/i386/pc/vbefill.c: Moved from here ...
31767 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31768 * video/i386/pc/vbeutil.c: Moved from here ...
31769 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31770 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31771 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31772 * include/grub/i386/pc/vbefill.h: Moved from here ...
31773 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31774 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31775 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31776 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31777 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31778 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31779 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31780 (grub_video_adapter): Added 'get_info_and_fini'.
31781 (grub_video_get_info_and_fini): New prototype.
31782 (grub_video_set_mode): make modestring const char *.
31783 * loader/i386/linux.c (grub_linux_setup_video): Use
31784 grub_video_get_info_and_fini.
31785 (grub_linux_boot): Move modesetting just before booting.
31786 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31787 grub_video_get_info_and_fini.
31788 * video/i386/pc/vbe.c: Moved framebuffer part ...
31789 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31790 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31791 grub_video_fbstd_colors and grub_video_fb_set_palette.
31792 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31793 grub_video_fb_init.
31794 (grub_video_vbe_fini): Use grub_video_fb_fini.
31795 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31796 render_target and use grub_video_fb_set_active_render_target and
31797 grub_video_fb_set_palette.
31798 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31799 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31800 (grub_video_vbe_adapter): Use framebuffer.
31801 * video/video.c (grub_video_get_info_and_fini): New function.
31802 (grub_video_set_mode): Make modestring const char *.
31803 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31804 values are already initialised.
31805
d404ee56 318062009-08-14 Pavel Roskin <proski@gnu.org>
31807
31808 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31809 ABS and APPLE_CC.
31810 * boot/i386/pc/diskboot.S: Likewise.
31811 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31812 sectors allow compilation on MacOSX.
31813 * conf/i386-pc.rmk: Enable unconditional compilation of
31814 lnxboot.img.
31815
9a10df16 318162009-08-13 Colin Watson <cjwatson@ubuntu.com>
31817
31818 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31819 * util/grub.d/00_header.in: Enter interruptible sleep if
31820 GRUB_HIDDEN_TIMEOUT is set.
31821
be3c9ca7 318222009-08-13 Yves Blusseau <blusseau@zetam.org>
31823
31824 * include/grub/symbol.h: Add the LOCAL macro.
31825 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31826 starting with "L_".
31827
1f9e557e 318282009-08-13 Pavel Roskin <proski@gnu.org>
31829
9ca62843 31830 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31831 any modern compilers we support.
31832
1f9e557e 31833 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31834 Use local labels starting with "L_" so that Apple assembler
31835 knows they are local.
31836
81623db6 318372009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31838
31839 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31840 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31841 (bsd_kernel_types): ... this enum.
31842
31843 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31844 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31845 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31846
31847 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31848 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31849 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31850 messages.
31851
f5d35e7a 318522009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31853
31854 * util/grub-dumpdevtree: Moved from here ...
31855 * util/i386/efi/grub-dumpdevtree: ... to here.
31856 (hexify): New function. Converts a string to its hex version.
31857 Generate hex versions of "efi" and "device-properties" by calling
31858 hexify() on the ASCII strings rather than by hardcoding numbers.
31859
d1e1d527 318602009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31861
31862 * fs/jfs.c: Update copyright year.
31863
1ebbe064 318642009-08-08 Felix Zielcke <fzielcke@z-51.de>
31865
31866 * util/grub.d/00_header.in: Fix a comment.
31867 * util/grub.d/10_linux.in: Likewise.
31868 * util/grub.d/10_windows.in: Likewise.
31869 * util/grub.d/10_hurd.in: Likewise.
31870
a78c8d24 318712009-08-08 Felix Zielcke <fzielcke@z-51.de>
31872
31873 * util/grub-mkconfig.in: Allow the user to specify the used font
31874 with GRUB_FONT.
31875
29a6b9e8 318762009-08-08 Pavel Roskin <proski@gnu.org>
31877
b5f16cc4 31878 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31879 available, xfs.mod needs it now.
31880
2f5cb827 31881 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31882 the "g" modifier in sed when the intention is to strip something
31883 once. This fixes comparison of kernels with multiple dashes.
31884
29a6b9e8 31885 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31886 on it. Add missing space before closing bracket. Fix
31887 misleading formatting.
31888
892a3d98 318892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31890
31891 * docs/grub.texi: Major overhaul. Remove all sections that are
31892 specific to GRUB Legacy, or mostly composed of Legacy-specific
31893 information.
31894
ed94253f 318952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31896
31897 * docs/version.texi: New file. Provides version information for
31898 grub.texi.
31899
126d6628 319002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31901
31902 * docs/grub.texi: Update CVS information to SVN.
31903 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31904
998b5aa9 319052009-08-07 Felix Zielcke <fzielcke@z-51.de>
31906
31907 * util/grub-mkconfig.in: Remove a wrong `fi'.
31908
818e094a 319092009-08-07 Felix Zielcke <fzielcke@z-51.de>
31910
31911 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31912 (grub_jfs_uuid): New function.
31913 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31914
b969c52f 319152009-08-07 Felix Zielcke <fzielcke@z-51.de>
31916
31917 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31918 of it to ...
31919 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31920 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31921
7a4894cc 319222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31923
31924 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31925 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31926 Update all users.
31927
31928 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31929 not just "vmlinu[zx]".
31930 Moved from here ...
31931 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31932 all users.
31933
31934 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31935 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31936 all users.
31937
4e2171f8 319382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31939
31940 * util/grub.d/10_freebsd.in: Use an absolute device path for
31941 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31942
6dcfcb32 319432009-08-06 Felix Zielcke <fzielcke@z-51.de>
31944
31945 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31946 handling of multiple abstraction modules.
31947
f56a8756 319482009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31949
31950 Fix a bug resulting in black screen when loading Linux using a
31951 packed video mode.
31952
31953 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31954 function.
31955
31956 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31957 (grub_vbe_bios_getset_dac_palette_width): New function.
31958 (grub_vbe_bios_get_dac_palette_width)
31959 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31960 grub_vbe_bios_getset_dac_palette_width()).
31961
31962 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31963 check for return status.
31964 (grub_vbe_get_video_mode_info): When getting information for a packed
31965 mode (<= 8 bpp), obtain DAC palette width using
31966 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31967 {red,green,blue}_mark_size.
31968
222671b2 319692009-08-04 Felix Zielcke <fzielcke@z-51.de>
31970
ecb1a6d9 31971 * commands/search.c (options): Fix help output to match actual code.
222671b2 31972
f84114f5 319732009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31974
31975 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31976 of homegrown code.
31977
bd288a20 319782009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31979
31980 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31981 on XFS or ReiserFS.
31982
8aab5e25 319832009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31984
31985 Support Apple partition map with sector size different from 512 bytes.
31986
31987 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31988 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31989 and 'apart.partmap_size'.
31990
6ad6258a 319912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
319922009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31993
31994 Fix cpuid command.
31995
31996 * commands/i386/cpuid.c (options): New variable.
31997 (grub_cmd_cpuid): Return real error.
31998 (GRUB_MOD_INIT(cpuid)): Declare options.
31999
67459bc6 320002009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32001
32002 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32003 valid.
32004
fbc6ab54 320052009-07-31 Bean <bean123ch@gmail.com>
32006
32007 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32008 log2_inode.
32009 (grub_fshelp_node): Move inode field to the end.
32010 (grub_xfs_data): Remove inode field.
32011 (grub_xfs_inode_block): Calculate inode size using sblock.
32012 (grub_xfs_inode_offset): Likewise.
32013 (grub_xfs_read_inode): Calculate inode size using sblock.
32014 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32015 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32016 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32017 to match inode size.
32018 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32019 not accessible when data is null.
32020 (grub_xfs_open): Likewise.
32021
f45d6cfc 320222009-07-31 Bean <bean123ch@gmail.com>
32023
32024 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32025 Don't change pv->disk if it's already set.
32026
32027 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32028 (grub_raid_register): ... here.
32029 (grub_raid_rescan): Removed.
32030
32031 * include/grub/raid.h (grub_raid_rescan): Removed.
32032
32033 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32034 (fstest): Replace grub_raid_rescan with module fini function followed
32035 by init function.
32036
32037 * util/grub-probe.c: Add include file <grub/raid.h>.
32038 (probe_raid_level): New function.
32039 (probe): Detect abstraction by walking the disk device, support two
32040 level of abstraction (LVM on RAID) when detecting partition map.
32041
24443b5a 320422009-07-31 Pavel Roskin <proski@gnu.org>
32043
32044 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32045 to grub_zalloc(), it was erroneous.
32046 Reported by Bean <bean123ch@gmail.com>
32047
a275d9e7 320482009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32049
32050 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32051 embedding zone, not only the first one.
a275d9e7 32052
56c5a47f 320532009-07-29 Joe Auricchio <jauricchio@gmail.com>
32054
32055 * term/gfxterm.c (clear_char): New function.
32056 (grub_virtual_screen_setup): Use clear_char.
32057 (scroll_up): Likewise.
32058 (grub_virtual_screen_cls): Likewise.
32059
67bb323a 320602009-07-29 Felix Zielcke <fzielcke@z-51.de>
32061
32062 * util/deviceiter.c (get_acceleraid_disk_name): New static
32063 function.
32064 (grub_util_iterate_devices): Handle Accelraid devices.
32065 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32066
388a7c75 320672009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32068
32069 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32070 separator for the suggested gfxpayload string (';' collides with the
32071 parser and needs escaping).
32072
3bb7abcf 320732009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32074
32075 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32076 Clear direction flag before jumping to OS.
32077 (grub_multiboot2_real_boot): Likewise.
32078
2ddd36d7 320792009-07-28 Felix Zielcke <fzielcke@z-51.de>
32080
32081 * util/i386/pc/grub-install: Fix parsing of --disk-module
32082 option.
32083
c521b62b 320842009-07-28 Felix Zielcke <fzielcke@z-51.de>
32085
32086 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32087 when embedding.
32088
880e0a0c 320892009-07-26 Felix Zielcke <fzielcke@z-51.de>
32090
32091 * util/grub-mkconfig.in (package_version): New variable.
32092 Use it do display the version.
32093
2366e356 320942009-07-25 Felix Zielcke <fzielcke@z-51.de>
32095
32096 * kern/file.c (grub_file_open): Revert to previous check with
32097 grub_errno.
32098
7ad8c80e 320992009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32100
32101 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32102 from help line. It's out of sync with code.
32103
72b9658b 321042009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32105
32106 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32107 entries on failed boot.
32108
77435277 321092009-07-25 Felix Zielcke <fzielcke@z-51.de>
32110
32111 * kern/file.c (grub_file_open): Fix an error check.
32112
fcaa8b21 321132009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32114
35d16c74 32115 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32116 partition map couldn't be identified.
fcaa8b21 32117
48904cd1 321182009-07-23 Pavel Roskin <proski@gnu.org>
32119
ef3c317f 32120 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32121 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32122 case of little endian words becomes just an optimization.
32123 Respect const modifier.
ad8ea1f4 32124 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32125
48904cd1 32126 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32127 to avoid loss of upper bits if align is unsigned and shorter
32128 than addr.
32129
260c9a89 321302009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32131
32132 UUID support for UFS
32133
32134 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32135 (grub_ufs_uuid): New function.
32136 (grub_ufs_fs): add .uuid
32137
f76ce889 321382009-07-21 Pavel Roskin <proski@gnu.org>
32139
32140 * kern/dl.c (grub_dl_check_header): Make static.
32141
6a6cbcaf 321422009-07-21 Felix Zielcke <fzielcke@z-51.de>
32143
32144 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32145 add drivemap for Vista. It breaks Windows 7.
32146
cffcddb2 321472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32148
32149 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32150 128 bytes
32151
1ef44b80 321522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32153
32154 Add BFS support
32155
32156 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32157 (grub_fstest_SOURCES): Likewise.
32158 (pkglib_MODULES): Add befs.mod.
32159 (befs_mod_SOURCES): New variable.
32160 (befs_mod_CFLAGS): Likewise.
32161 (befs_mod_LDFLAGS): Likewise.
32162 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32163 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32164 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32165 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32166 (grub_setup_SOURCES): Likewise.
32167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32168 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32169 (grub_setup_SOURCES): Likewise.
32170 * fs/befs.c: New file.
32171 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32172 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32173 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32174 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32175 (B_KEY_INDEX_ALIGN): New declaration.
32176 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32177 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32178 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32179 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32180 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32181 (grub_afs_mount) [MODE_BFS]: Likewise.
32182 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32183 (grub_afs_fs): Use GRUB_AFS_FSNAME
32184 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32185 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32186 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32187 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32188
4f253044 321892009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32190
32191 * util/getroot.c (find_root_device): Add support for MacOSX.
32192 * util/hostdisk.c: Likewise.
32193
57a55913 321942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32195
32196 * font/font.c (find_glyph): Check whether a font is present to avoid
32197 segmentation fault.
75421ca9 32198
321992009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32200
32201 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32202
e98cd0c2 322032009-07-20 Pavel Roskin <proski@gnu.org>
32204
32205 * configure.ac: Trim excessively wordy excuses.
32206
1d2d169a 322072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32208
32209 Add symlink, mtime and label support to AtheFS.
32210
32211 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32212 (grub_afs_iterate_dir): Handle symlinks.
32213 (grub_afs_open): Use grub_afs_read_symlink.
32214 (grub_afs_dir): Likewise.
32215 Pass mtime.
32216 (grub_afs_label): New function.
32217 (grub_afs_fs): Add grub_afs_label.
32218 (grub_afs_read_symlink): New function.
32219
186f3189 322202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32221
32222 Fix AtheFS support.
32223
32224 * fs/afs.c: Fix comments style.
32225 (grub_afs_blockrun): Declare as packed.
32226 (grub_afs_datastream): Likewise.
32227 (grub_afs_bnode): Likewise.
32228 (grub_afs_btree): Likewise.
32229 (grub_afs_sblock): Likewise.
32230 Declare `name' as char.
32231 (grub_afs_inode): Declare as packed.
32232 Change void *vnode to grub_uint32_t unused.
32233 (grub_afs_iterate_dir): Check that key_size is positive.
32234 (grub_afs_mount): Don't read superblock twice.
75421ca9 32235 (grub_afs_dir): Don't free node in case of error,
186f3189 32236 grub_fshelp_find_file already handles this.
32237 (grub_afs_open): Likewise.
32238
5680109e 322392009-07-19 Pavel Roskin <proski@gnu.org>
32240
32241 * Makefile.in: Remove LIBLZO and enable_lzo.
32242 * conf/i386-pc.rmk: Remove lzo support.
32243 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32244 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32245 support.
32246 * kern/i386/pc/lzo1x.S: Remove.
32247 * kern/i386/pc/startup.S: Remove lzo support.
32248 * util/i386/pc/grub-mkimage.c: Likewise.
32249
ac70fa32 322502009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32251
32252 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32253 * fs/xfs.c (grub_xfs_dir): Likewise.
32254 * fs/afs.c (grub_afs_dir): Likewise.
32255 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32256 (grub_iso9660_open): Likewise.
32257 * fs/jfs.c (grub_jfs_open): Likewise.
32258 * fs/ext2.c (grub_ext2_dir): Likewise.
32259 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32260 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32261
eab58da2 322622009-07-16 Pavel Roskin <proski@gnu.org>
32263
d2838156 32264 * configure.ac: Never add "-c" to CFLAGS.
32265
55c70904 32266 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32267
43e6200c 32268 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32269 grub_cv_cc_efiemu should be used.
32270
ce7a733d 32271 * configure.ac: Typo fixes.
32272
eab58da2 32273 * kern/mm.c (grub_zalloc): New function.
32274 (grub_debug_zalloc): Likewise.
32275 * include/grub/mm.h: Declare grub_zalloc() and
32276 grub_debug_zalloc().
32277 * util/misc.c (grub_zalloc): New function.
32278 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32279 instead of grub_malloc(), remove unneeded initializations.
32280 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32281 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32282 * commands/parttool.c (grub_cmd_parttool): Likewise.
32283 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32284 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32285 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32286 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32287 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32288 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32289 (grub_cmd_efiemu_pnvram): Likewise.
32290 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32291 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32292 (grub_iso9660_iterate_dir): Likewise.
32293 * fs/jfs.c (grub_jfs_opendir): Likewise.
32294 * fs/ntfs.c (list_file): Likewise.
32295 (grub_ntfs_mount): Likewise.
32296 * kern/disk.c (grub_disk_open): Likewise.
32297 * kern/dl.c (grub_dl_load_core): Likewise.
32298 * kern/elf.c (grub_elf_file): Likewise.
32299 * kern/env.c (grub_env_context_open): Likewise.
32300 (grub_env_set): Likewise.
32301 (grub_env_set_data_slot): Likewise.
32302 * kern/file.c (grub_file_open): Likewise.
32303 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32304 * loader/i386/multiboot.c (grub_module): Likewise.
32305 * loader/xnu.c (grub_xnu_create_key): Likewise.
32306 (grub_xnu_create_value): Likewise.
32307 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32308 (read_config_file): Likewise.
32309 * normal/menu_entry.c (make_screen): Likewise.
32310 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32311 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32312 * script/sh/script.c (grub_script_parse): Likewise.
32313 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32314 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32315 * video/readers/png.c (grub_png_output_byte): Likewise.
32316 (grub_video_reader_png): Likewise.
32317
830afef7 323182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32319
32320 Enable all targets that can be built by default
32321
830afef7 32322 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32323 grub-mkfont and grub-fstest if they can be built
32324
ee293aee 323252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32326
32327 Fix hang and segmentation fault in grub-emu-usb
32328
32329 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32330 * util/usb.c (grub_libusb_devices): likewise
32331 (grub_libusb_init): rename to ...
32332 (GRUB_MOD_INIT (libusb)):...this
32333 (grub_libusb_fini): rename to ..
32334 (GRUB_MOD_FINI (libusb)):...this
32335 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32336 * include/grub/disk.h (grub_raid_init): removed, it's useless
32337 (grub_raid_fini): likewise
32338 (grub_lvm_init): likewise
32339 (grub_lvm_fini): likewise
32340 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32341 by grub_init_all
32342
94414221 323432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32344
32345 Fix libusb
32346
32347 * Makefile.in (LIBUSB): new macro
32348 * genmk.rb (Utility/print_tail): new method
32349 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32350 (top level): call util.print_tail at the end.
32351
59ade63d 323522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32353
32354 Make FreeBSD accept zpool.cache
32355
32356 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32357 type is /boot/zfs/zpool.cache
32358
a58da8c7 323592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32360
32361 Fix 64-bit efiemu
32362
32363 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32364 correct wrong typedef
32365 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32366
20591577 323672009-07-15 Pavel Roskin <proski@gnu.org>
32368
560ca572 32369 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32370 * kern/disk.c (struct grub_disk_cache): Likewise.
32371
e8e8e4fd 32372 * commands/probe.c (options): Typo fix.
32373
fde24e10 32374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32375 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32376 accordingly.
32377 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32378
379c54c1 32379 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32380 the end of "Error" to make the message more readable.
32381
7bd8f5bf 32382 * boot/i386/pc/boot.S (kernel_segment): Remove.
32383 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32384 for destination.
32385
40b132c5 32386 * boot/i386/pc/boot.S (boot_version): Remove.
32387 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32388 Remove.
32389
20591577 32390 * include/grub/i386/pc/boot.h: Sort all offsets.
32391 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32392 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32393 * boot/i386/pc/boot.S: Assert location of every offset listed in
32394 include/grub/i386/pc/boot.h.
32395
2df32b2c 323962009-07-13 Pavel Roskin <proski@gnu.org>
32397
44b5d879 32398 * include/grub/i386/coreboot/machine.h: Rename
32399 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32400 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32401 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32402
17dc3751 32403 * kern/dl.c: Force native word size to suppress warnings when
32404 compiling grub-emu.
32405
2df32b2c 32406 * kern/device.c (grub_device_iterate): Change struct part_ent to
32407 hold the name, not a pointer to it. Use one grub_malloc() per
32408 partition, not two. Free partition_name if grub_malloc() fails.
32409 Set ents to NULL only before grub_partition_iterate() is called.
32410
75c59f59 324112009-07-11 Bean <bean123ch@gmail.com>
32412
32413 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32414 childname.
32415
0ae1bf88 324162009-07-10 Bean <bean123ch@gmail.com>
324172009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32418
32419 * kern/ieee1275/openfw.c (grub_children_iterate)
32420 (grub_devalias_iterate): Fix size evaluation for property or path
32421 strings, which was broken since r2132.
32422
8279cade 324232009-07-07 Pavel Roskin <proski@gnu.org>
32424
7d8a52d3 32425 * commands/search.c (search_file): Merge into ...
32426 (search_fs): ... this. Accept search type as argument.
32427 (grub_cmd_search): Pass search type to search_fs().
32428
25f9a05a 32429 * include/grub/util/console.h: New file.
32430 * util/console.c: Use it instead of grub/machine/console.h.
32431 * util/grub-emu.c: Likewise.
32432
8279cade 32433 * lib/arg.c (find_long_option): Remove.
32434 (find_long): Add `len' argument, make `s' const char *.
32435 (grub_arg_parse): Parse long options in place, not in a
32436 temporary buffer.
32437
4a11b60f 324382009-07-06 Pavel Roskin <proski@gnu.org>
32439
99f68041 32440 * commands/search.c (search_fs): Fix potential NULL pointer
32441 dereference.
32442
4a11b60f 32443 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32444 function pointer.
32445
e110f4de 324462009-07-06 Daniel Mierswa <impulze@impulze.org>
32447
32448 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32449 comparison.
32450
46eeb6a2 324512009-07-05 Pavel Roskin <proski@gnu.org>
32452
bab74958 32453 * include/grub/i386/linux.h (struct linux_kernel_params):
32454 Restore padding3, it's still needed.
32455
46eeb6a2 32456 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32457 FreeBSD.
32458 * util/osdetect.lua: Likewise.
32459
b4a1dc79 324602009-07-05 Bean <bean123ch@gmail.com>
32461
32462 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32463
32464 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32465 (grub_lua_getenv): Likewise.
32466 (grub_lua_setenv): Likewise.
32467 (save_errno): New function.
32468 (push_result): Likewise.
32469 (grub_lua_enum_device): Likewise.
32470 (grub_lua_enum_file): Likewise.
32471 (grub_lua_file_open): Likewise.
32472 (grub_lua_file_close): Likewise.
32473 (grub_lua_file_seek): Likewise.
32474 (grub_lua_file_read): Likewise.
32475 (grub_lua_file_getline): Likewise.
32476 (grub_lua_file_getsize): Likewise.
32477 (grub_lua_file_getpos): Likewise.
32478 (grub_lua_file_eof): Likewise.
32479 (grub_lua_file_exist): Likewise.
32480 (grub_lua_add_menu): Likewise.
32481
32482 * script/lua/grub_lua.h (isupper): New inline function.
32483 (islower): Likewise.
32484 (ispunct): Likewise.
32485 (isxdigit): Likewise.
32486 (strcspn): Change to normal function.
32487 (strpbkr): New function declaration.
32488 (memchr): Likewise.
32489
32490 * script/lua/grub_main.c (scan_str): New function.
32491 (strcspn): Likewise.
32492 (strpbrk): Likewise.
32493 (memchr): Likewise.
32494
32495 * script/lua/linit.c (lualibs): Enable the string library.
32496
32497 * util/osdetect.lua: New file.
32498
2da92295 324992009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32500
32501 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32502 `capabilities' member.
32503
b2582ec9 325042009-07-02 Pavel Roskin <proski@gnu.org>
32505
32506 * genparttoollist.sh: Add missing newline at the end.
32507
32622956 325082009-07-01 Pavel Roskin <proski@gnu.org>
32509
87a7339e 32510 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32511
d23af54e 32512 * util/hostdisk.c (open_device): Remove `const' from
32513 `sysctl_size', as sysctlbyname() can change it (in this case it
32514 doesn't actually happen).
32515
c94b18a9 32516 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32517 using signed long int constants.
32518
c6cd3ef0 32519 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32520 constant to avoid a warning on FreeBSD.
32521
0df63420 32522 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32523 where it's needed.
32524
999577f1 32525 * Makefile.in: Install include/grub/machine symlink.
32526
6f41557f 32527 * Makefile.in: When installing symlinks, use "cp -fR", which
32528 works on FreeBSD and MacOSX.
32529 From Yves Blusseau <cl7m42e02@sneakemail.com>
32530
c8d22988 32531 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32532 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32533
1b96e952 32534 * util/misc.c: Move grub_reboot() and grub_halt() ...
32535 * util/grub-emu.c: ... here. Make main_env static.
32536 * include/grub/util/misc.h: Remove main_env.
32537
2ef0084d 32538 * kern/mm.c: Use correct format to print size_t.
32539
32622956 32540 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32541 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32542 * kern/powerpc/dl.c: Likewise.
32543 * kern/sparc64/dl.c: Likewise.
32544 * kern/x86_64/dl.c: Likewise.
32545
3f7f0cd0 325462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32547
32548 Fix grub-emu build on sparc64-ieee1275.
32549
75421ca9 32550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32552
211d06b5 325532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32554
32555 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32556 (grub_reboot, grub_halt): New functions.
32557
32558 * util/i386/pc/misc.c: Delete. Update all users.
32559 * util/sparc64/ieee1275/misc.c: Likewise.
32560 * util/powerpc/ieee1275/misc.c: Likewise.
32561
aaf53e3c 325622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32563
32564 * conf/i386.rmk (setjmp_mod_SOURCES)
32565 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32566 * conf/common.rmk (setjmp_mod_SOURCES)
32567 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32568 to use $(target_cpu).
32569 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32570 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32571 * conf/powerpc-ieee1275.rmk: Likewise.
32572 * conf/sparc64-ieee1275.rmk: Likewise.
32573
32574 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32575 $(target_cpu) for kern/$(target_cpu)/dl.c.
32576 * conf/i386-efi.rmk: Likewise.
32577 * conf/i386-ieee1275.rmk: Likewise.
32578 * conf/x86_64-efi.rmk: Likewise.
32579 * conf/i386-coreboot.rmk: Likewise.
32580 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32581 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32582 kern/$(target_cpu)/cache.S.
32583 * conf/sparc64-ieee1275.rmk: Likewise.
32584
a337130b 325852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32586
32587 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32588 type to `grub_uint8_t', and adjust `padding9' accordingly.
32589
c6fe4d53 325902009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32591
b09db61d 32592 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32593
c6fe4d53 32594 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32595 assembly in final jump, using register constraints.
32596
b09db61d 32597 (grub_linux_boot): For text mode, initialize `have_vga' using
32598 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32599
32600 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32601 right before the final jump.
32602
32603 Set `video_mode' to 0x3.
32604
32605 Document initialization of `video_page', `video_mode' and
32606 `video_ega_bx'.
32607
28333ad0 326082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32609
32610 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32611 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32612 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32613
02164e1b 326142009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32615
32616 Fix build on Debian / sparc.
32617
32618 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32619
18b6c557 326202009-06-28 Pavel Roskin <proski@gnu.org>
32621
85f2aab6 32622 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32623 fix a warning.
32624
18b6c557 32625 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32626
ad760f81 326272009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32628
32629 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32630 `err'.
32631
87a4623b 326322009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32633
32634 Revert r2338.
32635
32636 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32637 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32638 grub_errno / grub_errmsg appropriately.
87a4623b 32639 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32640
8231fb77 326412009-06-27 Pavel Roskin <proski@gnu.org>
326422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32643
32644 * include/grub/dl.h: Include grub/elf.h.
32645 (struct grub_dl): Add symtab field.
32646 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32647 GRUB_MODULES_MACHINE_READONLY.
32648 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32649 of the header for read-only modules.
32650 (grub_dl_unload): Free mod->symtab for read-only modules.
32651 * kern/i386/dl.c: Use mod->symtab.
32652 * kern/powerpc/dl.c: Likewise.
32653 * kern/sparc64/dl.c: Likewise.
32654 * kern/x86_64/dl.c: Likewise.
32655
32656 * conf/i386-qemu.rmk: New file.
32657 * kern/i386/qemu/startup.S: Likewise.
32658 * kern/i386/qemu/mmap.c: Likewise.
32659 * boot/i386/qemu/boot.S: Likewise.
32660 * include/grub/i386/qemu/time.h: Likewise.
32661 * include/grub/i386/qemu/serial.h: Likewise.
32662 * include/grub/i386/qemu/kernel.h: Likewise.
32663 * include/grub/i386/qemu/console.h: Likewise.
32664 * include/grub/i386/qemu/boot.h: Likewise.
32665 * include/grub/i386/qemu/init.h: Likewise.
32666 * include/grub/i386/qemu/machine.h: Likewise.
32667 * include/grub/i386/qemu/loader.h: Likewise.
32668 * include/grub/i386/qemu/memory.h: Likewise.
32669
32670 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32671 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32672 [qemu] (pkglib_IMAGES): Add `boot.img'.
32673 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32674 [qemu] (boot_img_FORMAT): New variables.
32675 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32676 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32677 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32678 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32679 [qemu] (kernel_img_FORMAT): New variables.
32680
32681 * configure.ac: Recognise `i386-qemu'.
32682
32683 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32684 (for no compression).
32685 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32686 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32687 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32688 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32689 ifdefs).
32690
97fe384e 326912009-06-27 Pavel Roskin <proski@gnu.org>
32692
32693 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32694 read.
32695 * efiemu/prepare32.c: Likewise.
32696 * efiemu/prepare64.c: Likewise.
32697
c402ab17 326982009-06-26 Pavel Roskin <proski@gnu.org>
32699
32700 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32701 * include/grub/elf.h: Define symbols without "32" or "64" based
32702 on GRUB_TARGET_WORDSIZE.
32703 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32704 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32705 ELF definitions.
32706 * efiemu/loadcore64.c: Likewise.
32707 * loader/i386/bsd32.c: Likewise.
32708 * loader/i386/bsd64.c: Likewise.
32709 * kern/dl.c: Remove own ELF definitions.
32710 * util/i386/efi/grub-mkimage.c: Likewise.
32711
9bbdfd4d 327122009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32713
32714 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32715 segment 0x0 unconditionally, because the reference generated by
32716 GAS is an absolute address.
32717
a42ce6e9 327182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32719
32720 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32721 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32722
c952cf92 327232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32724
32725 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32726 indexes. Check for -f explicitly.
cc3752ad 32727 (search_file): Improve error message.
32728 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32729
132a0a59 327302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32731
32732 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32733 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32734
387a140c 327352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32736
32737 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32738 * conf/i386-ieee1275.rmk: Likewise.
32739 * conf/i386-coreboot.rmk: Likewise.
32740
32741 * kern/i386/pc/startup.S (grub_stop): Remove function.
32742 * kern/i386/ieee1275/startup.S: Likewise.
32743 * kern/i386/coreboot/startup.S: Likewise.
32744 * kern/i386/misc.S (grub_stop): New function.
32745
41da9665 327462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32747
32748 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32749 * kern/i386/realmode.S (real_to_prot): ... to here.
32750
bf337234 327512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32752
32753 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32754 with `kernel.img'.
32755 (kernel_elf_SOURCES): Rename to ...
32756 (kernel_img_SOURCES): ... this.
32757 (kernel_elf_HEADERS): Rename to ...
32758 (kernel_img_HEADERS): ... this. Update all users.
32759 (kernel_elf_ASFLAGS): Rename to ...
32760 (kernel_img_ASFLAGS): ... this.
32761 (kernel_elf_CFLAGS): Rename to ...
32762 (kernel_img_CFLAGS): ... this.
32763 (kernel_elf_LDFLAGS): Rename to ...
32764 (kernel_img_LDFLAGS): ... this.
32765 * conf/i386-coreboot.rmk: Likewise.
32766 * conf/powerpc-ieee1275.rmk: Likewise.
32767
32768 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32769 with "kernel.img".
32770
f52196ff 327712009-06-21 Pavel Roskin <proski@gnu.org>
32772
c3cee413 32773 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32774 to match nested functions.
32775 * loader/sparc64/ieee1275/linux.c: Likewise.
32776
f52196ff 32777 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32778
58750afc 327792009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32780
32781 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32782 all i386 platforms.
32783
15355c7d 327842009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32785
32786 Fix asm file handling on ELF, and remove workarounds.
32787
32788 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32789 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32790 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32791 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32792
3f3ec72b 327932009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32794
32795 Load BSD ELF modules
32796
32797 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32798 and loader/i386/bsd64.c
32799 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32800 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32801 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32802 (grub_freebsd_load_elfmodule32): New declaration
32803 (grub_freebsd_load_elfmoduleobj64): Likewise
32804 (grub_freebsd_load_elf_meta32): Likewise
32805 (grub_freebsd_load_elf_meta64): Likewise
32806 (grub_freebsd_add_meta): Likewise
32807 (grub_freebsd_add_meta_module): Likewise
32808 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32809 (grub_freebsd_add_meta_module): Likewise and move module-specific
32810 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32811 (grub_cmd_freebsd): Add elf-kernel specific parts
32812 based on grub_freebsd_add_meta_module
32813 (grub_cmd_freebsd_module): Add type parsing moved from
32814 grub_freebsd_add_meta_module
32815 (grub_cmd_freebsd_module_elf): New function
32816 (cmd_freebsd_module_elf): New variable
32817 (GRUB_MOD_INIT): Register freebsd_module_elf
32818 * loader/i386/bsd32.c: New file
32819 * loader/i386/bsd64.c: Likewise
32820 * loader/i386/bsdXX.c: Likewise
32821 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32822 (grub_elf64_load): Likewise
32823 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32824 All users updated
32825 (grub_elf64_load_hook_t): Likewise
32826
0db15301 328272009-06-21 Colin Watson <cjwatson@ubuntu.com>
32828
32829 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32830 variable.
32831 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32832 don't write a menu entry for recovery mode.
32833
546796c1 328342009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32835
32836 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32837 after it's no longer needed.
32838
cd7310d5 328392009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32840
32841 * include/grub/i386/loader.h (grub_linux_prot_size)
32842 (grub_linux_tmp_addr, grub_linux_real_addr)
32843 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32844 GRUB_MACHINE_PCBIOS.
32845 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32846 common grub_util_info() call to ...
32847 (generate_image): ... here.
32848 Fix use of uninitialized memory, comparison of signed with
32849 unsigned integers and memory leak.
32850 Remove bogus module address message.
32851
ab32d3b5 328522009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32853
32854 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32855 grub_raid_register
32856 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32857
024ef597 328582009-06-19 Pavel Roskin <proski@gnu.org>
32859
32860 * configure.ac: Remove stray AC_MSG_CHECKING.
32861
3ac72b51 328622009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32863
32864 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32865
e14cd814 328662009-06-18 Pavel Roskin <proski@gnu.org>
32867
32868 * conf/common.rmk: Add fs_file.mod.
32869 * disk/fs_file.c: New file.
32870 * include/grub/disk.h (enum grub_disk_dev_id): Add
32871 GRUB_DISK_DEVICE_FILE_ID.
32872
26586d98 328732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32874
32875 Fix build with Apple's toolchain. Part 2
32876
32877 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32878 a fake start
32879
26de2bcd 328802009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32881
32882 Fix build with Apple's toolchain. Part 1
32883
32884 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32885 for long calls
32886 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32887 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32888 Apple's toolchain
32889
09b3490b 328902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32891
32892 Fix warnings
32893
32894 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32895 (decomp_block): initialize ch
32896 use grub_memcpy instead of memcpy
32897
c22a006a 328982009-06-17 Pavel Roskin <proski@gnu.org>
32899
d3638678 32900 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32901 version, use declarations needed to use vga_text as the startup
32902 console.
32903
c22a006a 32904 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32905 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32906 the kernel.
32907 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32908 and grub_at_keyboard_fini(), it's done on module load and
32909 unload.
32910
05b129e0 329112009-06-17 Felix Zielcke <fzielcke@z-51.de>
32912
32913 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32914 file can't be found.
32915 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32916
cf24ed9e 329172009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32918
32919 Fix newline handling
32920
32921 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32922 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32923 (grub_script_yylex): don't segfault on unterminated script
32924 newline terminates command and variable
32925
74aa8e4b 329262009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32927
32928 avoid double grub_adjust_range call. Bug reported by David Simner
32929
32930 * kern/disk.c (grub_disk_write): change to raw disk access before
32931 calling disk_read
32932
1bd265f3 329332009-06-17 Colin Watson <cjwatson@ubuntu.com>
32934
32935 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32936 spaces, for the benefit of help2man.
32937 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32938
a2d08c06 329392009-06-16 Pavel Roskin <proski@gnu.org>
32940
32941 * kern/i386/halt.c: Include grub/machine/init.h.
32942 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32943
b97bcb19 329442009-06-16 Felix Zielcke <fzielcke@z-51.de>
32945
32946 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32947 drivemap menuentry.
32948
0644f96c 329492009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32950
32951 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32952 `echo' command.
32953
3ef17a2e 329542009-06-16 Pavel Roskin <proski@gnu.org>
32955
32956 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32957 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32958 save %dx, we only need %dl and we never change it.
32959 * boot/i386/pc/cdboot.S: Don't set the root drive.
32960 * boot/i386/pc/pxeboot.S: Likewise.
32961 * include/grub/i386/pc/boot.h: Remove
32962 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32963 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32964 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32965 * kern/i386/pc/init.c (make_install_device): Remove references
32966 to grub_root_drive.
32967 * kern/i386/pc/startup.S: Likewise.
32968 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32969
693fe637 329702009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32971
32972 xnu_uuid command
32973
32974 * commands/xnu_uuid.c: new file
32975 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32976 (xnu_uuid_mod_SOURCES): new variable
32977 (xnu_uuid_mod_CFLAGS): likewise
32978 (xnu_uuid_mod_LDFLAGS): likewise
32979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32980 * conf/i386-ieee1275.rmk: likewise
32981 * conf/i386-pc.rmk: likewise
32982 * conf/powerpc-ieee1275.rmk: likewise
32983 * conf/sparc64-ieee1275.rmk: likewise
32984 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32985
c9da87d0 329862009-06-16 Pavel Roskin <proski@gnu.org>
32987
32988 * configure.ac: Avoid '==' in test command, it's not portable.
32989
9c6f4596 329902009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32991
32992 Probe command
32993
32994 * commands/probe.c: new file
32995 * conf/common.rmk (pkglib_MODULES): add probe.mod
32996 (probe_mod_SOURCES): new variable
32997 (probe_mod_CFLAGS): likewise
32998 (probe_mod_LDFLAGS): likewise
32999 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33000 * conf/i386-ieee1275.rmk: likewise
33001 * conf/i386-pc.rmk: likewise
33002 * conf/powerpc-ieee1275.rmk: likewise
33003 * conf/sparc64-ieee1275.rmk: likewise
33004
70b7f9fd 330052009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33006
33007 Fix handling of string like \"hello\" and "a
33008 b"
33009
33010 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33011 (grub_script_yylex): fix parsing of quoting, escaping and newline
33012
71c79a6b 330132009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33014
dd74360c 33015 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33016 handling
dd74360c 33017
0644f96c 330182009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33019
33020 * util/grub-mkconfig.in: Fix parsing of --output option.
33021
e40893c3 330222009-06-12 Pavel Roskin <proski@gnu.org>
33023
33024 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33025 genmk.rb don't need to be generated or installed.
33026
3a1acfe2 330272009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33028
33029 * commands/i386/pc/drivemap_int13h.S: add more comments
33030
3a4575d4 330312009-06-11 Pavel Roskin <proski@gnu.org>
33032
0658e928 33033 * Makefile.in (uninstall): Uninstall manuals.
33034
ca0388f0 33035 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33036 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33037 and update-grub_lib in two places.
33038 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33039
e3b27c39 33040 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33041 a compiler warning.
33042
3a4575d4 33043 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33044 `entry_lo' to fix variable shadowing.
33045
af1f4f55 330462009-06-11 Christian Franke <franke@computer.org>
33047
33048 * kern/misc.c (__enable_execute_stack): Add missing return type
33049 to prevent gcc warning.
33050
5225e649 330512009-06-11 Felix Zielcke <fzielcke@z-51.de>
33052
33053 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33054
7d83bd47 330552009-06-11 Pavel Roskin <proski@gnu.org>
33056
c1cb63ba 33057 * Makefile.in: Don't rely on any scripts being executable.
33058 Always use $(SHELL) to run shell scripts.
33059
7d83bd47 33060 * configure.ac: Always define ___main if using -nostdlib. This
33061 fixes tests on Cygwin.
33062
948f48e7 330632009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33064
33065 UDF fix
33066
7d83bd47 33067 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33068 is in bytes and not in blocks
7d83bd47 33069
8ada9bc1 330702009-06-11 Pavel Roskin <proski@gnu.org>
33071
33072 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33073 warning.
33074
25ad2323 330752009-06-11 Felix Zielcke <fzielcke@z-51.de>
33076
33077 * util/grub.d/30_os-prober.in: Fix a comment. Source
33078 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33079 to set the root device. Place drivemap command in the generated
33080 chain entry.
33081
e65acb0c 330822009-06-11 Pavel Roskin <proski@gnu.org>
33083
33084 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33085 have long been resolved.
33086
f285fe2d 330872009-06-11 Colin Watson <cjwatson@ubuntu.com>
33088
bd47b0b5 33089 * util/grub.d/10_linux.in: Capitalise "Linux".
33090
f285fe2d 33091 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33092
a0c62e4e 330932009-06-11 Pavel Roskin <proski@gnu.org>
33094
b6783cb2 33095 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33096 fix a gcc warning and ensure that the function won't ever exit.
33097
dde032e8 33098 * kern/i386/ieee1275/init.c: Add missing prototype for
33099 grub_stop_floppy().
33100
22cd079d 33101 * loader/ieee1275/multiboot2.c [__i386__]: Include
33102 grub/cpu/multiboot.h.
33103
a0c62e4e 33104 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33105 casts to short - they are not portable and cause warnings. Fix
33106 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33107
63963d17 331082009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33109
33110 Drivemap fixes
33111
33112 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33113 new function
33114 (grub_get_root_biosnumber_saved): new variable
33115 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33116 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33117 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33118 %dx after the call if necessary
33119 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33120 (boot_mod_SOURCES): remove
33121 (boot_mod_CFLAGS): remove
33122 (boot_mod_LDFLAGS): remove
33123 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33124 (boot_mod_SOURCES): new variable
33125 (boot_mod_CFLAGS): likewise
33126 (boot_mod_LDFLAGS): likewise
33127 * conf/i386-efi.rmk: likewise
33128 * conf/i386-ieee1275.rmk: likewise
33129 * conf/i386-pc.rmk: likewise
33130 * conf/powerpc-ieee1275.rmk: likewise
33131 * conf/sparc64-ieee1275.rmk: likewise
33132 * conf/x86_64-efi.rmk: likewise
33133 * include/grub/i386/pc/biosnum.h: new file
33134 * lib/i386/pc/biosnum.c: likewise
33135 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33136 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33137 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33138
33abf7ae 331392009-06-10 Pavel Roskin <proski@gnu.org>
33140
5ac35b35 33141 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33142 Use separate variables. Read only the file size at the end, but
33143 not the checksum that we don't use.
33144
5c5215d5 33145 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33146 Adjust all callers.
33147
27d5fef7 33148 * kern/ieee1275/openfw.c: Remove libc includes.
33149 * kern/ieee1275/cmain.c: Likewise.
33150 * include/grub/ieee1275/ieee1275.h: Likewise.
33151
33abf7ae 33152 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33153 compiler warnings.
33154
19d50c2b 331552009-06-10 Felix Zielcke <fzielcke@z-51.de>
33156
33157 * Makefile.in: Remove all trailing whitespace.
33158 * conf/i386-pc.rmk: Likewise.
33159 * conf/powerpc-ieee1275.rmk: Likewise.
33160 * conf/sparc64-ieee1275.rmk: Likewise.
33161 * docs/grub.texi: Likewise.
33162 * docs/texinfo.tex: Likewise.
33163 * disk/fs_uuid.c: Likewise.
33164 * disk/lvm.c: Likewise.
33165 * disk/scsi.c: Likewise.
33166 * disk/ata.c: Likewise.
33167 * disk/ieee1275/ofdisk.c: Likewise.
33168 * disk/i386/pc/biosdisk.c: Likewise.
33169 * disk/host.c: Likewise.
33170 * disk/raid.c: Likewise.
33171 * disk/efi/efidisk.c: Likewise.
33172 * disk/usbms.c: Likewise.
33173 * disk/memdisk.c: Likewise.
33174 * disk/loopback.c: Likewise.
33175 * kern/powerpc/dl.c: Likewise.
33176 * kern/device.c: Likewise.
33177 * kern/dl.c: Likewise.
33178 * kern/sparc64/dl.c: Likewise.
33179 * kern/ieee1275/ieee1275.c: Likewise.
33180 * kern/term.c: Likewise.
33181 * kern/fs.c: Likewise.
33182 * kern/i386/dl.c: Likewise.
33183 * kern/i386/pc/startup.S: Likewise.
33184 * kern/i386/pc/init.c: Likewise.
33185 * kern/i386/pc/mmap.c: Likewise.
33186 * kern/i386/pc/lzo1x.S: Likewise.
33187 * kern/i386/ieee1275/init.c: Likewise.
33188 * kern/i386/realmode.S: Likewise.
33189 * kern/i386/tsc.c: Likewise.
33190 * kern/partition.c: Likewise.
33191 * kern/corecmd.c: Likewise.
33192 * kern/file.c: Likewise.
33193 * kern/efi/efi.c: Likewise.
33194 * kern/efi/init.c: Likewise.
33195 * kern/efi/mm.c: Likewise.
33196 * kern/main.c: Likewise.
33197 * kern/err.c: Likewise.
33198 * kern/env.c: Likewise.
33199 * kern/disk.c: Likewise.
33200 * kern/generic/millisleep.c: Likewise.
33201 * kern/generic/rtc_get_time_ms.c: Likewise.
33202 * kern/misc.c: Likewise.
33203 * kern/parser.c: Likewise.
33204 * genmk.rb: Likewise.
33205 * configure.ac: Likewise.
33206 * boot/i386/pc/diskboot.S: Likewise.
33207 * boot/i386/pc/pxeboot.S: Likewise.
33208 * boot/i386/pc/boot.S: Likewise.
33209 * boot/i386/pc/lnxboot.S: Likewise.
33210 * boot/i386/pc/cdboot.S: Likewise.
33211 * parttool/pcpart.c: Likewise.
33212 * video/readers/tga.c: Likewise.
33213 * video/video.c: Likewise.
33214 * video/bitmap.c: Likewise.
33215 * lib/envblk.c: Likewise.
33216 * lib/i386/setjmp.S: Likewise.
33217 * fs/xfs.c: Likewise.
33218 * fs/afs.c: Likewise.
33219 * fs/fat.c: Likewise.
33220 * fs/ntfs.c: Likewise.
33221 * fs/udf.c: Likewise.
33222 * fs/affs.c: Likewise.
33223 * fs/iso9660.c: Likewise.
33224 * fs/hfs.c: Likewise.
33225 * fs/fshelp.c: Likewise.
33226 * fs/ext2.c: Likewise.
33227 * fs/jfs.c: Likewise.
33228 * fs/reiserfs.c: Likewise.
33229 * fs/hfsplus.c: Likewise.
33230 * fs/minix.c: Likewise.
33231 * fs/cpio.c: Likewise.
33232 * fs/sfs.c: Likewise.
33233 * fs/ufs.c: Likewise.
33234 * efiemu/prepare.c: Likewise.
33235 * efiemu/loadcore_common.c: Likewise.
33236 * efiemu/runtime/efiemu.sh: Likewise.
33237 * efiemu/runtime/efiemu.S: Likewise.
33238 * efiemu/runtime/efiemu.c: Likewise.
33239 * efiemu/pnvram.c: Likewise.
33240 * efiemu/main.c: Likewise.
33241 * efiemu/i386/pc/cfgtables.c: Likewise.
33242 * efiemu/i386/loadcore64.c: Likewise.
33243 * efiemu/i386/loadcore32.c: Likewise.
33244 * efiemu/loadcore.c: Likewise.
33245 * efiemu/symbols.c: Likewise.
33246 * efiemu/mm.c: Likewise.
33247 * include/grub/autoefi.h: Likewise.
33248 * include/grub/datetime.h: Likewise.
33249 * include/grub/term.h: Likewise.
33250 * include/grub/hfs.h: Likewise.
33251 * include/grub/lvm.h: Likewise.
33252 * include/grub/i386/tsc.h: Likewise.
33253 * include/grub/i386/linux.h: Likewise.
33254 * include/grub/i386/xnu.h: Likewise.
33255 * include/grub/i386/efiemu.h: Likewise.
33256 * include/grub/i386/pc/biosdisk.h: Likewise.
33257 * include/grub/i386/pc/memory.h: Likewise.
33258 * include/grub/i386/pc/vbe.h: Likewise.
33259 * include/grub/parttool.h: Likewise.
33260 * include/grub/video.h: Likewise.
33261 * include/grub/memory.h: Likewise.
33262 * include/grub/fs.h: Likewise.
33263 * include/grub/partition.h: Likewise.
33264 * include/grub/xnu.h: Likewise.
33265 * include/grub/efi/api.h: Likewise.
33266 * include/grub/efi/pe32.h: Likewise.
33267 * include/grub/efi/memory.h: Likewise.
33268 * include/grub/multiboot.h: Likewise.
33269 * include/grub/usbdesc.h: Likewise.
33270 * include/grub/multiboot2.h: Likewise.
33271 * include/grub/acpi.h: Likewise.
33272 * include/grub/efiemu/efiemu.h: Likewise.
33273 * include/grub/disk.h: Likewise.
33274 * include/grub/ieee1275/ieee1275.h: Likewise.
33275 * include/grub/net.h: Likewise.
33276 * include/grub/machoload.h: Likewise.
33277 * include/grub/macho.h: Likewise.
33278 * include/multiboot.h: Likewise.
33279 * genmoddep.awk: Likewise.
33280 * normal/main.c: Likewise.
33281 * normal/menu_entry.c: Likewise.
33282 * normal/menu_viewer.c: Likewise.
33283 * normal/completion.c: Likewise.
33284 * normal/cmdline.c: Likewise.
33285 * normal/misc.c: Likewise.
33286 * normal/datetime.c: Likewise.
33287 * bus/usb/usbtrans.c: Likewise.
33288 * bus/usb/ohci.c: Likewise.
33289 * bus/usb/uhci.c: Likewise.
33290 * bus/usb/usb.c: Likewise.
33291 * mmap/efi/mmap.c: Likewise.
33292 * mmap/i386/pc/mmap_helper.S: Likewise.
33293 * mmap/i386/pc/mmap.c: Likewise.
33294 * mmap/i386/mmap.c: Likewise.
33295 * mmap/i386/uppermem.c: Likewise.
33296 * mmap/mmap.c: Likewise.
33297 * commands/acpi.c: Likewise.
33298 * commands/echo.c: Likewise.
33299 * commands/blocklist.c: Likewise.
33300 * commands/loadenv.c: Likewise.
33301 * commands/usbtest.c: Likewise.
33302 * commands/boot.c: Likewise.
33303 * commands/parttool.c: Likewise.
33304 * commands/search.c: Likewise.
33305 * commands/cat.c: Likewise.
33306 * commands/i386/pc/play.c: Likewise.
33307 * commands/i386/pc/drivemap.c: Likewise.
33308 * commands/i386/pc/vbeinfo.c: Likewise.
33309 * commands/i386/pc/acpi.c: Likewise.
33310 * commands/i386/pc/vbetest.c: Likewise.
33311 * commands/ls.c: Likewise.
33312 * commands/cmp.c: Likewise.
33313 * commands/test.c: Likewise.
33314 * commands/efi/acpi.c: Likewise.
33315 * commands/gptsync.c: Likewise.
33316 * commands/help.c: Likewise.
33317 * partmap/amiga.c: Likewise.
33318 * partmap/apple.c: Likewise.
33319 * partmap/acorn.c: Likewise.
33320 * partmap/pc.c: Likewise.
33321 * partmap/sun.c: Likewise.
33322 * partmap/gpt.c: Likewise.
33323 * script/sh/lexer.c: Likewise.
33324 * script/sh/function.c: Likewise.
33325 * font/font.c: Likewise.
33326 * font/font_cmd.c: Likewise.
33327 * loader/powerpc/ieee1275/linux.c: Likewise.
33328 * loader/efi/chainloader.c: Likewise.
33329 * loader/multiboot_loader.c: Likewise.
33330 * loader/macho.c: Likewise.
33331 * loader/i386/multiboot.c: Likewise.
33332 * loader/i386/linux.c: Likewise.
33333 * loader/i386/pc/linux.c: Likewise.
33334 * loader/i386/pc/multiboot2.c: Likewise.
33335 * loader/i386/pc/chainloader.c: Likewise.
33336 * loader/i386/pc/xnu.c: Likewise.
33337 * loader/i386/bsd_trampoline.S: Likewise.
33338 * loader/i386/efi/linux.c: Likewise.
33339 * loader/i386/multiboot_elfxx.c: Likewise.
33340 * loader/i386/bsd_helper.S: Likewise.
33341 * loader/i386/bsd.c: Likewise.
33342 * loader/i386/linux_trampoline.S: Likewise.
33343 * loader/i386/xnu_helper.S: Likewise.
33344 * loader/i386/xnu.c: Likewise.
33345 * loader/i386/bsd_pagetable.c: Likewise.
33346 * loader/i386/multiboot_helper.S: Likewise.
33347 * loader/xnu.c: Likewise.
33348 * loader/xnu_resume.c: Likewise.
33349 * io/gzio.c: Likewise.
33350 * term/efi/console.c: Likewise.
33351 * term/terminfo.c: Likewise.
33352 * term/ieee1275/ofconsole.c: Likewise.
33353 * term/i386/pc/serial.c: Likewise.
33354 * term/i386/pc/vesafb.c: Likewise.
33355 * term/i386/pc/vga.c: Likewise.
33356 * term/usb_keyboard.c: Likewise.
33357 * term/gfxterm.c: Likewise.
33358 * aclocal.m4: Likewise.
33359 * util/lvm.c: Likewise.
33360 * util/grub.d/30_os-prober.in: Likewise.
33361 * util/grub.d/10_hurd.in: Likewise.
33362 * util/console.c: Likewise.
33363 * util/grub-macho2img.c: Likewise.
33364 * util/grub-probe.c: Likewise.
33365 * util/hostfs.c: Likewise.
33366 * util/i386/pc/grub-mkimage.c: Likewise.
33367 * util/i386/pc/grub-setup.c: Likewise.
33368 * util/i386/efi/grub-mkimage.c: Likewise.
33369 * util/grub-mkconfig.in: Likewise.
33370 * util/raid.c: Likewise.
33371 * util/resolve.c: Likewise.
33372 * util/grub-mkdevicemap.c: Likewise.
33373 * util/grub-emu.c: Likewise.
33374 * util/getroot.c: Likewise.
33375 * util/hostdisk.c: Likewise.
33376 * util/usb.c: Likewise.
33377 * util/grub-editenv.c: Likewise.
33378 * util/misc.c: Likewise.
33379
d2d49665 333802009-06-10 Felix Zielcke <fzielcke@z-51.de>
33381
33382 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33383 `genparttoollist.sh'.
33384 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33385 Add `*.sh' to the list find searches for and change `mdate.sh'
33386 to `mdate-sh'.
33387
fe052e37 333882009-06-10 Pavel Roskin <proski@gnu.org>
33389
2763ac18 33390 * include/grub/multiboot2.h: Provide compatibility defines for
33391 multiboot2.h.
33392 * include/multiboot2.h: Include stdint.h only if needed, using
33393 angle brackets.
33394 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33395 grub/multiboot2.h.
33396 * loader/ieee1275/multiboot2.c: Likewise.
33397 * loader/multiboot2.c: Likewise.
33398 * loader/multiboot_loader.c: Likewise.
33399
437e6adc 33400 * configure.ac: Use -nostdlib when probing for the target. It
33401 should not be required to have libc for the target.
33402
06a6836c 33403 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33404 they fail without libc headers for the target.
33405 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33406 exports.
33407 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33408 preprocessor conditionals.
33409
fe052e37 33410 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33411 build system doesn't need to be aware of the tar.c internals.
33412
afd22553 334132009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33414
afd22553 33415 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33416
6b787c4f 334172009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33418
33419 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33420 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33421
334222009-06-09 Felix Zielcke <fzielcke@z-51.de>
33423
33424 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33425 aren't available if ata.mod gets used.
6b787c4f 33426
473d1e45 334272009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33428
473d1e45 33429 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33430 initialising controller.
473d1e45 33431 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33432
255a27d4 334332009-06-08 Felix Zielcke <fzielcke@z-51.de>
33434
33435 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33436 to choose between ata and biosdisk module on i386-pc.
33437
473d1e45 334382009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33439
d55842d8 33440 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33441 Subclass and Programming Interface fields in terms of the 3 byte
33442 Class Code register.
33443 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33444
fa5db0b1 33445 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33446 interface is OHCI. Add grub_dprintf for symmetry with
33447 bus/usb/uhci.c.
33448 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33449 interface is UHCI. Add interf variable for programming
33450 interface. Print interface with class/subclass.
33451
c0947beb 33452 * bus/usb/ohci.c: Set interf with correct field.
33453
69da8877 33454 * bus/usb/uhci.c: Remove unneeded doubled lines.
33455 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33456 Remove whitespace inside comment.
33457
9e172e30 334582009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33459
33460 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33461 as fallback an equivalent option without depth.
33462
de65ee2b 334632009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33464
33465 Not fail if unable to retrieve C/H/S on LBA disks
33466
473d1e45 33467 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33468 if unable to retrieve C/H/S on LBA disks
33469
b57ea2c9 334702009-06-08 Pavel Roskin <proski@gnu.org>
33471
33472 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33473 about aliasing.
33474
af361263 334752009-06-08 Felix Zielcke <fzielcke@z-51.de>
33476
33477 * Makefile.in (uninstall): Remove all $lib_DATA files.
33478
4c9ec6b3 334792009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33480
33481 Bugfix: install on partitionless device
33482
33483 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33484 is a whole disk
33485
e76fc924 334862009-06-08 Felix Zielcke <fzielcke@z-51.de>
33487
33488 * Makefile.in (uninstall): Remove all $include_DATA files.
33489
ba5a0d05 334902009-06-08 Felix Zielcke <fzielcke@z-51.de>
33491
33492 * commands/true.c: New file. Implement the true and false commands.
33493 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33494 (true_mod_SOURCES): New variable.
33495 (true_mod_CFLAGS): Likewise.
33496 (true_mod_LDFLAGS): Likewise.
33497
c8048e32 334982009-06-05 Colin D Bennett <colin@gibibit.com>
33499
33500 Optimized font character lookup using binary search instead of linear
33501 search. Fonts now are required to have the character index ordered by
33502 code point.
33503
33504 * font/font.c (load_font_index): Verify that fonts have ordered
33505 character indices.
33506 (find_glyph): Use binary search instead of linear search to find a
33507 character in a font.
33508
408305be 335092009-06-05 Michael Scherer <misc@mandriva.org>
33510
33511 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33512 uses case sensitive btree.
33513 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33514 only for case insensitive filesystems.
33515
8ee1e0d9 335162009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33517
33518 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33519 * conf/common.rmk (search_mod_CFLAGS): likewise
33520
a9966eb1 335212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33522
473d1e45 33523 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33524 compensate a compiler bug
33525
9e7100fb 335262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33527
473d1e45 33528 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33529 instead of '\b'
473d1e45 33530
ede21d71 335312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33532
33533 Definitions for creating asm symbols with Apple's CC
33534
33535 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33536 [APPLE_CC] (VARIABLE): likewise
33537
9dbf7653 335382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33539
33540 Disable lnxboot.img when compiled
33541 with Apple's CC
33542
33543 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33544 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33545 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33546 [! APPLE_CC] (CODE_LENG): skip
33547 [! APPLE_CC] (setup_sects): likewise
33548 [! APPLE_CC]: skip filling
473d1e45 33549
e93cdc3d 335502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33551
33552 Address in trampolines based on 32-bit registers when compiled
33553 with Apple's CC
33554
473d1e45 33555 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33556 for addresses
33557 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33558
6c688477 335592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33560
33561 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33562
33563 * kern/misc.c [APPLE_CC] (memcpy): new function
33564 [APPLE_CC] (memmove): likewise
33565 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33566 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33567 (memset): likewise
33568 (abort): likewise
33569 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33570 APPLE_CC are defined
33571 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33572 (grub_assert_fail): make prototype conditional
33573
e37ffc5c 335742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33575
33576 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33577
473d1e45 33578 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33579 grub-macho2img
e37ffc5c 33580 (CLEANFILES): add grub-macho2img
33581 (grub_macho2img_SOURCES): new variable
33582 * kern/i386/pc/startup.S (bss_start): new variable
33583 (bss_end): likewise
33584 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33585 * util/grub-macho2img.c: new file
33586
cf00df31 335872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33588
33589 Use objconv when compiling with Apple's CC
33590
33591 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33592 (efiemu64.o): likewise
33593 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33594 when compiling with Apple's CC
33595 (efiemu64_s.o): likewise
33596 * configure.ac: check for objconv when compiling with Apple's CC
33597 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33598
d119a20c 335992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33600
33601 Define segment as well as section when compiling with
33602 Apple's CC
33603
33604 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33605 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33606 (efiemu_convert_pointer): likewise
33607 (efiemu_set_virtual_address_map): likewise
33608 (efiemu_convert_pointer): likewise
33609 (efiemu_getcrc32): likewise
33610 (init_crc32_table): likewise
33611 (reflect): likewise
33612 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33613 (GRUB_MOD_DEP): likewise
473d1e45 33614
c8600122 336152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33616
33617 Allow a compilation without -mcmodel=large
33618
33619 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33620 when compiled without -mcmodel=large
473d1e45 33621 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33622 without -mcmodel=large
473d1e45 33623 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33624 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33625
e8df1d4e 336262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33627
33628 Remove nested functions in efiemu core
33629
33630 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33631
cc6c3ac1 336322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33633
33634 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33635
33636 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33637 temporary storage
473d1e45 33638 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33639 using Apple's CC
cc6c3ac1 33640 (grub_cpu_is_tsc_supported): likewise
33641 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33642
3e325901 336432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33644
33645 Absolute addressing through constant with Apple's cc
33646
33647 * kern/i386/pc/startup.S: Define necessary constants
33648 and address through it when using ABS with Apple's CC
33649 * boot/i386/pc/diskboot.S: likewise
33650 * boot/i386/pc/boot.S: likewise
33651 * boot/i386/pc/lnxboot.S: likewise
33652 * boot/i386/pc/cdboot.S: likewise
33653 * mmap/i386/pc/mmap_helper.S: likewise
33654 * commands/i386/pc/drivemap_int13h.S: likewise
33655
2b167a72 336562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33657
33658 Check if compiler is apple cc
33659
33660 * Makefile.in (ASFLAGS): new variable
33661 (TARGET_ASFLAGS): likewise
33662 (TARGET_MODULE_FORMAT): likewise
33663 (TARGET_APPLE_CC): likewise
33664 (OBJCONV): likewise
33665 (TARGET_IMG_CFLAGS): likewise
33666 (TARGET_CPPFLAGS): add includedir
33667 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33668 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33669 Check for linker script only if compiler isn't Apple's CC
33670 (TARGET_MODULE_FORMAT): set
33671 (TARGET_APPLE_CC): likewise
33672 (TARGET_ASFLAGS): likewise
33673 (ASFLAGS): likewise
33674 Check for objcopy only if compiler isn't Apple's CC
33675 Check for BSS symbol only if compiler isn't Apple's CC
33676 * genmk.rb: adapt nm options if we use Apple's utils
33677 * aclocal.m4 (grub_apple_cc): new test
33678 (grub_apple_target_cc): likewise
473d1e45 33679
fb14123e 336802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33681
33682 Simplify sed expressions and improve awk
33683
33684 * Makefile.in (install-local): simplify sed expression
33685 * gencmdlist.sh: likewise
33686 * genmoddep.awk: avoid adding module as a dependency of itself
33687
5b889789 336882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33689
33690 Add missing start symbols
33691
33692 * boot/i386/pc/boot.S: add start
fb14123e 33693 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33694
fd2bf2e3 336952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33696
33697 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33698
33699 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33700 (relocate_addresses): consider both r_addend and value at offset
33701 (make_mods_section): zerofill modinfo and header
33702 (convert_elf): write prefix here
473d1e45 33703
5389763d 337042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33705
33706 Use .asciz instead of .string
33707
33708 * i386/pc/diskboot.S: use .asciz instead of .string
33709 * i386/pc/boot.S: likewise
33710 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33711 (GRUB_MOD_NAME): likewise
473d1e45 33712
3eb5ed4e 337132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33714
33715 gfxpayload support
33716
33717 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33718 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33719 (grub_video_setup): remove
33720 (grub_video_set_mode): new prototype
33721 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33722 (vid_mode): remove
33723 (linux_vesafb_res): compile only on PCBIOS
33724 (grub_linux_boot): support gfxpayload
33725 * loader/i386/pc/xnu.c (video_hook): new function
33726 (grub_xnu_set_video): support gfxpayload
33727 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33728 (DEFAULT_VIDEO_HEIGHT): likewise
33729 (DEFAULT_VIDEO_FLAGS): likewise
33730 (DEFAULT_VIDEO_MODE): new definition
33731 (video_hook): new function
33732 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33733 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33734 loading xnu
33735 * video/video.c (grub_video_setup): removed
473d1e45 33736 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33737 grub_video_setup
33738
4b0e1143 337392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33740
33741 Avoid calling biosdisk in drivemap
33742
33743 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33744 (revparse_biosdisk): likewise
33745 (list_mappings): derive name from id directly
33746 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33747
fda6cb98 337482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33749
33750 Script fixes
33751
33752 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33753 (grub_lexer_param): add tokenonhold
33754 (grub_script_create_cmdline): remove cmdline. All callers updated
33755 (grub_script_function_create): make functionname
33756 grub_script_arg. All callers updated
33757 (grub_script_execute_argument_to_string): new prototype
33758 * kern/parser.c (state_transitions): reorder
33759 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33760 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33761 make global
33762 (grub_script_execute_cmdline): use new format
33763 * script/sh/function.c (grub_script_function_create): make functionname
33764 grub_script_arg. All callers updated
473d1e45 33765 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33766 (grub_script_yylex): remove
33767 (grub_script_yylex2): renamed to ...
33768 (grub_script_yylex): ...renamed
33769 parse the expressions like a${b}c
33770 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33771 (GRUB_PARSER_TOKEN_VAR): remove
33772 (GRUB_PARSER_TOKEN_NAME): likewise
33773 ("if"): declare as typeless
33774 ("while"): likewise
33775 ("function"): likewise
33776 ("else"): likewise
33777 ("then"): likewise
33778 ("fi"): likewise
33779 (text): remove
33780 (argument): likewise
33781 (script): accept empty scripts and make exit on error
33782 (arguments): use GRUB_PARSER_TOKEN_ARG
33783 (function): likewise
33784 (command): move error handling to script
33785 (menuentry): move grub_script_lexer_ref before
473d1e45 33786 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33787 argument. All callers updated
33788
f4448a07 337892009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33790
33791 Prevent GRUB from probing floppies during boot.
33792
33793 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33794 * commands/search.c (options): Add --no-floppy.
33795 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33796 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33797 --no-floppy when searching for UUIDs.
33798
2bf5885a 337992009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33800
33801 Simplify the code duplication in commands/search.c.
33802
33803 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33804 (search_fs): ... this. Update all users.
33805
f6fd460a 338062009-06-03 Felix Zielcke <fzielcke@z-51.de>
33807
33808 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33809
cbb3c83e 338102009-05-28 Pavel Roskin <proski@gnu.org>
33811
57788cfd 33812 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33813 Remove the original symlink explicitly.
33814
cbb3c83e 33815 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33816 just one slash. That's how grub_fshelp_find_file() does it.
33817
cd0d5e30 338182009-05-26 Pavel Roskin <proski@gnu.org>
33819
f0f8bbe2 33820 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33821 to `str'.
33822
cd0d5e30 33823 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33824 possibly unused.
33825
8c2cab51 338262009-05-25 Christian Franke <franke@computer.org>
33827
33828 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33829 register.
33830 (grub_atapi_identify): Add wait after drive select.
33831 (grub_ata_identify): Do more strict status register check before
33832 calling grub_atapi_identify (). Suppress error message if status
33833 register is 0x00 after command failure. Add status register
33834 check after PIO read to avoid bogus identify due to stuck DRQ.
33835 Thanks to Pavel Roskin for testing.
33836 (grub_device_initialize): Remove unsafe status register check.
33837 Thanks to 'phcoder' for problem report and patch.
33838 Prevent sign extension in debug message.
33839
230c0ad6 338402009-05-23 Colin D Bennett <colin@gibibit.com>
33841
33842 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33843 definition file, and functions defined in `normal/menu.c' have had
33844 their prototypes moved to `include/grub/menu.h' for consistency.
33845
33846 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33847 from normal.h.
33848 (grub_menu_get_entry): Likewise.
33849 (grub_menu_get_timeout): Likewise.
33850 (grub_menu_set_timeout): Likewise.
33851 (grub_menu_execute_entry): Likewise.
33852 (grub_menu_execute_with_fallback): Likewise.
33853 (grub_menu_entry_run): Likewise.
33854
33855 * include/grub/normal.h: Re-ordered and grouped function
33856 prototypes by file that the function is defined in.
33857 (grub_menu_execute_callback): Removed; moved to menu.h.
33858 (grub_menu_get_entry): Likewise.
33859 (grub_menu_get_timeout): Likewise.
33860 (grub_menu_set_timeout): Likewise.
33861 (grub_menu_execute_entry): Likewise.
33862 (grub_menu_execute_with_fallback): Likewise.
33863 (grub_menu_entry_run): Likewise.
33864 (grub_menu_addentry): Renamed from this ...
33865 (grub_normal_add_menu_entry): ... to this.
33866
33867 * normal/main.c (grub_menu_addentry): Renamed from this ...
33868 (grub_normal_add_menu_entry): ... to this.
33869
33870 * script/sh/execute.c (grub_script_execute_menuentry): Update
33871 reference to renamed grub_menu_addentry function.
33872
861f03a5 338732009-05-23 Felix Zielcke <fzielcke@z-51.de>
33874
33875 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33876
96b1619a 338772009-05-22 Pavel Roskin <proski@gnu.org>
33878
bf6a5fb2 33879 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33880 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33881 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33882 compiling for the i386 targets, but not for the utilities.
33883
96b1619a 33884 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33885 to grub_uint8_t.
33886 (grub_root_drive): Likewise.
33887 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33888 remove alignment.
33889 (grub_root_drive): Change size to byte.
33890 (grub_start_addr): Remove.
33891 (grub_end_addr): Likewise.
33892 (grub_apm_bios_info): Likewise.
33893
b729776b 338942009-05-21 Felix Zielcke <fzielcke@z-51.de>
33895
33896 * normal/i386: Remove.
33897 * normal/powerpc: Likewise.
33898 * normal/sparc64: Likewise.
33899 * normal/x86_64: Likewise.
33900
0a15ce80 339012009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33902
33903 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33904 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33905 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33906
33db9015 339072009-05-18 Colin D Bennett <colin@gibibit.com>
33908
d6da58e6 33909 Display error messages when parsing a Lua statement fails.
33910 Previously, executing a syntactically invalid statement like
33911 ")foo" or "bar;" would silently fail.
33db9015 33912
33913 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33914 (grub_lua_parse_line): Improved reporting of Lua parser and
33915 execution errors.
33db9015 33916
46422c89 339172009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33918
33919 Remove -Werror which causes build to fail on some systems
33920
33921 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33922 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33923 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33924
22f53a96 339252009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33926
33927 trampoline for linux on 64-bit platform
33928
18f547ad 33929 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33930 loader/i386/efi/linux_trampoline.S
33931 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33932 declaration
d6da58e6 33933 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33934 here
22f53a96 33935 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33936 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33937 trampoline
22f53a96 33938 (jumpvector): removed
33939 (grub_linux_trampoline_start): new declaration
33940 (grub_linux_trampoline_end): likewise
33941 (grub_linux_boot): use trampoline when on 64-bit platform
33942 * loader/i386/linux.c: likewise
33943
cb5a0f40 339442009-05-16 Pavel Roskin <proski@gnu.org>
33945
33946 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33947 const to avoid a warning.
33948 (grub_lua_setenv): Likewise.
33949 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33950 lmsg to fix a warning.
33951
334f2c28 339522009-05-16 Felix Zielcke <fzielcke@z-51.de>
33953
33954 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33955 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33956 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33957 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33958 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33959 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33960 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33961 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33962
59e5d3ec 339632009-05-16 Felix Zielcke <fzielcke@z-51.de>
33964
33965 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33966
9d87a1ba 339672009-05-16 Bean <bean123ch@gmail.com>
33968
33969 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33970 (lua_mod_SOURCES): New variable.
33971 (lua_mod_CFLAGS): Likewise.
33972 (lua_mod_LDFLAGS): Likewise.
33973
33974 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33975 (setjmp_mod_SOURCES): New variable.
33976 (setjmp_mod_CFLAGS): Likewise.
33977 (setjmp_LDFLAGS): Likewise.
33978
33979 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33980 (setjmp_mod_SOURCES): New variable.
33981 (setjmp_mod_CFLAGS): Likewise.
33982 (setjmp_LDFLAGS): Likewise.
33983
33984 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33985 (setjmp_mod_SOURCES): New variable.
33986 (setjmp_mod_CFLAGS): Likewise.
33987 (setjmp_LDFLAGS): Likewise.
33988
33989 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33990 (setjmp_mod_SOURCES): New variable.
33991 (setjmp_mod_CFLAGS): Likewise.
33992 (setjmp_LDFLAGS): Likewise.
33993
33994 * normal/i386/setjmp.S: Moved from here ...
33995 * lib/i386/setjmp.S: ... Moved here
33996 * normal/x86_64/setjmp.S: Moved from here ...
33997 * lib/x86_64/setjmp.S: ... Moved here
33998 * normal/powerpc/setjmp.S: Moved from here ...
33999 * lib/powerpc/setjmp.S: ... Moved here
34000 * normal/sparc64/setjmp.S: Moved from here ...
34001 * lib/sparc64/setjmp.S: ... Moved here
34002
34003 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34004 returns_twice in mingw.
34005
34006 * script/lua/grub_lib.c: New file.
34007 * script/lua/grub_lib.h: Likewise.
34008 * script/lua/grub_lua.h: Likewise.
34009 * script/lua/grub_main.c: Likewise.
34010 * script/lua/lapi.c: Likewise.
34011 * script/lua/lapi.h: Likewise.
34012 * script/lua/lauxlib.c: Likewise.
34013 * script/lua/lauxlib.h: Likewise.
34014 * script/lua/lbaselib.c: Likewise.
34015 * script/lua/lcode.c: Likewise.
34016 * script/lua/lcode.h: Likewise.
34017 * script/lua/ldblib.c: Likewise.
34018 * script/lua/ldebug.c: Likewise.
34019 * script/lua/ldebug.h: Likewise.
34020 * script/lua/ldo.c: Likewise.
34021 * script/lua/ldo.h: Likewise.
34022 * script/lua/ldump.c: Likewise.
34023 * script/lua/lfunc.c: Likewise.
34024 * script/lua/lfunc.h: Likewise.
34025 * script/lua/lgc.c: Likewise.
34026 * script/lua/lgc.h: Likewise.
34027 * script/lua/linit.c: Likewise.
34028 * script/lua/liolib.c: Likewise.
34029 * script/lua/llex.c: Likewise.
34030 * script/lua/llex.h: Likewise.
34031 * script/lua/llimits.h: Likewise.
34032 * script/lua/lmathlib.c: Likewise.
34033 * script/lua/lmem.c: Likewise.
34034 * script/lua/lmem.h: Likewise.
34035 * script/lua/loadlib.c: Likewise.
34036 * script/lua/lobject.c: Likewise.
34037 * script/lua/lobject.h: Likewise.
34038 * script/lua/lopcodes.c: Likewise.
34039 * script/lua/lopcodes.h: Likewise.
34040 * script/lua/loslib.c: Likewise.
34041 * script/lua/lparser.c: Likewise.
34042 * script/lua/lparser.h: Likewise.
34043 * script/lua/lstate.c: Likewise.
34044 * script/lua/lstate.h: Likewise.
34045 * script/lua/lstring.c: Likewise.
34046 * script/lua/lstring.h: Likewise.
34047 * script/lua/lstrlib.c: Likewise.
34048 * script/lua/ltable.c: Likewise.
34049 * script/lua/ltable.h: Likewise.
34050 * script/lua/ltablib.c: Likewise.
34051 * script/lua/ltm.c: Likewise.
34052 * script/lua/ltm.h: Likewise.
34053 * script/lua/lua.h: Likewise.
34054 * script/lua/luaconf.h: Likewise.
34055 * script/lua/lualib.h: Likewise.
34056 * script/lua/lundump.c: Likewise.
34057 * script/lua/lundump.h: Likewise.
34058 * script/lua/lvm.c: Likewise.
34059 * script/lua/lvm.h: Likewise.
34060 * script/lua/lzio.c: Likewise.
34061 * script/lua/lzio.h: Likewise.
34062
5e898c9d 340632009-05-16 Bean <bean123ch@gmail.com>
34064
34065 * include/grub/kernel.h (grub_module_header_types): Add type
34066 OBJ_TYPE_CONFIG.
34067
34068 * kern/main.c (grub_load_config): New function.
34069 (grub_main): Call grub_load_config to read boot config.
34070
34071 * grub-mkimage (generate_image): New parameter config_path.
34072 (options): New option --config.
34073 (main): Parse --config option, and pass it to generate_image.
34074
cf353a47 340752009-05-14 Christian Franke <franke@computer.org>
34076
34077 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34078 This fixes build on Cygwin.
34079
3834887f 340802009-05-14 Pavel Roskin <proski@gnu.org>
34081
34082 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34083 jump. This saves two bytes, so the typical case of 2 swapped
34084 drives would fit 32 bytes.
34085
8090fc01 340862009-05-13 Pavel Roskin <proski@gnu.org>
34087
ac963883 34088 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34089 grub_uint32_t to avoid a warning.
34090
8090fc01 34091 * loader/i386/linux.c (allocate_pages): When assigning
34092 real_mode_mem, cast through grub_size_t to fix a warning. The
34093 code already makes sure that the value would fit a pointer.
34094 (grub_linux_setup_video): Cast render_target->data to
34095 grub_size_t to fix a warning.
34096
18f547ad 340972009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34098
34099 * commands/i386/pc/drivemap.c: New file - implement drivemap
34100 command.
34101 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34102 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34103
6f6a8b28 341042009-05-13 Pavel Roskin <proski@gnu.org>
34105
34106 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34107 embedding_area_exists.
34108
15fbf4c4 341092009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34110
34111 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34112 it easier to understand / work with.
59978c8a 34113 Improve warning messages for cases where there's no embedding area,
34114 or when it is too small (or core.img too large).
15fbf4c4 34115
238e871f 341162009-05-13 Pavel Roskin <proski@gnu.org>
34117
0ab3a9a4 34118 * loader/i386/pc/multiboot2.c: Add necessary includes for
34119 grub_multiboot2_real_boot().
34120
a2c8c5f8 34121 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34122 PX record is always little-endian. We only need the lower 2
34123 bytes of the mode.
34124
faec96af 34125 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34126 facilitate code reuse.
34127 (grub_cpio_mount): Use "struct head", not a char buffer. This
34128 fixes a warning reported by gcc 4.4.
34129
238e871f 34130 * kernel/disk.c (grub_disk_read): Use void pointer for the
34131 buffer.
34132 (grub_disk_write): Use const void pointer for the buffer.
34133 Adjust all callers. Remove unnecessary casts.
34134
901d2f0c 341352009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34136
34137 * util/i386/pc/grub-install.in: Update copyright year.
34138
18f547ad 341392009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34140
34141 gptsync
34142
34143 * commands/gptsync.c: new file
34144 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34145 (gptsync_mod_SOURCES): new variable
34146 (gptsync_mod_CFLAGS): likewise
34147 (gptsync_mod_LDFLAGS): likewise
18f547ad 34148 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34149 new definition
34150 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34151 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34152 * conf/i386-ieee1275.rmk: likewise
34153 * conf/i386-pc.rmk: likewise
34154 * conf/powerpc-ieee1275.rmk: likewise
34155
b4ba690a 341562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34157
34158 Fixed grub-emu
34159
34160 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34161 (grub_dl_ref): likewise
34162
317e1a44 341632009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34164
34165 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34166 split in two functions (one for msdos and one for gpt).
34167
041b8094 341682009-05-08 Pavel Roskin <proski@gnu.org>
34169
752473c2 34170 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34171 not modified.
34172
041b8094 34173 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34174 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34175 Initialize them with -1. Add sanity check for bad1. Eliminate
34176 nerr variable.
34177
172800ce 341782009-05-08 David S. Miller <davem@davemloft.net>
34179
34180 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34181
29aa5e81 341822009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34183
34184 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34185 existence.
29aa5e81 34186
96613b62 341872009-05-05 Felix Zielcke <fzielcke@z-51.de>
34188
34189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34190 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34191
eef73c8a 341922009-05-05 David S. Miller <davem@davemloft.net>
34193
34194 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34195
119494b5 341962009-05-05 Pavel Roskin <proski@gnu.org>
34197
34198 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34199 of grub_dl_ref() and grub_dl_unref().
34200 * commands/parttool.c: Remove preprocessor conditionals around
34201 grub_dl_ref() and grub_dl_unref().
34202 * fs/affs.c: Likewise.
34203 * fs/afs.c: Likewise.
34204 * fs/cpio.c: Likewise.
34205 * fs/ext2.c: Likewise.
34206 * fs/fat.c: Likewise.
34207 * fs/hfs.c: Likewise.
34208 * fs/hfsplus.c: Likewise.
34209 * fs/iso9660.c: Likewise.
34210 * fs/jfs.c: Likewise.
34211 * fs/minix.c: Likewise.
34212 * fs/ntfs.c: Likewise.
34213 * fs/reiserfs.c: Likewise.
34214 * fs/sfs.c: Likewise.
34215 * fs/udf.c: Likewise.
34216 * fs/ufs.c: Likewise.
34217 * fs/xfs.c: Likewise.
34218 * include/grub/dl.h: Likewise.
34219 * loader/xnu.c: Likewise.
34220
de5fd76e 342212009-05-04 Pavel Roskin <proski@gnu.org>
34222
34223 * commands/acpi.c: Remove unused variable my_mod.
34224 * partmap/amiga.c: Likewise.
34225 * partmap/apple.c: Likewise.
34226 * partmap/gpt.c: Likewise.
34227 * partmap/pc.c: Likewise.
34228 * partmap/sun.c: Likewise.
34229 * term/gfxterm.c: Likewise.
34230 * term/i386/pc/vesafb.c: Likewise.
34231 * term/i386/pc/vga.c: Likewise.
34232
983598ad 342332009-05-04 David S. Miller <davem@davemloft.net>
34234
34235 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34236 pointer args to grub_ieee1275_get_property().
34237
8aadec43 34238 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34239
9554b15e 34240 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34241 devices, and do not traverse down under controller nodes.
34242
67e23c90 34243 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34244 (grub_ofdisk_open): Use it to un-escape "," characters.
34245 * kern/disk.c (find_part_sep): New.
34246 (grub_disk_open): Use it to find the first non-escaped ','
34247 character in the disk name.
34248 * util/ieee1275/devicemap.c (escape_of_path): New.
34249 (grub_util_emit_devicemap_entry): Use it.
34250 * util/sparc64/ieee1275/grub-install.in: Update script to
34251 strip partition specifiers properly by not triggering on
34252 '\' escaped ',' characters.
34253
74bfdd2f 342542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34255
34256 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34257 to 0x300.
34258 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34259 resolutions.
34260 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34261 on documentation from Wikipedia).
34262
4241d2b1 342632009-05-04 Pavel Roskin <proski@gnu.org>
34264
34265 * disk/ata.c: Spelling fixes.
34266 * disk/raid.c: Likewise.
34267 * disk/usbms.c: Likewise.
34268 * disk/dmraid_nvidia.c: Likewise.
34269 * kern/ieee1275/openfw.c: Likewise.
34270 * kern/ieee1275/init.c: Likewise.
34271 * kern/ieee1275/cmain.c: Likewise.
34272 * boot/i386/pc/cdboot.S: Likewise.
34273 * video/readers/png.c: Likewise.
34274 * video/i386/pc/vbe.c: Likewise.
34275 * fs/udf.c: Likewise.
34276 * fs/hfs.c: Likewise.
34277 * fs/reiserfs.c: Likewise.
34278 * efiemu/runtime/efiemu.c: Likewise.
34279 * efiemu/main.c: Likewise.
34280 * efiemu/mm.c: Likewise.
34281 * include/grub/elf.h: Likewise.
34282 * include/grub/xnu.h: Likewise.
34283 * include/grub/usbdesc.h: Likewise.
34284 * include/grub/usb.h: Likewise.
34285 * include/grub/script_sh.h: Likewise.
34286 * include/grub/lib/LzmaEnc.h: Likewise.
34287 * include/grub/efiemu/efiemu.h: Likewise.
34288 * include/grub/command.h: Likewise.
34289 * normal/menu.c: Likewise.
34290 * normal/main.c: Likewise.
34291 * normal/datetime.c: Likewise.
34292 * bus/usb/uhci.c: Likewise.
34293 * mmap/i386/uppermem.c: Likewise.
34294 * mmap/mmap.c: Likewise.
34295 * commands/acpi.c: Likewise.
34296 * commands/test.c: Likewise.
34297 * partmap/apple.c: Likewise.
34298 * font/font.c: Likewise.
34299 * loader/sparc64/ieee1275/linux.c: Likewise.
34300 * loader/macho.c: Likewise.
34301 * loader/i386/bsd_trampoline.S: Likewise.
34302 * loader/i386/bsd.c: Likewise.
34303 * loader/xnu.c: Likewise.
34304 * term/i386/pc/vesafb.c: Likewise.
34305 * term/usb_keyboard.c: Likewise.
34306 * util/resolve.c: Likewise.
34307 * util/getroot.c: Likewise.
34308
0cfc0083 343092009-05-04 Felix Zielcke <fzielcke@z-51.de>
34310
34311 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34312
7c1d00cd 343132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34314
34315 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34316 build error.
34317
b01f0548 343182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34319
34320 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34321 parameter only available on BIOS.
34322
ecc3eb22 343232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34324
34325 Removed wrong semicolon in declaration
34326
34327 * grub/misc.h (grub_dprintf): remove semicolon
34328
112972a9 343292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34330
34331 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34332 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34333 is done by grub_cmd_linux() now).
34334 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34335 restore video to text mode.
34336 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34337 indicates lack of "vga=" parameter. "vga=0" is mapped to
34338 `GRUB_LINUX_VID_MODE_NORMAL'.
34339
afd5c115 343402009-05-04 Felix Zielcke <fzielcke@z-51.de>
34341
34342 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34343 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34344 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34345 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34346 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34347 `grub_script.tab.c'.
34348
34349 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34350 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34352 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34353 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34354
faa517ce 34355 * Makefile.in: Remove duplicated 2008 in Copyright line.
34356
ae0c0bdc 343572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34358
473d1e45 34359 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34360 unconditionally.
34361 * include/grub/util/misc.h (grub_util_warn): New declaration.
34362
34363 * util/i386/pc/grub-install.in: Understand --force and pass it down
34364 to grub-setup.
34365
34366 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34367 down to setup().
34368 (setup): Improve error messages and add warnings when requested to
34369 install in odd layouts. Refuse to install using blocklists unless
34370 --force was set.
34371
18f547ad 343722009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34373
34374 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34375
6d260daa 343762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34377
34378 Updated copyright year
34379
34380 * fs/hfsplus.c: updated copyright year
18f547ad 34381
69f853f8 343822009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34383
34384 HFS+ UUID
34385
18f547ad 34386 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34387 in the space previously used by unused3
34388 (grub_hfsplus_uuid): new function
34389 (grub_hfsplus_fs): added uuid field
34390
4c402e73 343912009-05-03 Pavel Roskin <proski@gnu.org>
34392
34393 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34394 suppress warnings. It's no longer needed.
34395 * disk/host.c: Likewise.
34396 * disk/ata_pthru.c: Likewise.
34397 * disk/loopback.c: Likewise.
34398 * hook/datehook.c: Likewise.
34399 * parttool/pcpart.c: Likewise.
34400 * fs/i386/pc/pxe.c: Likewise.
34401 * fs/ntfscomp.c: Likewise.
34402 * efiemu/main.c: Likewise.
34403 * mmap/mmap.c: Likewise.
34404 * commands/crc.c: Likewise.
34405 * commands/hexdump.c: Likewise.
34406 * commands/hdparm.c: Likewise.
34407 * commands/acpi.c: Likewise.
34408 * commands/echo.c: Likewise.
34409 * commands/minicmd.c: Likewise.
34410 * commands/blocklist.c: Likewise.
34411 * commands/memrw.c: Likewise.
34412 * commands/loadenv.c: Likewise.
34413 * commands/usbtest.c: Likewise.
34414 * commands/lsmmap.c: Likewise.
34415 * commands/boot.c: Likewise.
34416 * commands/parttool.c: Likewise.
34417 * commands/configfile.c: Likewise.
34418 * commands/search.c: Likewise.
34419 * commands/ieee1275/suspend.c: Likewise.
34420 * commands/cat.c: Likewise.
34421 * commands/i386/pc/pxecmd.c: Likewise.
34422 * commands/i386/pc/play.c: Likewise.
34423 * commands/i386/pc/halt.c: Likewise.
34424 * commands/i386/pc/vbeinfo.c: Likewise.
34425 * commands/i386/pc/vbetest.c: Likewise.
34426 * commands/lspci.c: Likewise.
34427 * commands/date.c: Likewise.
34428 * commands/handler.c: Likewise.
34429 * commands/ls.c: Likewise.
34430 * commands/test.c: Likewise.
34431 * commands/cmp.c: Likewise.
34432 * commands/efi/loadbios.c: Likewise.
34433 * commands/efi/fixvideo.c: Likewise.
34434 * commands/halt.c: Likewise.
34435 * commands/help.c: Likewise.
34436 * commands/reboot.c: Likewise.
34437 * hello/hello.c: Likewise.
34438 * script/sh/main.c: Likewise.
34439 * loader/xnu.c: Likewise.
34440 * term/terminfo.c: Likewise.
34441 * term/i386/pc/serial.c: Likewise.
34442 * term/usb_keyboard.c: Likewise.
34443
515b5079 344442009-05-03 David S. Miller <davem@davemloft.net>
34445
34446 * normal/menu.c: Include grub/parser.h
34447
dfc31a22 344482009-05-03 Pavel Roskin <proski@gnu.org>
34449
2fee74f1 34450 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34451 not char*.
34452 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34453 Suggested by Javier Martín <lordhabbit@gmail.com>
34454
dfc31a22 34455 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34456 efiemu??.o doesn't exist.
34457 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34458 copying.
34459
18f547ad 344602009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34461
34462 FreeBSD 64-bit support
34463
18f547ad 34464 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34465 and loader/i386/bsd_trampoline.S
34466 (bsd_mod_ASFLAGS): new variable
34467 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34468 (FREEBSD_MODTYPE_KERNEL64): likewise
34469 (grub_bsd64_trampoline_start): likewise
34470 (grub_bsd64_trampoline_end): likewise
34471 (grub_bsd64_trampoline_selfjump): likewise
34472 (grub_bsd64_trampoline_gdt): likewise
34473 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34474 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34475 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34476 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34477 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34478 of "attrib" member
34479 * loader/i386/bsd_pagetable.c: new file
34480 * loader/i386/bsd_trampoline.S: likewise
34481 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34482 (ALIGN_VAR): likewise
34483 (entry_hi): new variable
34484 (kern_end_mdofs): likewise
34485 (is_64bit): likewise
34486 (grub_freebsd_add_meta): use ALIGN_VAR
34487 (grub_e820_mmap): new declaration
34488 (grub_freebsd_add_mmap): new function
34489 (grub_freebsd_add_meta_module): support 64 bit kernels
34490 (grub_freebsd_list_modules): use ALIGN_VAR
34491 (gdt_descriptor): new declaration
34492 (grub_freebsd_boot): support 64 bit kernels
34493 (grub_bsd_elf64_hook): new function
34494 (grub_bsd_load_elf): support elf64
34495
038c5720 344962009-05-03 Bean <bean123ch@gmail.com>
34497
34498 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34499 after we get the result of if statement.
34500
fc45fb58 345012009-05-03 Bean <bean123ch@gmail.com>
34502
34503 * Makefile.in (enable_efiemu): New variable.
34504
34505 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34506 set.
34507 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34508 path.
34509 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34510 path, add -mno-red-zone option.
34511 (efiemu64_s.o): Likewise.
34512 (efiemu64.o): Use macro $^ for source file.
34513
34514 * configure.ac (--enable-efiemu): New option.
34515
bbee0f2b 345162009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34517
34518 xnu support
34519
34520 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34521 (pkglib_MODULES): add xnu.mod
34522 (xnu_mod_SOURCES): new variable
34523 (xnu_mod_CFLAGS): likewise
34524 (xnu_mod_LDFLAGS): likewise
34525 (xnu_mod_ASFLAGS): likewise
34526 * conf/i386-pc.rmk: likewise
34527 * conf/x86_64-efi.rmk: likewise
7dd4a573 34528 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34529 new declaration
34530 * include/grub/i386/macho.h: new file
34531 * include/grub/i386/xnu.h: likewise
34532 * include/grub/macho.h: likewise
34533 * include/grub/machoload.h: likewise
34534 * include/grub/x86_64/macho.h: likewise
34535 * include/grub/x86_64/xnu.h: likewise
34536 * include/grub/xnu.h: likewise
34537 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34538 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34539 * loader/i386/efi/xnu.c: new file
34540 * loader/i386/pc/xnu.c: likewise
34541 * loader/i386/xnu.c: likewise
34542 * loader/i386/xnu_helper.S: likewise
34543 * loader/macho.c: likewise
34544 * loader/xnu.c: likewise
34545 * loader/xnu_resume.c: likewise
34546 * util/grub-dumpdevtree: likewise
34547 * include/grub/i386/pit.h: include grub/err.h
34548 (grub_pit_wait): export
34549 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34550
5caf964d 345512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34552
34553 Efiemu
7dd4a573 34554
5caf964d 34555 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34556 _linux_efi, linux_efi.
34557 new files in grub-emu
5caf964d 34558 new targets efiemu32.o and efiemu64.o
34559 * loader/linux_normal_efiemu.c: likewise
34560 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34561 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34562 files to copy
34563 * include/grub/autoefi.h: new file
7dd4a573 34564 * include/grub/i386/efiemu.h: likewise
5caf964d 34565 * include/grub/i386/pc/efiemu.h: likewise
34566 * include/grub/efi/api.h: add LL suffix when necessary
34567 new definitions relating to tables
34568 * include/grub/efiemu/efiemu.h: new file
34569 * include/grub/efiemu/runtime.h: likewise
34570 * efiemu/prepare.c: likewise
34571 * efiemu/loadcore_common.c: likewise
34572 * efiemu/loadcore64.c: likewise
34573 * efiemu/runtime/efiemu.sh: likewise
34574 * efiemu/runtime/efiemu.S: likewise
34575 * efiemu/runtime/efiemu.c: likewise
34576 * efiemu/runtime/config.h: likewise
34577 * efiemu/prepare32.c: likewise
34578 * efiemu/main.c: likewise
34579 * efiemu/modules/pnvram.c: likewise
34580 * efiemu/modules/i386: likewise
34581 * efiemu/modules/i386/pc: likewise
34582 * efiemu/modules/acpi.c: likewise
34583 * efiemu/i386/pc/cfgtables.c: likewise
34584 * efiemu/i386/loadcore64.c: likewise
34585 * efiemu/i386/loadcore32.c: likewise
34586 * efiemu/prepare64.c: likewise
34587 * efiemu/loadcore.c: likewise
34588 * efiemu/symbols.c: likewise
34589 * efiemu/mm.c: likewise
34590 * efiemu/loadcore32.c: likewise
7dd4a573 34591
345922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34593
34594 ACPI spoofing
34595
34596 * commands/acpi.c: new file
34597 * commands/i386/pc/acpi.c: likewise
34598 * commands/efi/acpi.c: likewise
34599 * include/grub/acpi.h: likewise
34600 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34601 (acpi_mod_SOURCES): new variable
34602 (acpi_mod_CFLAGS): likewise
34603 (acpi_mod_LDFLAGS): likewise
34604 * conf/i386-efi.rmk: likewise
34605 * conf/x86_64-efi.rmk: likewise
34606
7dd4a573 346072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34608
34609 Missing part from mmap patch
34610
34611 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34612 (grub_mmap_unregister)
34613 (grub_mmap_free_and_unregister): use grub_mmap_register
34614
7dd4a573 346152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34616
34617 Mmap services
34618
34619 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34620 * loader/i386/linux.c (find_mmap_size): likewise
34621 (allocate_pages): likewise
34622 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34623 (grub_fill_multiboot_mmap): likewise
34624 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34625 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34626 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34627 (OPENBSD_MMAP_RESERVED): likewise
34628 * include/grub/i386/pc/memory.h: include grub/memory.h
34629 (grub_lower_mem): removed
34630 (grub_upper_mem): likewise
34631 (GRUB_MACHINE_MEMORY_ACPI): new definition
34632 (GRUB_MACHINE_MEMORY_NVS): likewise
34633 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34634 (GRUB_MACHINE_MEMORY_HOLE): likewise
34635 (grub_machine_mmap_register): likewise
34636 (grub_machine_mmap_unregister): likewise
34637 (grub_machine_get_upper): likewise
34638 (grub_machine_get_lower): likewise
34639 (grub_machine_get_post64): likewise
34640 * include/grub/i386/efi/memory.h: new file
34641 * include/grub/x86_64/efi/memory.h: likewise
34642 * include/grub/efi/memory.h: likewise
34643 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34644 (mmap_mod_SOURCES): new variable
34645 (mmap_mod_LDFLAGS): likewise
34646 (mmap_mod_ASFLAGS): likewise
34647 * conf/i386-coreboot.rmk: likewise
34648 * conf/i386-ieee1275.rmk: likewise
34649 * conf/i386-efi.rmk: likewise
34650 * conf/x86_64-efi.rmk: likewise
34651 * include/grub/types.h (UINT_TO_PTR): new macro
34652 (PTR_TO_UINT32): likewise
34653 (PTR_TO_UINT64): likewise
34654 * include/grub/memory.h: new file
34655 * mmap/i386/pc/mmap.c: likewise
34656 * mmap/i386/pc/mmap_helper.S: likewise
34657 * mmap/i386/uppermem.c: likewise
34658 * mmap/mmap.c: likewise
34659 * mmap/efi/mmap.c: likewise
7dd4a573 34660 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34661 grub_upper_mem
34662 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34663 (grub_upper_mem): likewise
34664 (grub_machine_init): don't use grub_upper_mem,
34665 make grub_lower_mem local
34666 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34667 grub_mmap_iterate and grub_mmap_get_upper
34668 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34669
d558e6b5 346702009-05-02 Bean <bean123ch@gmail.com>
34671
34672 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34673 script/sh/parser.y.
34674 (pkglib_MODULES): Add normal.mod and sh.mod.
34675 (normal_SOURCES): New variable.
34676 (normal_mod_CFLAGS): Likewise.
34677 (normal_mod_LDFLAGS): Likewise.
34678 (sh_mod_SOURCES): Likewise.
34679 (sh_mod_CFLAGS): Likewise.
34680 (sh_mod_LDFLAGS): Likewise.
34681
34682 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34683 script/sh/lexer.c_DEPENDENCIES.
34684 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34685 kern/rescue_reader.c and kern/rescue_parser.c.
34686 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34687 (grub_emu_SOURCES): Change source files.
34688 (pkglib_MODULES): Remove normal.mod.
34689 (normal_SOURCES): Removed.
34690 (normal_mod_CFLAGS): Likewise.
34691 (normal_mod_LDFLAGS): Likewise.
34692 * conf/i386-coreboot.rmk: Likewise.
34693 * conf/i386-efi.rmk: Likewise.
34694 * conf/i386-ieee1276.rmk: Likewise.
34695 * conf/powerpc-ieee1275.rmk: Likewise.
34696 * conf/sparc64-ieee1275.rmk: Likewise.
34697 * conf/x86_64-efi.rmk: Likewise.
34698
34699 * include/grub/command.h (grub_command_execute): New inline function.
34700
34701 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34702
34703 * include/grub/normal.h: Remove <grub/setjmp.h>.
34704 (grub_fs_module_list): Moved to normal/autofs.c.
34705 (grub_exit_env): Removed.
34706 (grub_command_execute): Likewise.
34707 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34708 parameter script.
34709 (read_command_list): New function declaration.
34710 (read_fs_list): Likewise.
34711
34712 * include/parser.h: Include <grub/reader.h>.
34713 (grub_parser_split_cmdline): Change type of getline parameter.
34714 (grub_parser): New structure.
34715 (grub_parser_class): New variable.
34716 (grub_parser_execute): New function declaration.
34717 (grub_register_rescue_parser): Likewise.
34718 (grub_parser_register): New inline function.
34719 (grub_parser_unregister): Likewise.
34720 (grub_parser_get_current): Likewise.
34721 (grub_parser_set_current): Likewise.
34722
34723 * include/grub/reader.h: New file.
34724 * kern/reader.c: Likewise.
34725 * kern/rescue_parser.c: Likewise.
34726 * kern/rescue_reader.c: Likewise.
34727 * normal/autofs.c: Likewise.
34728 * normal/dyncmd.c: Likewise.
34729
34730 * include/grub/rescue.h: Removed.
34731 * normal/command.h: Likewise.
34732
34733 * include/grub/script.h: Moved to ...
34734 * include/grub/script_sh.h: ... Moved here.
34735 * normal/execute.c: Moved to ...
34736 * script/sh/execute.c: ... Moved here.
34737 * normal/function.c: Moved to ...
34738 * script/sh/function.c: ... Moved here.
34739 * normal/lexer.c: Moved to ...
34740 * script/sh/lexer.c: ... Moved here.
34741 * normal/parser.y: Moved to ...
34742 * script/sh/parser.y: ... Moved here.
34743 * normal/script.c: Moved to ...
34744 * script/sh/script.c: ... Moved here.
34745
34746 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34747 <grub/reader.h>.
34748 (grub_exit_env): Removed.
34749 (fs_module_list): Moved to normal/autofs.c.
34750 (grub_file_getline): Don't handle comment here.
34751 (free_menu): Skip removed field entry->commands.
34752 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34753 script parameter.
34754 (read_config_file): Removed nested parameter, change getline function.
34755 (grub_enter_normal_mode): Removed.
34756 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34757 (read_command_list): Likewise.
34758 (autoload_fs_module): Moved to normal/autofs.c.
34759 (read_fs_list): Likewise.
34760 (reader_nested): New variable.
34761 (grub_normal_execute): Run parser.sh to switch to sh parser.
34762 (grub_cmd_rescue): Removed.
34763 (cmd_normal): Removed.
34764 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34765 rescue command.
34766 (grub_cmdline_run): New function.
34767 (grub_normal_reader_init): Likewise.
34768 (grub_normal_read_line): Likewise.
34769 (grub_env_write_pager): Likewise.
34770 (cmdline): New variable.
34771 (grub_normal_reader): Likewise.
34772 (GRUB_MOD_INIT): Register normal reader and set as current, register
34773 pager hook, register normal command with grub_register_command_prio,
34774 so that it won't show up in command.lst.
34775 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34776 grub_fs_autoload_hook.
34777
34778 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34779 (grub_menu_execute_entry): Replace grub_script_execute with
34780 grub_parser_execute, change parameter to grub_command_execute.
34781
34782 * normal/menu_text.c: Remove <grub/script.h>.
34783
34784 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34785 and <grub/parser.h>.
34786 (run): Change editor_getline to use new parser interface. Change
34787 parameter to grub_command_execute.
34788
34789 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34790 <grub/reader.h> and <grub/parser.h>.
34791 (grub_load_normal_mode): Execute normal command.
34792 (grub_main): Call grub_register_core_commands,
34793 grub_register_rescue_parser and grub_register_rescue_reader, use
34794 grub_reader_loop to enter input loop.
34795
7dd4a573 34796 * kern/parser.c (grub_parser_split_cmdline): Change type of
34797 getline parameter.
d558e6b5 34798 (grub_parser_class): New variable.
34799 (grub_parser_execute): New function.
34800
34801 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34802 * loader/multiboot2.c: Likewise.
34803 * loader/sparc64/ieee1275/linux.c: Likewise.
34804
34805 * util/grub-emu.c (read_command_list): New dummy function.
34806
18db813d 348072009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34808
34809 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34810 count to 16 for CCISS and IDA.
34811
6c67de15 348122009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34813
34814 * normal/menu_text.c (grub_wait_after_message): Print a newline
34815 after waiting for user input.
34816
34817 * loader/i386/linux.c: Include `<grub/normal.h>'.
34818 (grub_cmd_linux): Improve the error message about `ask' mode, by
34819 waiting for user input so it's not missed (we can do this, since
34820 user requested interaction).
34821
d9dc87b0 348222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34823
34824 Added missing lst to grub-mkrescue
34825
34826 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34827 and ${input_dir}/parttool.lst
34828
ac8a2baa 348292009-04-30 David S. Miller <davem@davemloft.net>
34830
ad22a610 34831 * util/hostdisk.c (device_is_wholedisk): New function.
34832 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34833 zero only if device_is_wholedisk() returns true.
34834
6966215d 34835 * util/hostdisk.c (convert_system_partition_to_system_disk):
34836 Handle virtual disk devices named /dev/vdiskX as found on sparc
34837 and powerpc.
34838
ac8a2baa 34839 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34840 lettered partition specifier is found, convert to numbered.
34841
979b4fb4 348422009-04-29 David S. Miller <davem@davemloft.net>
34843
e2bf39b2 34844 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34845 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34846
3c64e104 34847 * normal/command.c: Add missing newline at end of file.
34848
979b4fb4 34849 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34850 warnings.
34851 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34852 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34853 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34854 ihandles have a 32-bit type but need to be stored in a "void *".
34855
136d9f82 348562009-04-28 Pavel Roskin <proski@gnu.org>
34857
9459c306 34858 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34859 not disk. Adjust all dependencies.
2e08a26a 34860 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34861 grub_disk_close().
34862
136d9f82 34863 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34864 parent's partition, don't copy it by reference, as it gets freed
34865 on close.
34866
7dd4a573 348672009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34868
34869 Preboot hooks support
34870
34871 * commands/boot.c (struct grub_preboot_t): new declaration
34872 (preboots_head): new variable
34873 (preboots_tail): likewise
34874 (grub_loader_register_preboot_hook): new function
34875 (grub_loader_unregister_preboot_hook): likewise
34876 (grub_loader_set): launch preboot hooks
34877 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34878 (grub_loader_register_preboot_hook): new declaration
34879 (grub_loader_unregister_preboot_hook): likewise
34880
5af922b5 348812009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34882
34883 Warning fix
34884
7dd4a573 34885 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34886 calling grub_dprintf
34887
a5562c30 348882009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34889
34890 Bug and warning fixes
34891
7dd4a573 34892 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34893 declaration
34894 * commands/test.c (test_parse): fixed bug with file tests and corrected
34895 declaration of find_file
34896
4006f85c 348972009-04-26 Pavel Roskin <proski@gnu.org>
34898
34899 * Makefile.in: Don't install empty manual pages if help2man is
34900 missing. Use help2man option for output, not shell redirection.
34901
5c77c3de 349022009-04-26 David S. Miller <davem@davemloft.net>
34903
34904 * util/grub-mkdevicemap.c (make_device_map): Add missing
34905 NESTED_FUNC_ATTR to process_device().
34906
033b10a8 349072009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34908
34909 Test command
34910
34911 * commands/test.c: rewritten to use bash-like test
34912
e4343593 349132009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34914
34915 Parttool autoloading and improvements
34916
7dd4a573 34917 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34918 (parttool.lst): new target
34919 * genmk.rb: generate parttool-*
34920 (CLEANFILES): add #{parttool}
34921 (PARTTOOLFILES): new variable
34922 * genparttoollist.sh: new file
7dd4a573 34923 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34924 (grub_pcpart_type): likewise
34925 * commands/parttool.c (helpmsg): new variable
34926 (grub_cmd_parttool): output help if not enough arguments are supplied
34927 autoload modules
34928 (GRUB_MOD_INIT(parttool)): use helpmsg
34929
0d312500 349302009-04-24 David S. Miller <davem@davemloft.net>
34931
7dd4a573 34932 Avoiding opening same device multiple times in device iterator.
0d312500 34933
34934 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34935 and use it to build a list of partitions in iterate_disk() and
0d312500 34936 iterate_partition().
34937
ac20caff 34938 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34939 on disk->data.
34940
0dcf7495 34941 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34942 grub_devalias_iterate() result instead of unconditional 0.
34943 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34944 Also, capture hook return value, either directly or via
34945 grub_children_iterate(), and propagate to caller.
34946 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34947 grub_children_iterate): Return value is now 'int' instead of
34948 'grub_err_t'.
34949 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34950 like a proper iterator, stopping when hooks return non-zero.
34951 (grub_devalias_iterate): Likewise.
34952
c8c08833 349532009-04-23 David S. Miller <davem@davemloft.net>
34954
34955 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34956
f01005a8 349572009-04-22 David S. Miller <davem@davemloft.net>
34958
34959 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34960 is larger than address_cells, use that value for address_cells too.
34961
4e8269da 34962 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34963 IEEE1275_MAX_PATH_LEN): Define.
34964 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34965 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34966 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34967 'devtype'. Explicitly NULL terminate devalias expansion.
34968
a1447506 34969 * util/sparc64/ieee1275/misc.c: New file.
34970 * util/sparc64/ieee1275/grub-setup.c: New file.
34971 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34972 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34973 * util/sparc64/ieee1275/grub-install.in: New file.
34974 * util/ieee1275/ofpath.c: New file.
34975 * util/ieee1275/devicemap.c: New file.
34976 * util/devicemap.c: New file.
34977 * util/deviceiter.c: New file.
34978 * kern/sparc64/ieee1275/init.c: New file.
34979 * include/grub/util/ofpath.h: New file.
34980 * include/grub/util/deviceiter.h: New file.
34981 * util/grub-mkdevicemap.c: Include deviceiter.h.
34982 Implement using grub_util_emit_devicemap_entry and
34983 grub_util_iterate_devices.
34984 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34985 util/devicemap.c into grub-mkdevicemap
34986 * conf/i386-efi.rmk: Likewise.
34987 * conf/i386-ieee1275.rmk: Likewise.
34988 * conf/i386-pc.rmk: Likewise.
34989 * conf/powerpc-ieee1275.rmk: Likewise.
34990 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34991 images and installation utilities. Build kernel as image
34992 instead of as elf binary. Use common rules as much as possible.
34993
7dd4a573 349942009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34995
34996 Correct GPT definition
34997
7dd4a573 34998 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34999 of "attrib" member
35000
c6c5219f 350012009-04-19 Felix Zielcke <fzielcke@z-51.de>
35002
35003 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35004
0552ff9f 350052009-04-19 David S. Miller <davem@davemloft.net>
35006
35007 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35008 (grub_rescue_cmd_linux): Rename to...
35009 (grub_cmd_linux): and fix prototype.
35010 (grub_rescue_cmd_initrd): Rename to...
35011 (grub_cmd_initrd): and fix prototype.
35012 (cmd_linux, cmd_initrd): New.
35013 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35014 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35015
d1a282fc 350162009-04-17 Pavel Roskin <proski@gnu.org>
35017
07c5039f 35018 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35019 format.
35020 (grub_ohci_transfer): Likewise.
35021
b012002d 35022 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35023
1bc09c35 35024 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35025 return without a value. Fix inconsistent indentation.
35026
e0ff9126 35027 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35028 match struct grub_fs.
35029
d1a282fc 35030 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35031 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35032 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35033 * commands/lspci.c (grub_lspci_iter): Likewise.
35034
a96df3f2 350352009-04-16 Bean <bean123ch@gmail.com>
35036
35037 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35038 value.
35039
41bb0fe9 350402009-04-15 Pavel Roskin <proski@gnu.org>
35041
35042 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35043 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35044 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35045 definitions.
35046
596c6970 350472009-04-15 Felix Zielcke <fzielcke@z-51.de>
35048
35049 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35050 that no multiple data or metadata areas are supported and `Unknown
596c6970 35051 metadata header'.
35052
7dd4a573 350532009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35054
35055 Move loader out of the kernel
35056
35057 * kern/loader.c: moved to ...
35058 * commands/boot.c: ... moved here
35059 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35060 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35061 * include/grub/kernel.h (grub_machine_fini): export
35062 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35063 (grub_loader_set): likewise
35064 (grub_loader_unset): likewise
35065 (grub_loader_boot): likewise
35066 * conf/common.rmk: new module boot.mod
35067 (pkglib_MODULES): add boot.mod
35068 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35069 (grub_emu_SOURCES): likewise
35070 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35071 (grub_emu_SOURCES): likewise
35072 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35073 (grub_emu_SOURCES): likewise
35074 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35075 (grub_emu_SOURCES): likewise
35076 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35077 (grub_emu_SOURCES): likewise
7dd4a573 35078 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35079 (grub_emu_SOURCES): likewise
0d5d5653 35080 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35081 (grub_emu_SOURCES): likewise
0d5d5653 35082
7dd4a573 350832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35084
35085 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35086
5999d619 35087 * kern/misc.c (grub_itoa): Removed function
35088 (grub_ltoa): likewise
35089 (grub_vsprintf): use grub_lltoa
35090
7dd4a573 350912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35092
35093 Restore grub-emu
35094
35095 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35096 * conf/i386-coreboot.rmk: likewise
35097 * conf/i386-ieee1275.rmk: likewise
35098 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35099
20318222 351002009-04-15 Felix Zielcke <fzielcke@z-51.de>
35101
35102 * INSTALL: Add that `./autogen.sh' needs to be run before
35103 `./configure.'.
35104
d05f0df3 351052009-04-14 Bean <bean123ch@gmail.com>
35106
35107 * Makefile.in (pkglib_DATA): Add handler.lst.
35108 (handler.lst): New rule.
35109
35110 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35111 * conf/i386-coreboot.rmk: Likewise.
35112 * conf/i386-ieee1275.rmk: Likewise.
35113 * conf/i386-efi.rmk: Likewise.
35114 * conf/x86_64-efi.rmk: Likewise.
35115 * conf/powerpc-ieee1275.rmk: Likewise.
35116 * conf/sparc64-ieee1275.rmk: Likewise.
35117
35118 * genhandlerlist.sh: New file.
35119
35120 * genmk.rb: Add rules to generate handler.lst.
35121
35122 * include/grub/normal.h (grub_file_getline): New function definition.
35123 (read_handler_list): Likewise.
35124 (free_handler_list): Likewise.
35125
35126 * include/grub/term.h (grub_term_register_input): Add name parameter
35127 for auto generation of handler.lst.
35128 (grub_term_register_output): Likewise.
35129
35130 * normal/handler.c: New file.
35131
35132 * normal/main.c (get_line): Renamed to grub_file_getline.
35133 (read_config_file): Use the newly renamed grub_file_getline.
35134 (read_command_list): Likewise.
35135 (read_fs_list): Likewise.
35136 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35137 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35138
35139 * term/efi/console.c (grub_console_init): Add name parameter for auto
35140 generation of handler.lst.
35141 * term/gfxterm.c: Likewise.
35142 * term/i386/pc/at_keyboard.c: Likewise.
35143 * term/i386/pc/console.c: Likewise.
35144 * term/i386/pc/serial.c: Likewise.
35145 * term/i386/pc/vesafb.c: Likewise.
35146 * term/i386/pc/vga.c: Likewise.
35147 * term/i386/pc/vga_text.c: Likewise.
35148 * term/ieee1275/ofconsole.c: Likewise.
35149 * term/usb_keyboard.c: Likewise.
35150
33c846be 351512009-04-14 Bean <bean123ch@gmail.com>
35152
35153 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35154 properly with null character.
35155
4484e01e 351562009-04-14 Felix Zielcke <fzielcke@z-51.de>
35157
35158 * configure: Remove.
35159 * config.h.in: Likewise.
f93d668e 35160 * stamp-h.in: Likewise.
4484e01e 35161 * DISTLIST: Likewise.
35162 * conf/common.mk: Likewise.
35163 * conf/i386-coreboot.mk: Likewise.
35164 * conf/i386-efi.mk: Likewise.
35165 * conf/i386-ieee1275.mk: Likewise.
35166 * conf/i386.mk: Likewise.
35167 * conf/i386-pc.mk: Likewise.
35168 * conf/powerpc-ieee1275.mk: Likewise.
35169 * conf/sparc64-ieee1275.mk: Likewise.
35170 * conf/x86_64-efi.mk: Likewise.
35171
35172 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35173 develop on GRUB.
35174
7dd4a573 351752009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35176 David S. Miller <davem@davemloft.net>
35177
35178 * util/hostdisk.c (make_device_name): Fix buffer length
35179 calculations.
35180
e25b5a8c 351812009-04-14 Felix Zielcke <fzielcke@z-51.de>
35182
35183 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35184 <sys/param.h> and <sys/sysctl.h>.
35185 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35186 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35187 opening the device and reset them afterwards.
35188
1f1f580c 351892009-04-13 Pavel Roskin <proski@gnu.org>
35190
35191 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35192 Reported by John Stanley <jpsinthemix@verizon.net>
35193
7ebc2d6b 351942009-04-13 Robert Millan <rmh@aybabtu.com>
35195
35196 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35197 that name for menuentries when appropriate.
7ebc2d6b 35198
d8ba3667 351992009-04-13 Felix Zielcke <fzielcke@z-51.de>
35200
35201 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35202
cba416eb 352032009-04-13 Robert Millan <rmh@aybabtu.com>
35204
35205 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35206 to Linux, simply abort telling the user it's no longer supported.
35207
a547a745 352082009-04-13 Felix Zielcke <fzielcke@z-51.de>
35209
35210 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35211 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35212 `freebsd_loadenv' only when devices.hints exist.
35213
232a769c 352142009-04-13 Pavel Roskin <proski@gnu.org>
35215
35216 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35217
c3012039 352182009-04-13 Felix Zielcke <fzielcke@z-51.de>
35219
35220 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35221 partition number.
35222 (grub_drive): Likewise.
35223
234022fe 352242009-04-13 David S. Miller <davem@davemloft.net>
35225
35226 * kern/sparc64/ieee1275/ieee1275.c: New file.
35227 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35228 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35229 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35230 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35231 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35232 grub_ieee1275_alloc_physmem): Declare new exported functions.
35233
d8e1836c 35234 * include/grub/sparc64/ieee1275/loader.h: New file.
35235 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35236 * include/grub/sparc64/kernel.h: Likewise.
35237 * loader/sparc64/ieee1275/linux.c: Likewise.
35238
96bd81ec 35239 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35240 (grub_fstest_SOURCES): Likewise.
35241
6a4737e5 35242 * util/hostdisk.c (make_device_name): Do not make any assumptions
35243 about the length of drive names.
35244
1d7a72fd 35245 * kern/dl.c (grub_dl_load_file): Close file immediately when
35246 we are done using it.
35247
56bc2471 352482009-04-12 David S. Miller <davem@davemloft.net>
35249
35250 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35251 values. Noticed by Pavel Roskin.
35252
df38d0bb 35253 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35254 target compiler.
7dd4a573 35255
e382e93a 35256 * genmk.rb: Add more flexible image type specification, also
35257 pass --strip-unneeded to objcopy.
35258 * conf/i386-pc.rmk: Use *_FORMAT.
35259 * conf/i386-pc.mk: Rebuilt.
35260
f5dbbca9 35261 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35262 (OFDISK_HASH_SZ): Define.
35263 (ofdisk_hash): New hash table.
35264 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35265 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35266 instead of device phandle which is not unique.
35267
91c88b12 35268 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35269 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35270 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35271 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35272 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35273 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35274 GRUB_KERNEL_MACHINE_DATA_END): Define.
35275 (grub_kernel_image_size, grub_total_module_size): Declare.
35276
5b5d4aa5 352772009-04-12 Pavel Roskin <proski@gnu.org>
35278
7dd4a573 35279 * configure.ac: Change the logic when we check for target tools.
35280 Do it when the target is specified and it's different from the
35281 specified value of the host.
5b5d4aa5 35282
c91e1793 352832009-04-11 Felix Zielcke <fzielcke@z-51.de>
35284
35285 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35286 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35287 GNU/kFreeBSD. Check if a device is a character device. Use
35288 DIOCGMEDIASIZE to get the size.
35289 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35290 support for GNU/kFreeBSD.
35291 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35292 is a character device instead of a block device. Add support for
35293 FreeBSD device names.
35294
35295 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35296 is a character device instead of a block device.
35297
35298 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35299 is a character device instead of a block device.
35300
b1ac8644 353012009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35302
35303 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35304 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35305 FreeBSD. Check if a device is a character device. Use
35306 DIOCGMEDIASIZE to get the size.
35307 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35308 support for FreeBSD.
35309 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35310 is a character device instead of a block device. Add support for
35311 FreeBSD device names.
35312
35313 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35314 a character device instead of a block device.
35315 (grub_util_check_char_device): New function.
35316
35317 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35318 a character device instead of a block device.
35319
35320 * include/grub/util/getroot.h (grub_util_check_char_device): New
35321 prototype.
35322
a3f7515a 353232009-04-11 David S. Miller <davem@davemloft.net>
35324
35325 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35326 static libgcc.
35327 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35328 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35329 function, if present.
35330 (__bswapdi2): Likewise.
35331
0d44993d 35332 * include/grub/sparc64/ieee1275/boot.h: New file.
35333 * boot/sparc64/ieee1275/boot.S: Likewise.
35334 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35335
ed3d2bc2 35336 * kern/misc.c (grub_ltoa): New function.
35337 (grub_vsprintf): Use it to format 'long' integers.
35338
d3bfb59c 353392009-04-10 David S. Miller <davem@davemloft.net>
35340
35341 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35342 slots are of type grub_ieee1275_cell_t.
35343 (grub_nand_read): Likewise.
35344 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35345 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35346 macros are used to compare values in arg/ret block of the call.
35347 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35348 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35349 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35350 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35351 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35352 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35353 grub_ieee1275_close, grub_ieee1275_set_property,
35354 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35355 grub_ieee1275_cell_t.
35356 * kern/ieee1275/openfw.c (grub_map): Likewise.
35357 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35358 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35359
450e2238 35360 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35361 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35362 (grub_devalias_iterate): Likewise.
35363
7dd4a573 353642009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35365
35366 UFS improvements
35367
35368 * fs/ufs.c (INODE_NBLOCKS): new definition
35369 (struct grub_ufs_dirent): added fields for non-BSD dirents
35370 (grub_ufs_get_file_block): fixed double indirect handling
35371 (grub_ufs_lookup_symlink): use more robust way to determine whether
35372 symlink is inline
35373 (grub_ufs_find_file): support for non-BSD dirents
35374 (grub_ufs_dir): support for non-BSD dirents
35375
e7e6862a 353762009-04-10 Bean <bean123ch@gnail.com>
35377
35378 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35379 attribute, otherwise the size would be wrong for i386 platform.
35380
35381 * include/grub/pci.h (grub_pci_read_word): New inline function.
35382 (grub_pci_read_byte): Likewise.
35383 (grub_pci_write): Likewise.
35384 (grub_pci_write_word): Likewise.
35385 (grub_pci_write_byte): Likewise.
35386
35387 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35388
35389 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35390 (find_framebuf): Scan pci to locate the frame buffer address.
35391
35392 * commands/efi/fixvideo.c: New file.
35393
35394 * commands/efi/loadbios.c: Likewise.
35395
35396 * commands/memrw.c: Likewise.
35397
35398 * util/grub-dumpbios.in: Likewise.
35399
35400 * conf/common.rmk (grub-dumpbios): New utility.
35401 (pkglib_MODULES): New module memrw.mod.
35402 (memrw_mod_SOURCE): New macro.
35403 (memrw_mod_CFLAGS): Likewise.
35404 (memrw_mod_LDFLAGS): Likewise.
35405
7dd4a573 35406 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35407 fixvideo.mod.
35408 (loadbios_mod_SOURCE): New macro.
35409 (loadbios_mod_CFLAGS): Likewise.
35410 (loadbios_mod_LDFLAGS): Likewise.
35411 (fixvideo_mod_SOURCE): Likewise.
35412 (fixvideo_mod_CFLAGS): Likewise.
35413 (fixvideo_mod_LDFLAGS): Likewise.
35414
7dd4a573 35415 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35416 fixvideo.mod.
35417 (loadbios_mod_SOURCE): New macro.
35418 (loadbios_mod_CFLAGS): Likewise.
35419 (loadbios_mod_LDFLAGS): Likewise.
35420 (fixvideo_mod_SOURCE): Likewise.
35421 (fixvideo_mod_CFLAGS): Likewise.
35422 (fixvideo_mod_LDFLAGS): Likewise.
35423
af63ada2 354242009-04-08 Felix Zielcke <fzielcke@z-51.de>
35425
35426 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35427
c2cdde70 354282009-04-07 David S. Miller <davem@davemloft.net>
35429
35430 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35431 support for R_SPARC_OLO10 relocations. Fix compile warning for
35432 R_SPARC_WDISP30 case.
ea3f72cf 35433 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35434
761319cf 354352009-04-06 Pavel Roskin <proski@gnu.org>
35436
1007d1f5 35437 * include/grub/misc.h (ARRAY_SIZE): New macro.
35438 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35439 New macro.
35440 * loader/i386/linux.c (allocate_pages): Use free_pages().
35441 (grub_linux_unload): Don't use free_pages().
35442 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35443 wrong index. Treat all other modes as text modes.
35444 (grub_cmd_linux): Initialize vid_mode unconditionally to
35445 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35446
761319cf 35447 * commands/help.c (print_command_help): Use cmd->prio, not
35448 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35449
ea761d40 354502009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35451
ea761d40 35452 Parttool
35453
35454 * parttool/pcpart.c: new file
35455 * commands/parttool.c: likewise
35456 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35457 (parttool_mod_SOURCES): new variable
35458 (parttool_mod_CFLAGS): likewise
35459 (parttool_mod_LDFLAGS): likewise
35460 (pcpart_mod_SOURCES): likewise
35461 (pcpart_mod_CFLAGS): likewise
35462 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35463 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35464 and parttool/pcpart.c
35465 * conf/i386-efi.rmk: likewise
35466 * conf/i386-ieee1275.rmk: likewise
35467 * conf/i386-pc.rmk: likewise
35468 * conf/powerpc-ieee1275.rmk: likewise
35469 * conf/sparc64-ieee1275.rmk: likewise
35470 * conf/x86_64-ieee1275.rmk: likewise
35471
05aaebfb 354722009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35473
35474 Support for mtime and further expandability of dir command
35475
35476 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35477 * include/grub/datetime.h: ... moved here and added
05aaebfb 35478 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35479 * include/grub/fs.h: new syntax for dir and mtime functions in
35480 struct grub_fs
05aaebfb 35481 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35482 and GRUB_FSHELP_FLAGS_MASK
35483 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35484 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35485 (grub_ext2_mtime): new function
35486 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35487 (grub_hfsplus_mtime): new function
35488 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35489 (GRUB_UFS_ATTR_FILE): likewise
35490 (GRUB_UFS_ATTR_LNK): likewise
35491 (struct grub_ufs_sblock): new fields mtime
35492 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35493 all users updated
35494 (grub_ufs_dir): mtime support
35495 (grub_ufs_mtime): new function
35496 * fs/affs.c (grub_affs_dir): use new dir syntax
35497 * fs/afs.c (grub_afs_dir): likewise
35498 * fs/cpio.c (grub_cpio_dir): likewise
35499 * fs/fat.c (grub_fat_find_dir): likewise
35500 * fs/hfs.c (grub_hfs_dir): likewise
35501 * fs/iso9660.c (grub_iso9660_dir): likewise
35502 * fs/jfs.c (grub_jfs_dir): likewise
35503 * fs/minix.c (grub_minix_dir): likewise
35504 * fs/ntfs.c (grub_ntfs_dir): likewise
35505 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35506 * fs/sfs.c (grub_sfs_dir): likewise
35507 * fs/xfs.c (grub_xfs_dir): likewise
35508 * util/hostfs.c (grub_hostfs_dir): likewise
35509 * lib/datetime.c: moved to ...
35510 * normal/datetime.c: ... moved here
35511 (grub_unixtime2datetime): new function
35512 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35513 * normal/completion.c (iterate_dir): use new dir syntax
35514 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35515 last modification time of a volume
7dd4a573 35516 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35517 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35518 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35519 (normal_mod_SOURCES): likewise
35520 (datetime_mod_SOURCES): Removed lib/datetime.c
35521 * conf/i386-efi.rmk: likewise
7dd4a573 35522 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35523 * conf/i386-pc.rmk: likewise
35524 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35525 * conf/sparc64-ieee1275.rmk: likewise
35526 * conf/x86_64-efi.rmk: likewise
05aaebfb 35527
8a7e1a14 355282009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35529
35530 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35531
35532 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35533 on grub_fat_find_dir
35534 (grub_fat_find_dir): use grub_fat_iterate_dir
35535 (grub_fat_label): likewise
35536
04186a9c 355372009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35538
7dd4a573 35539 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35540 and command.h
35541 remove extraneous kernel_elf_HEADERS
35542
da4c0bb6 355432009-04-04 Bean <bean123ch@gnail.com>
35544
35545 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35546
35547 * util/misc.c: Likewise.
35548
54ad9555 355492009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35550
35551 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35552 instead of grub_printf.
35553
7a6bf9f2 355542009-04-03 Robert Millan <rmh@aybabtu.com>
35555
35556 * loader/i386/linux.c (grub_linux_setup_video): Fill
35557 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35558 values from `mode info' structure instead of hardcoded
35559 values.
35560
3fcc2083 355612009-04-01 Pavel Roskin <proski@gnu.org>
35562
35563 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35564 unused now.
35565 * genmk.rb: Likewise.
35566 * configure.ac: Likewise.
35567
5ec9740b 355682009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35569
35570 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35571 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35572
5270cec8 355732009-04-01 David S. Miller <davem@davemloft.net>
35574
35575 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35576 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35577 (grub_setjmp): Mark with 'returns_twice' attribute.
35578 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35579 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35580 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35581
9c3dd854 355822009-04-01 Robert Millan <rmh@aybabtu.com>
35583
35584 Reapply fix from 2008-07-28 which was accidentally reverted; also
35585 perform the same fix to a similar check in same function.
35586
35587 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35588 with the same number are found, just use issue a warning with
35589 grub_dprintf(), as this error has been reported to be non-fatal.
35590
0d818b7e 355912009-03-31 Pavel Roskin <proski@gnu.org>
35592
35593 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35594 for cross-compilation.
35595
95646d92 355962009-03-30 Robert Millan <rmh@aybabtu.com>
35597
35598 Fix i386-ieee1275 build.
35599
35600 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35601 Remove declaration.
35602
6a003ed1 356032009-03-30 Pavel Roskin <proski@gnu.org>
35604
35605 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35606 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35607 zero-terminated, rely only on the strlen value. Fix comparison
35608 of strings differing in length.
35609
92f33540 356102009-03-30 Robert Millan <rmh@aybabtu.com>
35611
35612 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35613 checking for abi version. Improve error messages on BIOS to notify
35614 user about `linux16' command.
35615
a8c48fd5 356162009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35617
f968172e 35618 Leak fixes
a8c48fd5 35619
f968172e 35620 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35621 in case of collision
35622 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35623
9c323f09 356242009-03-29 Robert Millan <rmh@aybabtu.com>
35625
35626 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35627 set `vid_mode' accordingly.
35628 (grub_linux_boot): Process `vid_mode' and set video mode.
35629
ae68f423 356302009-03-29 Robert Millan <rmh@aybabtu.com>
35631
35632 * util/grub.d/10_linux.in (linux_entry): New function.
35633 Factorize generation of Linux boot entries.
35634
5709cfc4 356352009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35636
35637 Make the format of Environment Block plain text. The boot loader
35638 part is not tested well yet.
7dd4a573 35639
5709cfc4 35640 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35641 (buffer): Removed.
35642 (envblk): Likewise.
35643 (usage): Remove "info" and "clear". Add "unset". Update the
35644 description of "set", as this does not delete variables any
35645 longer.
35646 (create_envblk_file): Complete rewrite.
35647 (open_envblk_file): Likewise.
35648 (cmd_info): Removed.
35649 (cmd_list): Likewise.
35650 (cmd_set): Likewise.
35651 (cmd_clear): Likewise.
35652 (list_variables): New function.
35653 (write_envblk): Likewise.
35654 (set_variables): Likewise.
35655 (unset_variables): Likewise.
35656 (main): Complete rewrite.
35657
35658 * commands/loadenv.c (buffer): Removed.
35659 (envblk): Likewise.
35660 (open_envblk_file): New function.
35661 (read_envblk_file): Complete rewrite.
35662 (grub_cmd_load_env): Likewise.
35663 (grub_cmd_list_env): Likewise.
35664 (struct blocklist): New struct.
35665 (free_blocklists): New function.
35666 (check_blocklists): Likewise.
35667 (write_blocklists): Likewise.
35668 (grub_cmd_save_env): Complete rewrite.
35669
35670 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35671 a plain text signature.
35672 (GRUB_ENVBLK_MAXLEN): Removed.
35673 (struct grub_envblk): Complete rewrite.
35674 (grub_envblk_find): Removed.
35675 (grub_envblk_insert): Likewise.
35676 (grub_envblk_open): New prototype.
35677 (grub_envblk_set): Likewise.
35678 (grub_envblk_delete): Put const to VALUE.
35679 (grub_envblk_iterate): Put const to NAME and VALUE.
35680 (grub_envblk_close): New prototype.
35681 (grub_envblk_buffer): New inline function.
35682 (grub_envblk_size): Likewise.
35683
35684 * lib/envblk.c: Include grub/mm.h.
35685 (grub_env_find): Removed.
35686 (grub_envblk_open): New function.
35687 (grub_envblk_close): Likewise.
35688 (escaped_value_len): Likewise.
35689 (find_next_line): Likewise.
35690 (grub_envblk_insert): Removed.
35691 (grub_envblk_set): New function.
35692 (grub_envblk_delete): Complete rewrite.
35693 (grub_envblk_iterate): Likewise.
35694
a9368fd3 356952009-03-28 Robert Millan <rmh@aybabtu.com>
35696
35697 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35698 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35699 variables. Use 16-bit loader.
35700 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35701 loader.
35702 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35703 (grub_linux16_boot): ... this. Update all users.
35704 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35705 (grub_linux_boot): ... this. Update all users.
35706
35707 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35708 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35709 commands to `linux16' and `initrd16'.
35710 (GRUB_MOD_FINI(linux)): Rename to ...
35711 (GRUB_MOD_FINI(linux16)): ... this.
35712
e4dd5a7e 357132009-03-24 Pavel Roskin <proski@gnu.org>
35714
35715 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35716 not just for compilation.
35717
c04d6e05 357182009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35719
35720 Move multiboot helper out of kernel
35721
35722 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35723 `loader/i386/multiboot_helper.S'.
35724 * conf/i386-coreboot.rmk: Likewise
35725 * conf/i386-ieee1275.rmk: Likewise
35726
35727 * kern/i386/loader.S: Move multiboot helpers from here...
35728 * loader/i386/multiboot_helper.S: ...moved here
35729 * include/grub/i386/loader.h: Move declarations of multiboot
35730 helpers from here...
35731 * include/grub/i386/multiboot.h: ...moved here
35732 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35733
42a5b3fc 357342009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35735
35736 * kern/env.c (grub_env_context_open): Added an argument to specify
35737 whether a new context inherits exported variables from current
35738 one. This is useful when making a sandbox to interpret a config
35739 file.
35740 All callers updated.
35741
35742 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35743
b28bbc4e 357442009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35745
35746 * kern/env.c (grub_env_context_close): Fix memory leaks.
35747
f04f02e4 357482009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35749
35750 * normal/main.c (grub_normal_execute): Added an argument
35751 BATCH to specify if an interactive interface should be provided
35752 after reading a config file.
35753 All callers updated.
35754 (read_command_list): Prevent being executed twice.
35755 (read_fs_list): Likewise.
35756
42a5b3fc 35757 * include/grub/normal.h (grub_normal_execute): Updated the
35758 prototype.
f04f02e4 35759
41473ac2 357602009-03-22 Pavel Roskin <proski@gno.org>
35761
fbc00b0c 35762 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35763 _start.
35764 * kern/i386/pc/startup.S: Likewise.
35765 * kern/i386/efi/startup.S: Likewise.
35766 * kern/i386/ieee1275/startup.S: Likewise.
35767 * kern/i386/coreboot/startup.S: Likewise.
35768 * kern/x86_64/efi/startup.S: Likewise.
35769
41473ac2 35770 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35771 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35772 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35773
2274cc8f 357742009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35775
35776 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35777
35778 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35779 limit detection.
35780 Use vaddr of correct segment for entry_point.
35781
b1b797cb 357822009-03-21 Bean <bean123ch@gmail.com>
35783
35784 * commands/blocklist.c: Add include file <grub/command.h>, remove
35785 <grub/normal.h> and <grub/arg.h>.
35786 (grub_cmd_blocklist): Use the new command interface.
35787 (GRUB_MOD_INIT): Likewise.
35788 (GRUB_MOD_FINI): Likewise.
35789 * commands/boot.c: Likewise.
35790 * commands/cat.c: Likewise.
35791 * commands/cmp.c: Likewise.
35792 * commands/configfile.c: Likewise.
35793 * commands/crc.c: Likewise.
35794 * commands/echo.c: Likewise.
35795 * commands/halt.c: Likewise.
35796 * commands/handler.c: Likewise.
35797 * commands/hdparm.c: Likewise.
35798 * commands/help.c: Likewise.
35799 * commands/hexdump.c: Likewise.
35800 * commands/loadenv.c: Likewise.
35801 * commands/ls.c: Likewise.
35802 * commands/lsmmap.c: Likewise.
35803 * commands/lspci.c: Likewise.
35804 * commands/loadenv.c: Likewise.
35805 * commands/read.c: Likewise.
35806 * commands/reboot.c: Likewise.
35807 * commands/search.c: Likewise.
35808 * commands/sleep.c: Likewise.
35809 * commands/test.c: Likewise.
35810 * commands/usbtest.c: Likewise.
35811 * commands/videotest.c: Likewise.
35812 * commands/i386/cpuid.c: Likewise.
35813 * commands/i386/pc/halt.c: Likewise.
35814 * commands/i386/pc/play.c: Likewise.
35815 * commands/i386/pc/pxecmd.c: Likewise.
35816 * commands/i386/pc/vbeinfo.c: Likewise.
35817 * commands/i386/pc/vbetest.c: Likewise.
35818 * commands/ieee1275/suspend.c: Likewise.
35819 * disk/loopback.c: Likewise.
35820 * font/font_cmd.c: Likewise.
35821 * hello/hello.c: Likewise.
35822 * loader/efi/appleloader.c: Likewise.
35823 * loader/efi/chainloader.c: Likewise.
35824 * loader/i386/bsd.c: Likewise.
35825 * loader/i386/efi/linux.c: Likewise.
35826 * loader/i386/ieee1275/linux.c: Likewise.
35827 * loader/i386/linux.c: Likewise.
35828 * loader/i386/pc/chainloader.c: Likewise.
35829 * loader/i386/pc/linux.c: Likewise.
35830 * loader/powerpc/ieee1275/linux.c: Likewise.
35831 * loader/multiboot_loader.c: Likewise.
35832 * term/gfxterm.c: Likewise.
35833 * term/i386/pc/serial.c: Likewise.
35834 * term/terminfo.c: Likewise.
35835
35836 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35837 * term/i386/pc/vga.c: Likewise.
35838 * video/readers/jpeg.c: Likewise.
35839 * video/readers/png.c: Likewise.
35840 * video/readers/tga.c: Likewise.
35841
35842 * util/grub-fstest (cmd_loopback): Removed.
35843 (cmd_blocklist): Likewise.
35844 (cmd_ls): Likewise.
35845 (grub_register_command): Likewise.
35846 (grub_unregister_command): Likewise.
35847 (execute_command): Use grub_command_find to locate command and execute
35848 it.
35849
35850 * include/grub/efi/chainloader.h: Removed.
35851 * loader/efi/chainloader_normal.c: Likewise.
35852 * loader/i386/bsd_normal.c: Likewise.
35853 * loader/i386/pc/chainloader_normal.c: Likewise.
35854 * loader/i386/pc/multiboot_normal.c: Likewise.
35855 * loader/linux_normal.c: Likewise.
35856 * loader/multiboot_loader_normal.c: Likewise.
35857 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35858
35859 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35860 and grub_register_command_p1.
35861
35862 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35863 kern/command.c, lib/arg.c and commands/extcmd.c.
35864 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35865 (minicmd_mod_SOURCES): New variable.
35866 (minicmd_mod_CFLAGS): Likewise.
35867 (minicmd_mod_LDFLAGS): Likewise.
35868 (extcmd_mod_SOURCES): Likewise.
35869 (extcmd_mod_CFLAGS): Likewise.
35870 (extcmd_mod_LDFLAGS): Likewise.
35871 (boot_mod_SOURCES): Removed.
35872 (boot_mod_CFLAGS): Likewise.
35873 (boot_mod_LDFLAGS): Likewise.
35874
35875 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35876 kern/corecmd.c.
35877 (kernel_img_HEADERS): Add command.h.
35878 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35879 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35880 and lib/arg.c.
35881 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35882 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35883 remove the corresponding normal mode command.
35884 (normal_mod_SOURCES): Remove normal/arg.c.
35885 * conf/i386-coreboot.rmk: Likewise.
35886 * conf/i386-efi.rmk: Likewise.
35887 * conf/i386-ieee1275.rmk: Likewise.
35888 * conf/powerpc-ieee1275.rmk: Likewise.
35889 * conf/x86_64-efi.rmk: Likewise.
35890
35891 * include/grub/arg.h: Move from here ...
35892 * include/grub/lib/arg.h: ... to here.
35893
35894 * normal/arg.c: Move from here ...
35895 * lib/arg.c: ... to here.
35896
35897 * commands/extcmd.c: New file.
35898 * commands/minicmd.c: Likewise.
35899 * include/grub/command.h: Likewise.
35900 * include/grub/extcmd.h: Likewise.
35901 * kern/command.c: Likewise.
35902 * kern/corecmd.c: Likewise.
35903
35904 * kern/list.c (grub_list_iterate): Return int instead of void.
35905 (grub_list_insert): New function.
35906 (grub_prio_list_insert): Likewise.
35907
35908 * kern/rescue.c (grub_rescue_command): Removed.
35909 (grub_rescue_command_list): Likewise.
35910 (grub_rescue_register_command): Likewise.
35911 (grub_rescue_unregister_command): Likewise.
35912 (grub_rescue_cmd_boot): Move to minicmd.c
35913 (grub_rescue_cmd_help): Likewise.
35914 (grub_rescue_cmd_info): Likewise.
35915 (grub_rescue_cmd_boot): Likewise.
35916 (grub_rescue_cmd_testload): Likewise.
35917 (grub_rescue_cmd_dump): Likewise.
35918 (grub_rescue_cmd_rmmod): Likewise.
35919 (grub_rescue_cmd_lsmod): Likewise.
35920 (grub_rescue_cmd_exit): Likewise.
35921 (grub_rescue_print_devices): Moved to corecmd.c.
35922 (grub_rescue_print_files): Likewise.
35923 (grub_rescue_cmd_ls): Likewise.
35924 (grub_rescue_cmd_insmod): Likewise.
35925 (grub_rescue_cmd_set): Likewise.
35926 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35927 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35928 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35929 commands, remove grub_rescue_register_command calls.
b1b797cb 35930
7d074e3c 35931 * normal/command.c (grub_register_command): Removed.
b1b797cb 35932 (grub_unregister_command): Likewise.
35933 (grub_command_find): Likewise.
35934 (grub_iterate_commands): Likewise.
35935 (rescue_command): Likewise.
35936 (export_command): Moved to corecmd.c.
35937 (set_command): Removed.
35938 (unset_command): Likewise.
35939 (insmod_command): Likewise.
35940 (rmmod_command): Likewise.
35941 (lsmod_command): Likewise.
35942 (grub_command_init): Likewise.
35943
35944 * normal/completion.c (iterate_command): Use cmd->prio to check for
35945 active command.
35946 (complete_arguments): Use grub_extcmd_t structure to find options.
35947 (grub_normal_do_completion): Change function grub_iterate_commands to
35948 grub_command_iterate.
35949
35950 * normal/execute.c (grub_script_execute_cmd): No need to parse
35951 argument here.
35952
35953 * normal/main.c (grub_dyncmd_dispatcher): New function.
35954 (read_command_list): Register unload commands as dyncmd.
35955 (grub_cmd_normal): Use new command interface, register rescue,
35956 unregister normal at entry, register normal, unregister rescue at exit.
35957
35958 * include/grub/list.h (grub_list_test_t): New type.
35959 (grub_list_iterate): Return int instead of void.
35960 (grub_list_insert): New function.
35961 (GRUB_AS_NAMED_LIST_P): New macro.
35962 (GRUB_AS_PRIO_LIST): Likewise.
35963 (GRUB_AS_PRIO_LIST_P): Likewise.
35964 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35965 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35966 (grub_prio_list): New structure.
35967 (grub_prio_list_insert): New function.
35968 (grub_prio_list_remove): New inline function.
35969
35970 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35971 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35972 (GRUB_COMMAND_FLAG_MENU): Likewise.
35973 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35974 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35975 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35976 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35977 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35978 (grub_command): Likewise.
35979 (grub_register_command): Likewise.
35980 (grub_command_find): Likewise.
35981 (grub_iterate_commands): Likewise.
35982 (grub_command_init): Likewise.
35983 (grub_arg_parse): Likewise.
35984 (grub_arg_show_help): Likewise.
35985
35986 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35987 (grub_rescue_unregister_command): Likewise.
35988
35989 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35990 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35991 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35992
35993 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35994 grub_rescue_cmd_initrd.
35995 * include/grub/i386/loader.h: Likewise.
35996 * include/grub/x86_64/loader.h: Likewise.
35997
35998 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35999
1f4147aa 360002009-03-21 Bean <bean123ch@gmail.com>
36001
36002 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36003 instead of stat in mingw environment.
36004
36005 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36006
36007 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36008
36009 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36010 AC_CONFIG_LINKS.
36011
2156d5ba 360122009-03-21 Bean <bean123ch@gmail.com>
36013
36014 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36015 out of range error.
36016
177b82ca 360172009-03-18 Michel Dänzer <michel@daenzer.net>
36018
36019 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36020 checking inode flags for EXT4_EXTENTS_FLAG.
36021
14aad807 360222009-03-18 Robert Millan <rmh@aybabtu.com>
36023
36024 * loader/i386/linux.c: Include `<grub/video.h>' and
36025 `<grub/i386/pc/vbe.h>'..
36026 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36027 (grub_linux32_boot): Attempt to configure video settings with
36028 grub_linux_setup_video().
36029 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36030 to avoid grub_console_fini() which would step out of graphical mode
36031 unconditionally.
36032
8cf83a27 360332009-03-14 Robert Millan <rmh@aybabtu.com>
36034
36035 Fix build on powerpc.
36036 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36037
40164e75 360382009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36039
36040 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36041 background image command.
36042
c58bc32a 360432009-03-12 Colin D Bennett <colin@gibibit.com>
36044
36045 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36046 (grub_gfxterm_putchar): Extract pairs of identical calls to
36047 draw_cursor out of conditional blocks.
36048
5415144a 360492009-03-11 Pavel Roskin <proski@gnu.org>
36050
36051 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36052 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36053
6394042e 360542009-03-11 Robert Millan <rmh@aybabtu.com>
36055
36056 * loader/i386/multiboot_elfxx.c
36057 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36058
b7b50e5f 360592009-03-11 Felix Zielcke <fzielcke@z-51.de>
36060
36061 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36062 `kern/handler.c'.
36063
1ca7fc96 360642009-03-11 Robert Millan <rmh@aybabtu.com>
36065
36066 * loader/i386/multiboot.c (code_size): New variable.
36067 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36068 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36069 4-byte alignment to MBI and others by increasing
7d074e3c 36070 `boot_loader_name_length' appropriately.
1ca7fc96 36071
36072 * loader/i386/multiboot_elfxx.c
36073 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36074
a83ea1d2 360752009-03-09 Felix Zielcke <fzielcke@z-51.de>
36076
36077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36078 `fs/ext2.c'.
36079
aa9f3bff 360802009-03-08 Robert Millan <rmh@aybabtu.com>
36081
36082 Make loader/i386/linux.c usable on i386-pc again.
36083
36084 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36085 memory to heap.
36086 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36087 `#error' stanza.
36088
d8b3b60e 360892009-03-07 Bean <bean123ch@gmail.com>
36090
36091 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36092 allocation.
36093
b362c9e9 360942009-03-06 Robert Millan <rmh@aybabtu.com>
36095
36096 Fix display issue on terminals with screen size other than 80x25
36097 (e.g. gfxterm with resolution higher than 640x480).
36098
36099 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36100 position relative to the center of the terminal instead of relying
b362c9e9 36101 on a hardcoded offset.
36102
9304eef1 361032009-03-04 Robert Millan <rmh@aybabtu.com>
36104
36105 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36106 installed.
36107
36108 * Makefile.in (host_kernel): New variable.
36109 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36110 scripts instead of just the windows one.
36111 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36112
eabc95fb 361132009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36114
36115 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36116 `kern/handler.c'.
36117 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36121 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36122 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36123
ceb1223c 361242009-03-04 Felix Zielcke <fzielcke@z-51.de>
36125
36126 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36127 or if there's no space for the disk label and print the partition number on a
36128 invalid magic.
36129
4910684a 361302009-03-04 Felix Zielcke <fzielcke@z-51.de>
36131
36132 * util/misc.c: Include <time.h>.
36133 (grub_millisleep): New function.
36134
7e9ca17a 361352009-03-04 Bean <bean123ch@gmail.com>
36136
36137 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36138 another option -mno-red-zone.
36139
36140 * commands/handler.c: Change module description.
36141
36142 * kern/handler.c: Add missing space at the end of description line.
36143
36144 * kern/list.c: Likewise.
36145
f501677c 361462009-03-03 Robert Millan <rmh@aybabtu.com>
36147
36148 Move more components to the relocation area, and fix mbi pointer
36149 handling to use the destination rather than the origin (thanks to
36150 Vladimir Serbinenko for spotting).
36151
36152 * loader/i386/multiboot.c (mbi_dest): New variable.
36153 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36154 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36155 relocation area.
36156
9902d047 361572009-03-01 Bean <bean123ch@gmail.com>
36158
50fb7002 36159 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36160 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36161 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36162 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36163
36164 * loader/i386/efi/linux.c (acpi_guid): New variable.
36165 (acpi_guid): Likewise.
36166 (EBDA_SEG_ADDR): New constant.
36167 (LOW_MEM_ADDR): Likewise.
36168 (FAKE_EBDA_SEG): Likewise.
36169 (fake_bios_data): New function.
36170 (grub_linux_boot): Call fake_bios_data.
36171
71b9f361 361722009-03-01 Bean <bean123ch@gmail.com>
36173
36174 * commands/terminal.c: Removed.
36175
36176 * commands/handler.c: New file.
36177
36178 * include/grub/list.h: Likewise.
36179
36180 * include/grub/handler.h: Likewise.
36181
36182 * kern/list.c: Likewise.
36183
36184 * kern/handler.c: Likewise.
36185
36186 * kern/term.h: Include header file <grub/handler.h>.
36187 (grub_term_input): Move next field to the beginning.
36188 (grub_term_output): Likewise.
36189 (grub_term_input_class): New variable.
36190 (grub_term_output_class): Likewise.
36191 (grub_term_register_input): Changed to inline function.
36192 (grub_term_register_output): Likewise.
36193 (grub_term_unregister_input): Likewise.
36194 (grub_term_unregister_output): Likewise.
36195 (grub_term_set_current_input): Likewise.
36196 (grub_term_set_current_output): Likewise.
36197 (grub_term_get_current_input): Likewise.
36198 (grub_term_get_current_output): Likewise.
36199 (grub_term_iterate_input): Removed.
36200 (grub_term_iterate_output): Likewise.
36201
36202 * kern/term.c (grub_term_list_input): Removed.
36203 (grub_term_list_output): Likewise.
36204 (grub_term_input_class): New variable.
36205 (grub_term_output_class): Likewise.
50fb7002 36206 (grub_cur_term_input): Change variable as macro.
71b9f361 36207 (grub_cur_term_output): Likewise.
36208 (grub_term_register_input): Removed.
36209 (grub_term_register_output): Likewise.
36210 (grub_term_unregister_input): Likewise.
36211 (grub_term_unregister_output): Likewise.
36212 (grub_term_set_current_input): Likewise.
36213 (grub_term_set_current_output): Likewise.
36214 (grub_term_iterate_input): Likewise.
36215 (grub_term_iterate_output): Likewise.
36216 (grub_term_get_current_input): Likewise.
36217 (grub_term_get_current_output): Likewise.
36218
36219 * util/grub-editenv.c: Include header file <grub/handler.h>.
36220 (grub_term_get_current_input): Removed.
36221 (grub_term_get_current_output): Likewise.
36222 (grub_term_input_class): New variable.
50fb7002 36223 (grub_term_output_class): Likewise.
71b9f361 36224
36225 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36226 (grub_term_get_current_output): Likewise.
36227 (grub_term_input_class): New variable.
50fb7002 36228 (grub_term_output_class): Likewise.
71b9f361 36229
36230 * util/grub-probe.c (grub_term_get_current_input): Removed.
36231 (grub_term_get_current_output): Likewise.
36232 (grub_term_input_class): New variable.
50fb7002 36233 (grub_term_output_class): Likewise.
71b9f361 36234
36235 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36236 (grub_term_get_current_output): Likewise.
36237 (grub_term_input_class): New variable.
50fb7002 36238 (grub_term_output_class): Likewise.
71b9f361 36239
36240 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36241 (terminal_mod_SOURCES): Likewise.
36242 (terminal_mod_CFLAGS): Likewise.
36243 (terminal_mod_LDFLAGS): Likewise.
36244
36245 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36246 handler.c.
36247 (kernel_img_SOURCES): Add list.c and handler.c.
36248 (kernel_img_HEADERS): Add list.h and handler.h.
36249
36250 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36251 handler.c.
36252 (kernel_mod_SOURCES): Add list.c and handler.c.
36253 (kernel_mod_HEADERS): Add list.h and handler.h.
36254
36255 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36256 handler.c.
36257 (kernel_elf_SOURCES): Add list.c and handler.c.
36258 (kernel_elf_HEADERS): Add list.h and handler.h.
36259
36260 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36261 handler.c.
36262 (kernel_elf_SOURCES): Add list.c and handler.c.
36263 (kernel_elf_HEADERS): Add list.h and handler.h.
36264
36265 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36266 handler.c.
36267 (kernel_mod_SOURCES): Add list.c and handler.c.
36268 (kernel_mod_HEADERS): Add list.h and handler.h.
36269
36270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36271 handler.c.
36272 (kernel_elf_SOURCES): Add list.c and handler.c.
36273 (kernel_elf_HEADERS): Add list.h and handler.h.
36274
8a31787f 362752009-02-27 Robert Millan <rmh@aybabtu.com>
36276
36277 Factorize elf32 / elf64 code in Multiboot loader. This will
36278 prevent it from getting out of sync again.
36279
36280 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36281 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36282 grub_multiboot_load_elf64): Move from here ...
36283 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36284 grub_multiboot_load_elf): ... to here (new file).
36285
51cd3dfc 362862009-02-27 Robert Millan <rmh@aybabtu.com>
36287
36288 * util/grub.d/10_linux.in: Rename "single-user mode" to
36289 "recovery mode".
36290
6e8c9c3a 362912009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36292
36293 Don't leak in SCSI code.
36294 * disk/scsi.c (grub_scsi_close): free `scsi'.
36295
4b6bf4f9 362962009-02-27 Robert Millan <rmh@aybabtu.com>
36297
36298 * loader/i386/pc/multiboot.c: Move from here ...
36299 * loader/i386/multiboot.c: ... to here. Update all users.
36300
b9413424 363012009-02-27 Robert Millan <rmh@aybabtu.com>
36302
36303 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36304 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36305
50fb7002 363062009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36307
36308 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36309 b-tree.
36310
8cc50345 363112009-02-27 Robert Millan <rmh@aybabtu.com>
36312
36313 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36314 `0x' qualifier as 0 when base is specified as parameter).
36315
6e09b8b7 363162009-02-24 Bean <bean123ch@gmail.com>
36317
36318 * configure.ac: Check for -mcmodel=large in x86_64 target.
36319
36320 * include/grub/efi/api.h (efi_call_10): New macro.
36321 (efi_wrap_10): New function.
36322
36323 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36324 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36325 (GRUB_PE32_REL_BASED_LOW): Likewise.
36326 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36327 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36328 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36329 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36330 (GRUB_PE32_REL_BASED_REL): Likewise.
36331 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36332 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36333 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36334
36335 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36336 issue.
36337
36338 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36339 (efi_wrap_10): New function.
36340
36341 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36342
36343 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36344 MB/MBP model (NV chipset).
36345 (devdata_devs): Add devpath_5 to the list.
36346
36347 * load/i386/efi/linux.c (video_base): Remove variable.
36348 (RGB_MASK): New macro.
36349 (RGB_MAGIC): Likewise.
36350 (LINE_MIN): Likewise.
36351 (LINE_MAX): Likewise.
36352 (FBTEST_STEP): Likewise.
36353 (FBTEST_COUNT): Likewise.
36354 (fb_list): New variable.
36355 (grub_find_video_card): Remove function.
36356 (find_framebuf): New function.
36357 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36358 line length.
36359
36360 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36361 problem for x86_64.
36362
74b21bee 363632009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36364
36365 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36366
36367 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36368 coding tool name.
36369
a455f472 363702009-02-22 Robert Millan <rmh@aybabtu.com>
36371
36372 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36373 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36374 in our relocation, instead of using it directly from heap. Also
36375 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36376
6374daf3 363772009-02-21 Robert Millan <rmh@aybabtu.com>
36378
36379 Implement USB keyboard support (based on patch by Marco Gerards)
36380
36381 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36382 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36383 (usb_keyboard_mod_LDFLAGS): New variables.
36384
36385 * term/usb_keyboard.c: New file.
36386
8fa4ea70 363872009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36388
36389 Corrected wrong declaration
36390
36391 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36392
353976ac 363932009-02-14 Christian Franke <franke@computer.org>
36394
36395 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36396 (grub_lspci_iter): Print class code and programming interface byte.
36397
6aa1169b 363982009-02-14 Christian Franke <franke@computer.org>
36399
36400 * gendistlist.sh: Ignore `.svn' directories.
36401
265372ca 364022009-02-14 Felix Zielcke <fzielcke@z-51.de>
36403
36404 * fs/fat.c: Add 2009 to Copyright line.
36405
9ff516f3 364062009-02-14 Christian Franke <franke@computer.org>
36407
36408 * commands/hdparm.c: New file. Provides `hdparm' command
36409 which sends ATA commands via grub_disk_ata_pass_through ().
36410
36411 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36412
36413 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36414 and <grub/cpu/io.h> to include/grub/ata.h.
36415 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36416 (GRUB_CDROM_SECTOR_SIZE): Remove.
36417 (GRUB_ATA_*): Move to include/grub/ata.h.
36418 (GRUB_ATAPI_*): Likewise.
36419 (enum grub_ata_commands): Likewise.
36420 (enum grub_ata_timeout_milliseconds): Likewise.
36421 (struct grub_ata_device): Likewise.
36422 (grub_ata_regset): Likewise.
36423 (grub_ata_regget): Likewise.
36424 (grub_ata_regset2): Likewise.
36425 (grub_ata_regget2): Likewise.
36426 (grub_ata_check_ready): Likewise.
36427 (grub_ata_wait_not_busy): Remove static, exported in
36428 include/grub/ata.h.
36429 (grub_ata_wait_drq): Likewise.
36430 (grub_ata_pio_read): Likewise.
36431
36432 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36433 function for hdparm.mod.
36434
36435 * include/grub/ata.h: New file, contains declarations from
36436 disk/ata.c.
36437 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36438
36439 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36440 (grub_disk_ata_pass_through): New exported variable.
36441
36442 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36443
772e23da 364442009-02-13 Colin D Bennett <colin@gibibit.com>
36445
36446 Support multiple fallback entries, and provide an API to support
36447 executing default+fallback menu entries. Renamed the `terminal' menu
36448 viewer to `text'.
36449
36450 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36451 variable declaration.
36452 (grub_menu_execute_callback): New structure declaration.
36453 (grub_menu_execute_callback_t): New typedef.
36454 (grub_menu_execute_with_fallback): New function declaration.
36455 (grub_menu_get_entry): Likewise.
36456 (grub_menu_get_timeout): Likewise.
36457 (grub_menu_set_timeout): Likewise.
36458
36459 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36460
36461 * normal/menu.c (grub_wait_after_message): Moved to
36462 `normal/menu_text.c'.
36463 (draw_border): Likewise.
36464 (print_message): Likewise.
36465 (print_entry): Likewise.
36466 (print_entries): Likewise.
36467 (grub_menu_init_page): Likewise.
36468 (get_entry_number): Likewise.
36469 (print_timeout): Likewise.
36470 (run_menu): Likewise.
36471 (grub_menu_execute_entry): Likewise.
36472 (show_text_menu): Likewise.
36473 (get_and_remove_first_entry_number): New function.
36474 (grub_menu_execute_with_fallback): Likewise.
36475 (get_entry): Renamed to ...
36476 (grub_menu_get_entry): .. this and made it global.
36477 (get_timeout): Renamed to ...
36478 (grub_menu_get_timeout): ... this and made it global.
36479 (set_timeout): Renamed to ...
36480 (grub_menu_set_timeout): ... this and made it global.
36481 (grub_normal_terminal_menu_viewer): Renamed to ...
36482 (grub_normal_text_menu_viewer): ... this.
36483
36484 * normal/menu_text.c: New file. Extracted text-menu-specific code
36485 from normal/menu.c.
36486
36487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36488 (normal_mod_SOURCES): Likewise.
36489
36490 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36491 (normal_mod_SOURCES): Likewise.
36492
36493 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36494 (normal_mod_SOURCES): Likewise.
36495
36496 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36497 (normal_mod_SOURCES): Likewise.
36498
36499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36500 (normal_mod_SOURCES): Likewise.
36501
36502 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36503 (normal_mod_SOURCES): Likewise.
36504
36505 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36506 (normal_mod_SOURCES): Likewise.
36507
16ac430e 365082009-02-11 Robert Millan <rmh@aybabtu.com>
36509
36510 * util/grub.d/00_header.in: Update old reference to `font' command.
36511
06ff20fc 365122009-02-10 Felix Zielcke <fzielcke@z-51.de>
36513
36514 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36515
36516 Based on patch from Javier Martín.
36517
96da9407 365182009-02-09 Felix Zielcke <fzielcke@z-51.de>
36519
36520 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36521 to avoid false positives with FAT.
96da9407 36522 (grub_fstest_SOURCES): Likewise.
36523 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36529
6dca6fe4 365302009-02-09 Felix Zielcke <fzielcke@z-51.de>
36531
06ff20fc 36532 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36533 bpb.version_specific.fat12_or_fat16.fstype and
36534 bpb.version_specific.fat32.fstype.
36535
2550c62f 365362009-02-08 Robert Millan <rmh@aybabtu.com>
36537
be110b30 36538 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36539
56978920 365402009-02-08 Robert Millan <rmh@aybabtu.com>
36541
36542 * Makefile.in (host_os, host_cpu): New variables.
36543 (target_os): Remove. Update all users.
36544
d64399b5 365452009-02-08 Marco Gerards <marco@gnu.org>
36546
36547 * Makefile.in (enable_grub_emu_usb): New variable.
36548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36549 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36550 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36551 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36552 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36553 `usbtest.mod' and `usbms.mod'.
36554 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36555 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36556 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36557 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36558 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36559 variables.
36560
36561 * disk/usbms.c: New file.
36562
36563 * include/grub/usb.h: Likewise.
36564
36565 * include/grub/usbtrans.h: Likewise.
36566
36567 * include/grub/usbdesc.h: Likewise.
36568
36569 * bus/usb/usbtrans.c: Likewise.
36570
36571 * bus/usb/ohci.c: Likewise.
36572
36573 * bus/usb/uhci.c: Likewise.
36574
36575 * bus/usb/usbhub.c: Likewise.
36576
36577 * bus/usb/usb.c: Likewise.
36578
36579 * commands/usbtest.c: Likewise.
36580
36581 * util/usb.c: Likewise.
50fb7002 36582
d64399b5 36583 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36584
36585 * configure.ac: Test for libusb presence.
50fb7002 36586
d64399b5 36587 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36588
2b40d6bb 365892009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36590
36591 * kern/mm.c: Add more comments.
36592
73a4ce81 365932009-02-08 Robert Millan <rmh@aybabtu.com>
36594
36595 Patch from Javier Martín.
36596 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36597 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36598
f821ce59 365992009-02-08 Robert Millan <rmh@aybabtu.com>
36600
36601 * fs/cpio.c: Split tar functionality to ...
36602 * fs/tar.c: ... here (new file). Update all users.
36603
aebfc4b0 366042009-02-07 Robert Millan <rmh@aybabtu.com>
36605
36606 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36607 backward-incompatible features.
36608
36609 Based on patch from Javier Martín, with some adjustments.
36610
50fb7002 366112009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36612
36613 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36614
0bb5115e 366152009-02-07 Robert Millan <rmh@aybabtu.com>
36616
36617 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36618 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36619 after the RAID stuff.
36620
38a0f8e7 366212009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36622
50fb7002 36623 Fixes problem when running vbetest command as reported by
38a0f8e7 36624 Vladimir Serbinenko <phcoder@gmail.com>.
36625
36626 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36627
3143cc1c 366282009-02-04 Felix Zielcke <fzielcke@z-51.de>
36629
36630 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36631 /dev/md/NpN style mdraid devices.
36632
9cba6fce 366332009-02-03 Felix Zielcke <fzielcke@z-51.de>
36634
36635 * util/unifont2pff.rb: Remove.
36636
e507a2c1 366372009-02-03 Felix Zielcke <fzielcke@z-51.de>
36638
36639 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36640 `#'.
36641
d2c2b4cd 366422009-02-03 Felix Zielcke <fzielcke@z-51.de>
36643
36644 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36646 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36651
b4315fb0 366522009-02-02 Christian Franke <franke@computer.org>
36653
36654 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36655
de3aa260 366562009-02-01 Felix Zielcke <fzielcke@z-51.de>
36657
7c3ff286 36658 * INSTALL: Note that we now require at least autoconf 2.59 and
36659 that LZO is optional.
de3aa260 36660
825a182b 366612009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36662
36663 Base on patch on bug #24154 created by Tomas Tintera
36664 <trosos@seznam.cz>.
36665
36666 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36667
a69ef770 366682009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36669
7c3ff286 36670 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36671 <bero@arklinux.org>.
36672
36673 * normal/parser.y (script_init): Add missing semicolon.
36674
6fa42fa6 366752009-01-31 Colin D Bennett <colin@gibibit.com>
36676
7c3ff286 36677 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36678 (free_menu_entry_classes): Added.
36679 (grub_normal_menu_addentry): Added class property handling.
36680 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36681 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36682
36683 * normal/menu_viewer.c: New file.
36684
36685 * normal/menu.c (run_menu_entry): Renamed to ...
36686 (grub_menu_execute_entry): ... this and made it as global.
36687 (grub_menu_run): Renamed to ...
36688 (show_text_menu): ... this and made it local.
36689 (show_text_menu): Adapt to new function names.
36690 (grub_normal_terminal_menu_viewer): New global variable.
36691
36692 * include/grub/menu.h: New file.
36693
36694 * include/grub/menu_viewer.h: New file.
36695
36696 * include/grub/normal.h: Added include to grub/menu.h.
36697 (grub_menu_entry): Moved to include/grub/menu.h.
36698 (grub_menu_entry_t): Likewise.
36699 (grub_menu): Likewise.
36700 (grub_menu_t): Likewise.
36701 (grub_normal_terminal_menu_viewer): Added.
36702 (grub_menu_execute_entry): Likewise.
36703 (grub_menu_run): Removed.
36704
36705 * DISTLIST: Added include/grub/menu.h.
36706 Added include/grub/menu_viewer.h.
36707 Added normal/menu_viewer.c.
36708
367092009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36710
36711 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36712 arglist for menutitle arguments.
36713
36714 * normal/main.c (grub_normal_menu_addentry): Likewise.
36715
36716 * normal/parser.y (menuentry): Likewise.
36717
36718 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36719
36720 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36721 (grub_script_create_cmdmenu): Likewise.
36722
36723 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36724
36725 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36726 changes.
36727
36728 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36729
36730 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36731
36732 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36733
36734 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36735
36736 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36737
36738 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36739
56192c23 367402009-01-30 Christian Franke <franke@computer.org>
36741
36742 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36743 in option help text.
36744
d72521b3 367452009-01-27 Pavel Roskin <proski@gnu.org>
36746
36747 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36748
994b5e84 367492009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36750
36751 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36752
36753 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36754
36755 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36756 unregister function.
36757
6a7eab2c 367582009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36759
36760 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36761
36762 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36763
36764 * util/grub-mkfont.c (usage): Fix typo.
36765
36766 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36767
1806b56e 367682009-01-26 Daniel Mierswa <impulze@impulze.org>
36769
3fb18f09 36770 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36771
336e1fb9 36772 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36773
1806b56e 36774 * kern/misc.c (grub_strcasecmp): New function.
36775 (grub_strcasecmp): Use grub_size_t instead of int for length.
36776 Fix return value.
36777 * include/grub/misc.h: Update function prototypes.
36778
580b2a0f 367792009-01-26 Robert Millan <rmh@aybabtu.com>
36780
36781 * configure.ac: Fix cross-compilation check.
ef257b36 36782
d31c24f1 367832009-01-22 Christian Franke <franke@computer.org>
36784
36785 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36786 (precision) digit string. Allow `.format2' without `format1' (width).
36787 Limit input chars for `%s' output to `format2' if specified. This is
36788 compatible with standard printf ().
36789
3138b44c 367902009-01-22 Christian Franke <franke@computer.org>
36791
36792 * disk/ata.c (grub_ata_wait_status): Replace by ...
36793 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36794 other status bits may be invalid while BSY is asserted.
36795 (grub_ata_check_ready): New function.
36796 (grub_ata_cmd): Removed.
36797 (grub_ata_wait_drq): New function.
36798 (grub_ata_strncpy): Remove inline.
36799 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36800 and error check now done by grub_ata_wait_drq ().
36801 (grub_ata_pio_write): Likewise.
36802 (grub_atapi_identify): Set DEV before check for !BSY. Use
36803 grub_ata_wait_drq () to wait for data.
36804 (grub_ata_device_initialize): Add status register check to
36805 detect missing SATA slave devices. Add debug messages.
36806 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36807 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36808 transfer loop by grub_ata_pio_write ().
36809 (grub_ata_identify): Set DEV before check for !BSY. Use
36810 grub_ata_wait_drq () to wait for data.
ef257b36 36811 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36812 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36813 read/write in one loop. Fix invalid command on write. Fix incomplete
36814 command on (size % batch) == 0. Add missing error check after write of
36815 last block. Add debug messages.
36816 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36817
59a64ef6 368182009-01-19 Christian Franke <franke@computer.org>
36819
36820 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36821 (GRUB_ATAPI_IREASON_*): Likewise.
36822 (grub_ata_pio_write): Fix timeout error return.
36823 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36824 (grub_atapi_wait_drq): New function.
36825 (grub_atapi_packet): New parameter `size'.
36826 Use grub_atapi_wait_drq () and direct write instead of
36827 grub_ata_pio_write ().
36828 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36829 reads the number of bytes requested by the device for each DRQ
36830 assertion.
36831 (grub_atapi_write): Remove old implementation, return not
36832 implemented instead.
36833
1cfe20b3 368342009-01-19 Christian Franke <franke@computer.org>
36835
36836 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36837 of 512 to calculate data size.
36838 (grub_scsi_read12): Likewise.
36839 (grub_scsi_write10): Likewise.
36840 (grub_scsi_write12): Likewise.
36841 (grub_scsi_read): Adjust size according to blocksize.
36842 Add checks for invalid blocksize and unaligned transfer.
36843
bee5fe5d 368442009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36845
36846 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36847
ef257b36 36848 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36849 width glyphs.
36850
3e643f8c 368512009-01-19 Robert Millan <rmh@aybabtu.com>
36852
36853 * config.guess: Update to latest version from config git.
36854 * config.sub: Likewise.
36855
4fa80998 368562009-01-17 Felix Zielcke <fzielcke@z-51.de>
36857
36858 * Makefile.in: Change font compilation to use new grub-mkfont instead
36859 of java version.
36860
36861 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36862 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36863 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36864 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36865 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36866 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36867 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36868 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36869 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36870
7086085b 368712009-01-16 Christian Franke <franke@computer.org>
36872
36873 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36874 (enum grub_ata_timeout_milliseconds): New enum.
36875 (grub_ata_wait_status): Add parameter milliseconds.
36876 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36877 recovery from timed-out commands.
36878 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36879 return grub_errno instead of REG_ERROR.
36880 (grub_ata_pio_write): Add parameter milliseconds.
36881 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36882 Pass milliseconds to grub_ata_wait_status () and
36883 grub_ata_pio_read ().
36884 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36885 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36886 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36887 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36888 It is not suitable for device detection, because DEV bit is ignored,
36889 the command may run too long, and not all devices set the signature
36890 properly.
36891 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36892 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36893 Fix device selection, DEV bit must be set first to address the registers
36894 of the correct device.
36895 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36896 grub_ata_pio_read/write ().
36897 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36898 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36899
4a412913 369002009-01-13 Carles Pina i Estany <carles@pina.cat>
36901
36902 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36903
7795c55e 369042009-01-13 Bean <bean123ch@gmail.com>
d913988c 36905
36906 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36907
7795c55e 369082009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36909
36910 * Makefile.in: (enable_grub_mkfont): New variable.
36911 (freetype_cflags): Likewise.
36912 (freetype_libs): Likewise.
36913
36914 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36915 (grub_mkfont_SOURCES): New variable.
36916 (grub_mkfont_CFLAGS): Likewise.
36917 (grub_mkfont_LDFLAGS): Likewise.
36918
36919 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36920 library if `--enable-grub-mkfont' is requested.
36921 (enable_grub_mkfont): New variable.
36922 (freetype_cflags): Likewise.
36923 (freetype_libs): Likewise.
36924
36925 * util/grub-mkfont.c: New file.
36926
093af1fe 369272009-01-12 Christian Franke <franke@computer.org>
36928
36929 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36930 mode check. Fix setting of compat_use[].
36931
f36cc108 369322009-01-10 Robert Millan <rmh@aybabtu.com>
36933
36934 Update a few copyright years which we forgot to do in 2008 (only for
36935 files whose changes made in 2008 were copyright-significant)
36936
36937 * Makefile.in: Add 2008 to Copyright line.
36938 * disk/ieee1275/ofdisk.c: Likewise.
36939 * disk/efi/efidisk.c: Likewise.
36940 * kern/dl.c: Likewise.
36941 * kern/sparc64/ieee1275/init.c: Likewise.
36942 * kern/mm.c: Likewise.
36943 * kern/efi/mm.c: Likewise.
36944 * boot/i386/pc/boot.S: Likewise.
36945 * genfslist.sh: Likewise.
36946 * fs/iso9660.c: Likewise.
36947 * fs/hfs.c: Likewise.
36948 * fs/jfs.c: Likewise.
36949 * fs/minix.c: Likewise.
36950 * fs/ufs.c: Likewise.
36951 * gensymlist.sh.in: Likewise.
36952 * genkernsyms.sh.in: Likewise.
36953 * include/grub/misc.h: Likewise.
36954 * include/grub/types.h: Likewise.
36955 * include/grub/symbol.h: Likewise.
36956 * include/grub/elf.h: Likewise.
36957 * include/grub/kernel.h: Likewise.
36958 * include/grub/disk.h: Likewise.
36959 * include/grub/dl.h: Likewise.
36960 * include/grub/i386/linux.h: Likewise.
36961 * include/grub/i386/pc/biosdisk.h: Likewise.
36962 * include/grub/efi/api.h: Likewise.
36963 * include/grub/efi/pe32.h: Likewise.
36964 * include/grub/util/misc.h: Likewise.
36965 * normal/execute.c: Likewise.
36966 * normal/arg.c: Likewise.
36967 * normal/completion.c: Likewise.
36968 * normal/lexer.c: Likewise.
36969 * normal/parser.y: Likewise.
36970 * normal/misc.c: Likewise.
36971 * commands/i386/pc/vbeinfo.c: Likewise.
36972 * commands/hexdump.c: Likewise.
36973 * commands/terminal.c: Likewise.
36974 * commands/ls.c: Likewise.
36975 * commands/help.c: Likewise.
36976 * partmap/pc.c: Likewise.
36977 * loader/efi/chainloader.c: Likewise.
36978 * loader/multiboot_loader.c: Likewise.
36979 * loader/i386/pc/multiboot2.c: Likewise.
36980 * term/efi/console.c: Likewise.
36981 * term/i386/pc/serial.c: Likewise.
36982 * util/lvm.c: Likewise.
36983 * util/console.c: Likewise.
36984 * util/i386/efi/grub-mkimage.c: Likewise.
36985 * util/raid.c: Likewise.
36986
7f02114b 369872009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36988
36989 * commands/videotest.c: Removed include to grub/machine/memory.h.
36990
36991 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36992 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36993 (video_mod_SOURCES): Removed.
36994 (video_mod_CFLAGS): Likewise.
36995 (video_mod_LDFLAGS): Likewise.
36996 (gfxterm_mod_SOURCES): Likewise.
36997 (gfxterm_mod_CFLAGS): Likewise.
36998 (gfxterm_mod_LDFLAGS): Likewise.
36999 (videotest_mod_SOURCES): Likewise.
37000 (videotest_mod_CFLAGS): Likewise.
37001 (videotest_mod_LDFLAGS): Likewise.
37002 (bitmap_mod_SOURCES): Likewise.
37003 (bitmap_mod_CFLAGS): Likewise.
37004 (bitmap_mod_LDFLAGS): Likewise.
37005 (tga_mod_SOURCES): Likewise.
37006 (tga_mod_CFLAGS): Likewise.
37007 (tga_mod_LDFLAGS): Likewise.
37008 (jpeg_mod_SOURCES): Likewise.
37009 (jpeg_mod_CFLAGS): Likewise.
37010 (jpeg_mod_LDFLAGS): Likewise.
37011 (png_mod_SOURCES): Likewise.
37012 (png_mod_CFLAGS): Likewise.
37013 (png_mod_LDFLAGS): Likewise.
37014
37015 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37016 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37017 (video_mod_SOURCES): Added.
37018 (video_mod_CFLAGS): Likewise.
37019 (video_mod_LDFLAGS): Likewise.
37020 (videotest_mod_SOURCES): Likewise.
37021 (videotest_mod_CFLAGS): Likewise.
37022 (videotest_mod_LDFLAGS): Likewise.
37023 (bitmap_mod_SOURCES): Likewise.
37024 (bitmap_mod_CFLAGS): Likewise.
37025 (bitmap_mod_LDFLAGS): Likewise.
37026 (tga_mod_SOURCES): Likewise.
37027 (tga_mod_CFLAGS): Likewise.
37028 (tga_mod_LDFLAGS): Likewise.
37029 (jpeg_mod_SOURCES): Likewise.
37030 (jpeg_mod_CFLAGS): Likewise.
37031 (jpeg_mod_LDFLAGS): Likewise.
37032 (png_mod_SOURCES): Likewise.
37033 (png_mod_CFLAGS): Likewise.
37034 (png_mod_LDFLAGS): Likewise.
37035 (gfxterm_mod_SOURCES): Likewise.
37036 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37037 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37038
37039 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37040 grub/machine/console.h.
37041
644fff97 370422009-01-04 Jerone Young <jerone@gmail.com>
37043
37044 Make on screen instructions clearer
37045
37046 Based on patch created by Jidanni <jidanni@jidanni.org>
37047
37048 * normal/menu.c: print clearer instructions on the screen
37049
1e901a75 370502009-01-02 Colin D Bennett <colin@gibibit.com>
37051
37052 New font engine.
34c44600 37053
1e901a75 37054 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37055 build system and fixed gfxterm.c to work with different sized fonts.
37056
37057 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37058
1e901a75 37059 * configure: Re-generated.
34c44600 37060
1e901a75 37061 * DISTLIST: Removed font/manager.c.
37062 Added font/font.c.
37063 Added font/font_cmd.c.
34c44600 37064
1e901a75 37065 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37066 compilation.
34c44600 37067
1e901a75 37068 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37069
37070 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37071
37072 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37073
1e901a75 37074 * normal/menu.c: Likewise.
34c44600 37075
1e901a75 37076 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37077 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37078
1e901a75 37079 * include/grub/font.h: Replaced with new file.
34c44600 37080
1e901a75 37081 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37082 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37083 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37084 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37085 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37086 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37087 fg_red, fg_green, fg_blue, fg_alpha.
37088 (grub_video_adapter): Removed blit_glyph.
34c44600 37089 (grub_video_blit_glyph): Removed.
37090
1e901a75 37091 * font/manager.c: Removed file.
34c44600 37092
37093 * font/font.c: New file.
37094
1e901a75 37095 * font/font_cmd.c: Likewise.
34c44600 37096
1e901a75 37097 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37098
1e901a75 37099 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37100 (grub_video_vbe_map_rgba): Likewise.
37101 (grub_video_vbe_unmap_color_int): Likewise.
37102 (grub_video_vbe_blit_glyph): Removed.
37103 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37104
1e901a75 37105 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37106 (get_pixel): Likewise.
34c44600 37107 (set_pixel): Likewise.
37108
1e901a75 37109 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37110
1e901a75 37111 * term/gfxterm.c: Adapted to new font engine.
34c44600 37112
1e901a75 37113 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37114
1e901a75 37115 * term/i386/pc/vga.c: Likewise.
34c44600 37116
1e901a75 37117 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37118
1e901a75 37119 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37120
1e901a75 37121 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37122
1e901a75 37123 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37124
1e901a75 37125 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37126
1e901a75 37127 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37128
1e901a75 37129 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37130
1e901a75 37131 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37132
1e901a75 37133 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37134
37135 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37136
1e901a75 37137 * util/grub-mkconfig_lib.in: Changed font extension.
37138
278922e8 371392008-12-28 Felix Zielcke <fzielcke@z-51.de>
37140
37141 * util/getroot.c (grub_util_get_grub_dev): Add support for
37142 /dev/md/dNNpNN style partitionable mdraid devices.
37143
3ced05cf 371442008-12-12 Alex Smith <alex@alex-smith.me.uk>
37145
37146 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37147 at a time limit of the PXE TFTP API correctly.
37148 (grub_pxefs_close): Likewise.
37149
7fd0ee30 371502008-11-29 Robert Millan <rmh@aybabtu.com>
37151
34c44600 37152 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37153 grub_ata_device_initialize() calls.
37154
34c44600 371552008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37156
37157 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37158 iteration failed.
37159 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37160
89313780 371612008-11-28 Robert Millan <rmh@aybabtu.com>
37162
37163 Fix build on powerpc-ieee1275. Based on patch created by
37164 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37165 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37166 `kern/ieee1275/mmap.c'.
37167 * include/grub/powerpc/ieee1275/memory.h: New file.
37168
15257703 37169 Provide grub-install on coreboot.
37170 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37171 (grub_install_SOURCES): New variable.
37172 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37173 usable on coreboot.
37174
9fc5388a 371752008-11-25 Felix Zielcke <fzielcke@z-51.de>
37176
37177 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37178 to `grub_term_input_t'.
37179 (grub_term_get_current_output): Change return type to
37180 `grub_term_output_t'.
37181
bc3a2f31 371822008-11-22 Robert Millan <rmh@aybabtu.com>
37183
34c44600 37184 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37185 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37186 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37187 grub_vga_text_cls().
37188
80fc88f2 37189 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37190 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37191
cbf36fd3 37192 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37193 to 0x200000 (avoids trouble with some OFW implementations, and matches
37194 with the one in Yaboot).
37195 Reported by Manoel Abranches
37196
73e8e268 371972008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37198
37199 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37200 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37201
73e8e268 37202 * util/grub-mkconfig_lib.in (grub_warn): New function.
37203 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37204 warnings, to obtain consistent formatting.
37205 * util/grub.d/00_header.in: Likewise.
37206 * util/update-grub_lib.in: Likewise.
37207
e94045a1 37208 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37209 Move comment text to `#error' stanza.
e94045a1 37210
79d29fd7 37211 Harmonize ieee1275's grub_available_iterate() with the generic
37212 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37213 build problem on i386-ieee1275):
37214 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37215 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37216 parameter `type'. Update all users of this function.
37217 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37218 `kern/ieee1275/mmap.c'.
37219 * kern/ieee1275/init.c
37220 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37221 with ...
37222 (grub_machine_mmap_iterate): ... this.
37223 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37224 return type to `grub_err_t'. Update all implementations of this
37225 function prototype.
37226 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37227 Likewise.
37228
60d6b16e 37229 Add `lsmmap' command (lists firmware-provided memory map):
37230 * commands/lsmmap.c: New file.
37231 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37232 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37233 variables.
37234 * conf/powerpc-ieee1275.rmk: Likewise.
37235 * conf/i386-coreboot.rmk: Likewise.
37236 * conf/i386-ieee1275.rmk: Likewise.
37237
ebaaf49b 372382008-11-19 Robert Millan <rmh@aybabtu.com>
37239
37240 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37241 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37242 constraints to initrd allocation (based on code from
37243 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37244 for Linux to find it.
ebaaf49b 37245
dfab719f 372462008-11-14 Robert Millan <rmh@aybabtu.com>
37247
37248 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37249 order to cope with duplicate slashes.
37250
10fc3eb9 372512008-11-14 Robert Millan <rmh@aybabtu.com>
37252
37253 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37254 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37255 don't want to mess with lower memory, because it is used in the Linux
37256 loader.
37257
37258 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37259 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37260 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37261 is in our heap (probably as a result of it being corrupted during
2f2a3442 37262 decompression). Add #error instance with comment to explain why this
37263 loader isn't currently usable on PC/BIOS.
10fc3eb9 37264
e2e07847 372652008-11-14 Robert Millan <rmh@aybabtu.com>
37266
37267 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37268 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37269
fe8e8d69 372702008-11-12 Robert Millan <rmh@aybabtu.com>
37271
37272 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37273
37274 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37275 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37276 from here ...
37277 * include/grub/i386/pc/memory.h: ... to here.
37278
976b07d0 372792008-11-12 Robert Millan <rmh@aybabtu.com>
37280
37281 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37282 split).
37283
37284 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37285 (grub_console_cur_color, grub_console_real_putchar)
37286 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37287 (grub_console_setcolorstate, grub_console_setcolor)
37288 (grub_console_getcolor): Move from here ...
37289 * include/grub/i386/vga_common.h: ... to here (new file).
37290
37291 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37292 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37293 `<grub/i386/io.h>'.
37294 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37295 `<grub/i386/vga_common.h>'.
37296
76679cd3 372972008-11-12 Robert Millan <rmh@aybabtu.com>
37298
37299 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37300 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37301 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37302 variables.
37303 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37304 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37305
37306 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37307 grub_console_init() with call to grub_vga_text_init().
37308 (grub_machine_fini): Replace call to
37309 grub_console_fini() with call to grub_vga_text_fini() and
37310 grub_at_keyboard_fini().
37311
37312 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37313 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37314 (grub_console_setcolorstate, grub_console_setcolor)
37315 (grub_console_getcolor): New function prototypes.
37316
37317 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37318 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37319 (grub_vga_text_setcursor): Static-ize.
37320 (grub_vga_text_term): New structure.
37321 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37322
37323 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37324 (grub_console_cur_color, grub_console_standard_color)
37325 (grub_console_normal_color, grub_console_highlight_color)
37326 (map_char, grub_console_putchar, grub_console_getcharwidth)
37327 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37328 (grub_console_getcolor): Move from here ...
37329 * term/i386/vga_common.c: ... to here (same function names).
37330
95b841d3 373312008-11-12 Robert Millan <rmh@aybabtu.com>
37332
37333 Use newly-added Multiboot support in coreboot.
37334
37335 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37336 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37337
37338 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37339 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37340 (codestart): Store the MBI in `startup_multiboot_info' when we're
37341 being loaded using Multiboot.
37342
37343 * kern/i386/coreboot/init.c (grub_machine_init): Move
37344 grub_at_keyboard_init() call to beginning of function (useful for
37345 debugging). Call grub_machine_mmap_init() before attempting to use
37346 grub_machine_mmap_iterate().
37347 (grub_lower_mem, grub_upper_mem): Move from here ...
37348 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37349 here (new file).
37350
37351 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37352 function prototype.
37353
761ca975 373542008-11-12 Robert Millan <rmh@aybabtu.com>
37355
37356 Fix a regression introduced by the at_keyboard.mod split. Because
37357 some terminals are default on some platforms and non-default on
37358 others, the first terminal being registered determines which is
37359 going to be default.
37360
37361 * kern/term.c (grub_term_register_input): If this is the first
37362 terminal being registered, set it as the current one.
37363 (grub_term_register_output): Likewise.
37364
37365 * term/efi/console.c (grub_console_init): Do not call
37366 grub_term_set_current_output() or grub_term_set_current_input().
37367 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37368 * term/i386/pc/console.c (grub_console_init): Likewise.
37369 (grub_console_fini): Do not call grub_term_set_current_input()
37370 (but leave grub_term_set_current_output() to restore text mode).
37371
6c529df7 373722008-11-10 Robert Millan <rmh@aybabtu.com>
37373
37374 * util/grub.d/00_header.in: Add backward compatibility check for
37375 versions of terminal.mod that don't understand `terminal_input' or
37376 `terminal_output'.
37377
132e4113 373782008-11-09 Robert Millan <rmh@aybabtu.com>
37379
37380 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37381 `terminal_input' / `terminal_output', not `terminal'.
37382
ac293d50 373832008-11-08 Robert Millan <rmh@aybabtu.com>
37384
37385 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37386 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37387
0025933a 373882008-11-08 Robert Millan <rmh@aybabtu.com>
37389
37390 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37391 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37392 members. Update all users.
37393 * util/console.c (grub_ncurses_term): Split in ...
37394 (grub_ncurses_term_input): ... this, and ...
37395 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37396 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37397
37c86336 373982008-11-08 Robert Millan <rmh@aybabtu.com>
37399
37400 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37401 (PKGDATA): Add $(pkgdata_SRCDIR).
37402 (pkglib_BUILDDIR): New variable.
37403 (pkgdata_SRCDIR): New variable.
37404 (build_env.mk): New target.
37405 (include_DATA): New variable.
37406 (install-local): Install $(include_DATA) files in $(includedir).
37407
b6c15a2d 374082008-11-07 Pavel Roskin <proski@gnu.org>
37409
d99d46f1 37410 * gendistlist.sh: Use C locale for sorting to ensure consistent
37411 output on all systems.
37412
b6c15a2d 37413 * util/grub.d/00_header.in: Remove incorrect space before
37414 "serial".
37415
c32ee8c9 374162008-11-07 Robert Millan <rmh@aybabtu.com>
37417
37418 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37419 per specification.
37420 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37421 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37422 (based on find_multi_boot1_header).
37423 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37424 using find_multi_boot2_header(), and abort if neither Multiboot or
37425 Multiboot headers were found.
37426
651c29b7 374272008-11-07 Robert Millan <rmh@aybabtu.com>
37428
37429 Modularize at_keyboard.mod:
37430
37431 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37432 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37433 (at_keyboard_mod_LDFLAGS): New variables.
37434
37435 Actual terminal split:
37436
37437 * include/grub/term.h (struct grub_term): Split in ...
37438 (struct grub_term_input): ... this, and ...
37439 (struct grub_term_output): ... this. Update all users.
37440 (grub_term_set_current): Split in ...
37441 (grub_term_set_current_input): ... this, and ...
37442 (grub_term_set_current_output): ... this.
37443 (grub_term_get_current): Split in ...
37444 (grub_term_get_current_input): ... this, and ...
37445 (grub_term_get_current_output): ... this.
37446 (grub_term_register): Split in ...
37447 (grub_term_register_input): ... this, and ...
37448 (grub_term_register_output): ... this.
37449 (grub_term_unregister): Split in ...
37450 (grub_term_unregister_input): ... this, and ...
37451 (grub_term_unregister_output): ... this.
37452 (grub_term_iterate): Split in ...
37453 (grub_term_iterate_input): ... this, and ...
37454 (grub_term_iterate_output): ... this.
37455
37456 * kern/term.c (grub_term_list): Split in ...
37457 (grub_term_list_input): ... this, and ...
37458 (grub_term_list_output): ... this. Update all users.
37459 (grub_cur_term): Split in ...
37460 (grub_cur_term_input): ... this, and ...
37461 (grub_cur_term_output): ... this. Update all users.
37462 (grub_term_set_current): Split in ...
37463 (grub_term_set_current_input): ... this, and ...
37464 (grub_term_set_current_output): ... this.
37465 (grub_term_get_current): Split in ...
37466 (grub_term_get_current_input): ... this, and ...
37467 (grub_term_get_current_output): ... this.
37468 (grub_term_register): Split in ...
37469 (grub_term_register_input): ... this, and ...
37470 (grub_term_register_output): ... this.
37471 (grub_term_unregister): Split in ...
37472 (grub_term_unregister_input): ... this, and ...
37473 (grub_term_unregister_output): ... this.
37474 (grub_term_iterate): Split in ...
37475 (grub_term_iterate_input): ... this, and ...
37476 (grub_term_iterate_output): ... this.
37477
37478 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37479 a check for input and one for output (and only attempt to get keys
37480 from user when input works).
37481
37482 * util/grub-probe.c (grub_term_get_current): Split in ...
37483 (grub_term_get_current_input): ... this, and ...
37484 (grub_term_get_current_output): ... this.
37485 * util/grub-fstest.c: Likewise.
37486 * util/i386/pc/grub-setup.c: Likewise.
37487 * util/grub-editenv.c: Likewise.
37488
37489 Portability adjustments:
37490
37491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37492 `term/i386/pc/at_keyboard.c'.
37493 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37494 grub_keyboard_controller_init() (now handled by terminal .init).
37495 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37496 grub_at_keyboard_init().
37497 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37498 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37499 at_keyboard.mod via input terminal interface).
37500 * include/grub/i386/coreboot/console.h: Convert into a stub for
37501 `<grub/i386/pc/console.h>'.
37502
37503 Migrate full terminals to new API:
37504
37505 * term/efi/console.c (grub_console_term): Split into ...
37506 (grub_console_term_input): ... this, and ...
37507 (grub_console_term_output): ... this. Update all users.
37508 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37509 (grub_ofconsole_init): Split into ...
37510 (grub_ofconsole_init_input): ... this, and ...
37511 (grub_ofconsole_init_output): ... this.
37512 (grub_ofconsole_term): Split into ...
37513 (grub_ofconsole_term_input): ... this, and ...
37514 (grub_ofconsole_term_output): ... this. Update all users.
37515 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37516 (grub_serial_term_input): ... this, and ...
37517 (grub_serial_term_output): ... this. Update all users.
37518 * term/i386/pc/console.c (grub_console_term): Split into ...
37519 (grub_console_term_input): ... this, and ...
37520 (grub_console_term_output): ... this. Update all users.
37521 (grub_console_term_input): Only enable it on PC/BIOS platform.
37522 (grub_console_init): Remove grub_keyboard_controller_init() call.
37523
37524 Migrate input terminals to new API:
37525
37526 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37527 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37528 i386-specific anyway).
37529 (grub_console_checkkey): Rename to ...
37530 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37531 users.
37532 (grub_keyboard_controller_orig): New variable.
37533 (grub_console_getkey): Rename to ...
37534 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37535 users.
37536 (grub_keyboard_controller_init): Static-ize. Save original
37537 controller value so that it can be restored ...
37538 (grub_keyboard_controller_fini): ... here (new function).
37539 (grub_at_keyboard_term): New structure.
37540 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37541 functions.
37542
37543 Migrate output terminals to new API:
37544
37545 * term/i386/pc/vga.c (grub_vga_term): Change type to
37546 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37547 members. Update all users.
37548 * term/gfxterm.c (grub_video_term): Change type to
37549 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37550 members. Update all users.
37551 * include/grub/i386/pc/console.h (grub_console_checkkey)
37552 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37553 etc).
37554
37555 Migrate `terminal' command and userland tools to new API:
37556
37557 * commands/terminal.c (grub_cmd_terminal): Split into ...
37558 (grub_cmd_terminal_input): ... this, and ...
37559 (grub_cmd_terminal_output): ... this.
37560 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37561 `terminal_input' and `terminal_output'.
37562 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37563 `terminal_input' / `terminal_output' API.
37564 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37565 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37566 provided ${GRUB_TERMINAL}, convert it).
37567
96e5d876 375682008-11-04 Robert Millan <rmh@aybabtu.com>
37569
37570 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37571 for FreeBSD.
37572 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37573
556f3775 375742008-11-03 Bean <bean123ch@gmail.com>
37575
37576 * kern/elf.c (grub_elf32_load): Revert to previous code.
37577 (grub_elf64_load): Likewise.
37578
37579 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37580
926b9823 375812008-11-01 Robert Millan <rmh@aybabtu.com>
37582
37583 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37584 (TARGET_CPPFLAGS): Likewise.
37585 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37586
1432e958 375872008-11-01 Carles Pina i Estany <carles@pina.cat>
37588
37589 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37590
dba3f844 375912008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37592
37593 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37594 addition of objects until the code is not going to be able to fail.
37595
dba3f844 375962008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37597
37598 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37599 (add a missing NULL check, and correct them by moving the pointer
37600 operations after the actual check).
37601
7ab28c21 376022008-10-29 Robert Millan <rmh@aybabtu.com>
37603
37604 * util/i386/pc/grub-install.in: Handle empty string as output from
37605 make_system_path_relative_to_its_root().
37606
1b7748eb 376072008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37608
37609 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37610 circular metadata worst case scenario. If the metadata is circular
37611 then copy the wrap in place.
37612 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37613 project lib/format_text/layout.h
37614 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37615
c9618ab2 376162008-10-03 Felix Zielcke <fzielcke@z-51.de>
37617
7a36edca 37618 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37619
bf981c62 376202008-10-03 Felix Zielcke <fzielcke@z-51.de>
37621
37622 * util/update-grub_lib.in: Mention filename in warning message.
37623
6d994591 376242008-09-29 Felix Zielcke <fzielcke@z-51.de>
37625
37626 * NEWS: Update for rename of update-grub to grub-mkconfig.
37627
18ade780 376282008-09-29 Felix Zielcke <fzielcke@z-51.de>
37629
37630 * util/update-grub_lib.in: Copy to ...
37631 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37632 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37633 * util/update-grub.in: Rename to ...
37634 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37635 option. Add `--output' option to allow users to specify the generated
37636 configuration file. Default to stdout.
37637 (update_grub_dir): Rename to ...
37638 (grub_mkconfig_dir): ... this.
37639 (grub_cfg): Default to an empty string.
37640 * conf/common.rmk (update-grub): Rename to ...
37641 (grub-mkconfig): ... this.
37642 (update-grub_lib): Copy to ...
37643 (grub-mkconfig_lib): ... this.
37644 (update-grub_SCRIPTS): Copy to ...
37645 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37646 (update-grub_DATA): Rename to ...
37647 (grub-mkconfig_DATA): ... this.
37648
556ce6ac 376492008-09-28 Robert Millan <rmh@aybabtu.com>
37650
37651 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37652 to `modified'. Add the real `created' field.
37653 (grub_iso9660_uuid): Use `modified' rather than `created' for
37654 constructing the UUID.
37655
376562008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37657
37658 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37659 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37660
92274e85 376612008-09-28 Bean <bean123ch@gmail.com>
37662
37663 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37664 Thanks to Christian Franke for finding this bug.
37665
add6f17a 376662008-09-25 Robert Millan <rmh@aybabtu.com>
37667
37668 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37669 instances of grub_util_get_disk_name() (see previous commit).
37670
d2a367b8 376712008-09-25 Robert Millan <rmh@aybabtu.com>
37672
37673 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37674 `util/i386/get_disk_name.c'.
37675 * conf/i386-efi.rmk: Likewise.
37676 * conf/x86_64-efi.rmk: Likewise.
37677 * conf/i386-coreboot.rmk: Likewise.
37678 * conf/i386-ieee1275.rmk: Likewise.
37679 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37680 `util/ieee1275/get_disk_name.c'.
37681 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37682 * util/ieee1275/get_disk_name.c: Remove file.
37683 * util/i386/get_disk_name.c: Remove file.
37684 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37685 "hd%d" for device.map entries, rather than using
37686 grub_util_get_disk_name().
37687
81a06771 376882008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37689
37690 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37691 warning.
37692 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37693
5a004279 376942008-09-24 Carles Pina i Estany <carles@pina.cat>
37695
37696 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37697 Changed to 0x5100.
37698 (GRUB_TERM_PPAGE): Changed to 0x4900.
37699
397093d3 377002008-09-24 Robert Millan <rmh@aybabtu.com>
37701
37702 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37703 macros (they were i386-pc specific).
37704 * include/grub/sparc64/ieee1275/console.h: Likewise.
37705 * include/grub/efi/console.h: Likewise.
37706
a91b6c7c 377072008-09-22 Bean <bean123ch@gmail.com>
37708
37709 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37710 resident and in attribute list.
37711
37712 * include/grub/ntfs.h (BMP_LEN): Removed.
37713
c40fd116 377142008-09-22 Bean <bean123ch@gmail.com>
37715
81a06771 37716 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37717 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37718
37719 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37720 error occurs, as grub_disk_open will call grub_disk_close, which will
37721 call p->close (scsi).
37722
81a06771 377232008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37724
37725 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37726 (AC_PREREQ): Bumped to 2.59.
37727 (AC_TRY_COMPILE): Replace obsolete macro with ...
37728 (AC_COMPILE_IFELSE): ... this.
37729 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37730 (AC_LINK_IFELSE): ... this.
37731
5dc43410 377322008-09-21 Felix Zielcke <fzielcke@z-51.de>
37733
37734 * autogen.sh: Add a call to `gendistlist.sh'.
37735
9035dce4 377362008-09-19 Christian Franke <franke@computer.org>
37737
37738 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37739 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37740 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37741 Export __enable_execute_stack() to modules.
37742 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37743 New function.
37744
7fd75377 377452008-09-09 Felix Zielcke <fzielcke@z-51.de>
37746
040030b3 37747 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37748 Sort the list.
37749
377502008-09-09 Felix Zielcke <fzielcke@z-51.de>
37751
37752 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37753 #include <grub/util/hostdisk.h>.
37754
89d5ffcf 377552008-09-08 Robert Millan <rmh@aybabtu.com>
37756
37757 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37758 segments when their filesz is zero (grub_file_read() interprets
81a06771 37759 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37760 Use `lowest_segment' rather than 0 for calculating the current
37761 segment load address.
37762
40da438f 377632008-09-08 Robert Millan <rmh@aybabtu.com>
37764
37765 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37766 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37767 clobbered useful information.
37768
ddbf5556 377692008-09-08 Robert Millan <rmh@aybabtu.com>
37770
37771 * include/grub/util/biosdisk.h: Move to ...
37772 * include/grub/util/hostdisk.h: ... here. Update all users.
37773 * util/biosdisk.c: Move to ...
37774 * util/hostdisk.c: ... here. Update all users.
37775
783d0f48 377762008-09-07 Robert Millan <rmh@aybabtu.com>
37777
37778 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37779 variables.
37780 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37781 and length can be stored directly in the `mbi->mmap_addr' and
37782 `mbi->mmap_length' struct fields.
37783
548e2ea5 377842008-09-07 Robert Millan <rmh@aybabtu.com>
37785
37786 * conf/i386.rmk: New file. Provides declaration for building
37787 `cpuid.mod'.
37788 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37789 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37790 variables.
37791 Include `conf/i386.mk'.
37792 * conf/i386-efi.rmk: Likewise.
37793 * conf/x86_64-efi.rmk: Likewise.
37794 * conf/i386-coreboot.rmk: Likewise.
37795 * conf/i386-ieee1275.rmk: Likewise.
37796
0ea85a37 377972008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37798
37799 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37800 Adds optimization support for BGR based modes.
37801
37802 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37803 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37804 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37805 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37806 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37807 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37808 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37809 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37810 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37811 (grub_video_i386_vbeblit_index_index): Likewise.
37812 (grub_video_i386_vbeblit_replace_directN): Added.
37813 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37814 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37815 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37816 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37817 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37818 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37819 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37820 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37821 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37822 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37823 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37824 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37825 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37826
37827 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37828 (grub_video_i386_vbefill_R8G8B8): Likewise.
37829 (grub_video_i386_vbefill_index): Likewise.
37830 (grub_video_i386_vbefill_direct32): Added.
37831 (grub_video_i386_vbefill_direct24): Likewise.
37832 (grub_video_i386_vbefill_direct16): Likewise.
37833 (grub_video_i386_vbefill_direct8): Likewise.
37834
81a06771 37835 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37836 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37837 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37838 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37839 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37840 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37841
0ea85a37 37842 * video/video.c (grub_video_get_blit_format): Updated to use new
37843 blit formats. Added handling for 16 bit color modes.
81a06771 37844
37845 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37846 fillers.
37847 (common_blitter): Updated to use new blitters.
37848
37849 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37850 Removed.
37851 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37852 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37853 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37854 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37855 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37856 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37857 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37858 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37859 (grub_video_i386_vbeblit_index_index): Likewise.
37860 (grub_video_i386_vbeblit_replace_directN): Added.
37861 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37862 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37863 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37864 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37865 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37866 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37867 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37868 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37869 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37870 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37871 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37872 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37873 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37874
0ea85a37 37875 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37876 (grub_video_i386_vbefill_R8G8B8): Likewise.
37877 (grub_video_i386_vbefill_index): Likewise.
37878 (grub_video_i386_vbefill_direct32): Added.
37879 (grub_video_i386_vbefill_direct24): Likewise.
37880 (grub_video_i386_vbefill_direct16): Likewise.
37881 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37882
0ea85a37 37883 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37884 types.
81a06771 37885
0ea85a37 37886 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37887 types.
81a06771 37888
0ea85a37 37889 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37890 blitter types.
81a06771 37891
0ea85a37 37892 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37893 types.
37894
e8a83df6 378952008-09-06 Felix Zielcke <fzielcke@z-51.de>
37896
37897 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37898 RAID level 1.
37899
6bcd8ee5 379002008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37901
6bcd8ee5 37902 * fs/iso9660.c (grub_iso9660_date): New structure.
37903 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37904 (grub_iso9660_uuid): New function.
c375ae58 37905
59261157 379062008-09-05 Bean <bean123ch@gmail.com>
37907
37908 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37909
37910 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37911 insensitive bit for names in Win32 and Win32 & DOS namespace.
37912
37913 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37914
37915 * include/grub/types.h (LONG_MAX): Likewise.
37916
58b6645a 379172008-09-04 Felix Zielcke <fzielcke@z-51.de>
37918
4ee55921 37919 * util/getroot.c: Include <config.h>.
37920 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37921 add support for /dev/md/N devices and handle LVM double dash escaping.
37922
379232008-09-04 Felix Zielcke <fzielcke@z-51.de>
37924
37925 * config.guess: Update to latest version from config git.
37926 * config.sub: Likewise.
58b6645a 37927
9124f65d 379282008-09-03 Robert Millan <rmh@aybabtu.com>
37929
37930 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37931 `disk->total_sectors'.
37932
81a06771 379332008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37934
37935 * include/grub/normal.h: Fixed incorrect comment for
37936 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37937
81a06771 379382008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37939
37940 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37941 values with defines.
37942
37943 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37944 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37945 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37946 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37947 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37948 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37949 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37950 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37951 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37952 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37953 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37954 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37955 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37956 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37957 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37958 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37959 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37960 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37961 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37962
93d5cbf8 379632008-08-31 Robert Millan <rmh@aybabtu.com>
37964
37965 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37966 declaration.
37967 (grub_multiboot): Fix a few warnings.
37968
21751d50 379692008-08-31 Robert Millan <rmh@aybabtu.com>
37970
37971 * loader/i386/pc/multiboot.c: Update comment not to say that
37972 boot_device support is unimplemented.
37973
e27a75c5 379742008-08-31 Robert Millan <rmh@aybabtu.com>
37975
37976 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37977 or memory map support are unimplemented.
37978
81a06771 379792008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37980
37981 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37982
81a06771 379832008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37984
37985 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37986 total video memory in 'vbeinfo' output; show color format details for
37987 each video mode.
37988
7c5d8d95 379892008-08-30 Pavel Roskin <proski@gnu.org>
37990
37991 * util/genmoddep.c: Remove for real this time.
37992 * DISTLIST: Remove util/genmoddep.c.
37993
4cebd25a 379942008-08-30 Robert Millan <rmh@aybabtu.com>
37995
37996 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37997 as required by Multiboot spec (it was already 4-byte aligned, but
37998 only by chance).
37999
b497a269 380002008-08-29 Pavel Roskin <proski@gnu.org>
38001
e3925185 38002 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38003 * kern/powerpc/ieee1275/startup.S: ... this.
38004 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38005 * DISTLIST: Likewise.
38006
b497a269 38007 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38008 grub/cpu/kernel.h. Add start label for consistency with other
38009 platforms. Add grub_prefix immediately after start. Add jump
38010 to the code after grub_prefix.
38011 * include/grub/powerpc/kernel.h: Provide valid values for
38012 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38013
6e5a42fe 380142008-08-29 Bean <bean123ch@gmail.com>
38015
38016 * configure.ac: Change host_os to cygwin for mingw.
38017 (asprintf): New check for function.
38018
38019 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38020 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38021
38022 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38023 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38024 sync, sleep and grub_util_get_disk_size for mingw.
38025
38026 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38027 to get size in mingw.
38028 (open_device): Use flag O_BINARY if it's defined.
38029 (find_root_device): Add dummy code for mingw.
38030
38031 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38032 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38033 (get_scsi_disk_name): Return 0 for mingw.
38034
38035 * util/hostfs.c: #include <grub/util/misc.h>.
38036 (grub_hostfs_open): Use "rb" flag to open file, use
38037 grub_util_get_disk_size to get disk size for mingw.
38038
38039 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38040 (asprintf): New function if HAVE_ASPRINTF is not set.
38041 (sync): New function for mingw.
38042 (sleep): Likewise.
38043 (grub_util_get_disk_size): Likewise.
38044
ab3f2673 380452008-08-28 Pavel Roskin <proski@gnu.org>
38046
38047 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38048 kern/time.c.
38049
1c282483 380502008-08-28 Robert Millan <rmh@aybabtu.com>
38051
38052 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38053
678e849c 380542008-08-28 Robert Millan <rmh@aybabtu.com>
38055
38056 Change find_grub_drive() syntax so it doesn't prevent it from
38057 detecting NULL names as errors.
38058
38059 * util/biosdisk.c (find_grub_drive): Move free slot search code
38060 from here ...
38061 (find_free_slot): ... to here.
38062 (read_device_map): Use find_free_slot() to search for free slots.
38063
965c75ca 380642008-08-27 Marco Gerards <marco@gnu.org>
38065
38066 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38067 (scsi_mod_SOURCES): New variable.
38068 (scsi_mod_CFLAGS): Likewise
38069 (scsi_mod_LDFLAGS): Likewise.
38070
38071 * disk/scsi.c: New file.
38072
38073 * include/grub/scsi.h: Likewise.
38074
38075 * include/grub/scsicmd.h: Likewise.
38076
38077 * disk/ata.c: Include <grub/scsi.h>.
38078 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38079 instead.
38080 (grub_ata_iterate): Skip ATAPI devices.
38081 (grub_ata_open): Only handle ATAPI devices.
38082 (struct grub_atapi_read): Removed.
38083 (grub_atapi_readsector): Likewise.
38084 (grub_ata_read): No longer handle ATAPI devices.
38085 (grub_ata_write): Likewise.
38086 (grub_atapi_iterate): New function.
38087 (grub_atapi_read): Likewise.
38088 (grub_atapi_write): Likewise.
38089 (grub_atapi_open): Likewise.
38090 (grub_atapi_close): Likewise.
38091 (grub_atapi_dev): New variable.
38092 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38093 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38094
38095 * include/grub/disk.h (enum grub_disk_dev_id): Add
38096 `GRUB_DISK_DEVICE_SCSI_ID'.
38097
c07ae501 380982008-08-26 Robert Millan <rmh@aybabtu.com>
38099
38100 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38101 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38102 descriptive.
38103
5ed20adc 381042008-08-23 Bean <bean123ch@gmail.com>
38105
38106 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38107 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38108 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38109 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38110 dm_nv.mod.
38111 (raid5rec_mod_SOURCES): New macro.
38112 (raid5rec_mod_CFLAGS): Likewise.
38113 (raid5rec_mod_LDFLAGS): Likewise.
38114 (raid6rec_mod_SOURCES): Likewise.
38115 (raid6rec_mod_CFLAGS): Likewise.
38116 (raid6rec_mod_LDFLAGS): Likewise.
38117 (mdraid_mod_SOURCES): Likewise.
38118 (mdraid_mod_CFLAGS): Likewise.
38119 (mdraid_mod_LDFLAGS): Likewise.
38120 (dm_nv_mod_SOURCES): Likewise.
38121 (dm_nv_mod_CFLAGS): Likewise.
38122 (dm_nv_mod_LDFLAGS): Likewise.
38123
38124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38125 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38126 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38127
38128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38129 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38130
38131 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38132
38133 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38134
38135 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38136
38137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38138
38139 * disk/raid5_recover.c: New file.
38140
38141 * disk/raid6_recover.c: Likewise.
38142
38143 * disk/mdraid_linux.c: Likewise.
38144
38145 * disk/dmraid_nvidia.c: Likewise.
38146
38147 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38148 ULONG_MAX.
38149
38150 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38151 calculate the size of raid device.
38152 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38153 different layout of raid5.
38154 (grub_raid_scan_device): Remove code specific to mdraid.
38155 (grub_raid_list): New variable.
38156 (free_array): New function.
38157 (grub_raid_register): Likewise.
38158 (grub_raid_unregister): Likewise.
38159 (grub_raid_rescan): Likewise.
38160 (GRUB_MOD_INIT): Don't iterate device here.
38161 (GRUB_MOD_FINI): Use free_array to release resource.
38162
38163 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38164 (grub_raid5_recover_func_t): New function variable type.
38165 (grub_raid6_recover_func_t): Likewise.
38166 (grub_raid5_recover_func): New variable.
38167 (grub_raid6_recover_func): Likewise.
38168 (grub_raid_register): New function.
38169 (grub_raid_unregister): Likewise.
38170 (grub_raid_rescan): Likewise.
38171 (grub_raid_block_xor): Likewise.
38172
38173 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38174 (CMD_CRC): New macro.
38175 (part): Removed.
38176 (read_file): Handle device as well as file.
38177 (cmd_crc): New function.
38178 (fstest): Handle multiple disks.
38179 (options): Remove part, raw and long, add root and diskcount.
38180 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38181 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38182 add handling for the new options, support multiple disks.
38183
38184 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38185
29c18915 381862008-08-23 Bean <bean123ch@gmail.com>
38187
38188 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38189
38190 * genfslist.sh: Ignore kernel.mod.
38191
38192 * genpartmaplist.sh: Likewise.
38193
8415f261 381942008-08-23 Robert Millan <rmh@aybabtu.com>
38195
38196 * util/getroot.c (find_root_device): Skip anything that starts with
38197 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38198
d5a7dc5b 381992008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38200
d5a7dc5b 38201 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38202 * util/grub.d/00_header.in: Allow the administrator to change default
38203 gfxmode via ${GRUB_GFXMODE}.
38204
380cfbb4 382052008-08-21 Felix Zielcke <fzielcke@z-51.de>
38206
38207 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38208
c9baafe7 382092008-08-21 Robert Millan <rmh@aybabtu.com>
38210
38211 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38212 loader.
38213 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38214 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38215
e290bef2 382162008-08-20 Carles Pina i Estany <carles@pina.cat>
38217
38218 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38219 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38220
f9dbfc96 382212008-08-19 Robert Millan <rmh@aybabtu.com>
38222
38223 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38224 (struct grub_virtual_screen): Remove `cursor_color'.
38225 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38226 initialization.
38227 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38228
dd6bd6ab 382292008-08-18 Robert Millan <rmh@aybabtu.com>
38230
38231 Unify (identical) linux_normal.c files.
38232 * loader/i386/efi/linux_normal.c: Move from here ...
38233 * loader/linux_normal.c: ... to here. Update all users.
38234 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38235 * loader/i386/ieee1275/linux_normal.c: Likewise.
38236
7f42f83e 382372008-08-18 Robert Millan <rmh@aybabtu.com>
38238
38239 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38240 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38241 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38242 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38243 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38244 New macros.
38245 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38246 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38247 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38248 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38249 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38250 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38251 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38252 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38253 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38254 portably using grub_getxy().
38255 Replace `-EFI' with `-bzImage' in boot message.
38256
38487ddb 382572008-08-17 Robert Millan <rmh@aybabtu.com>
38258
38259 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38260
deceb3ec 382612008-08-17 Robert Millan <rmh@aybabtu.com>
38262
38263 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38264
38265 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38266 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38267 (grub_machine_mmap_iterate): New function declaration.
38268 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38269 structure.
38270 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38271 macros.
38272
38273 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38274 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38275 Move e820 parsing from here ...
38276 * kern/i386/pc/mmap.c: New file.
38277 (grub_machine_mmap_iterate): ... to here.
38278
38279 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38280 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38281 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38282 (grub_available_iterate): Redeclare to return `void', and redeclare
38283 its hook to use grub_uint64_t as addr and size parameters, and rename
38284 to ...
38285 (grub_machine_mmap_iterate): ... this. Update all users.
38286
38287 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38288 to make it more readable. Rename to ...
38289 (grub_machine_mmap_iterate): ... this.
38290
38291 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38292 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38293 (grub_multiboot): Allocate an extra region after the payload, and fill
38294 it with a Multiboot memory map. Adjust a.out loader to calculate size
38295 with the extra space.
38296 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38297 with the extra space.
38298
f8aa0f43 382992008-08-17 Carles Pina i Estany <carles@pina.cat>
38300
9807deb9 38301 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38302
605f5bb6 383032008-08-17 Felix Zielcke <fzielcke@z-51.de>
38304
38305 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38306 mdate-sh to the list `find' searches for.
38307 * DISTLIST: Regenerated.
38308
210db6c6 383092008-08-16 Felix Zielcke <fzielcke@z-51.de>
38310
38311 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38312 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38313 genmoddep.awk, gensymlist.sh.in.
38314 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38315 * DISTLIST: Regenerated.
48cdbfd4 38316 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38317
1082b929 383182008-08-16 Robert Millan <rmh@aybabtu.com>
38319
38320 * disk/raid.c (grub_raid_init): Handle/report errors set by
38321 grub_device_iterate().
38322 * disk/lvm.c (grub_lvm_init): Likewise.
38323
42ce5170 383242008-08-15 Bean <bean123ch@gmail.com>
38325
38326 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38327 and datehook.mod.
38328 (datetime_mod_SOURCES): New macro.
38329 (datetime_mod_CFLAGS): Likewise.
38330 (datetime_mod_LDFLAGS): Likewise.
38331 (date_mod_SOURCES): Likewise.
38332 (date_mod_CFLAGS): Likewise.
38333 (date_mod_LDFLAGS): Likewise.
38334 (datehook_mod_SOURCES): Likewise.
38335 (datehook_mod_CFLAGS): Likewise.
38336 (datehook_mod_LDFLAGS): Likewise.
38337
38338 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38339 and datehook.mod.
38340 (datetime_mod_SOURCES): New macro.
38341 (datetime_mod_CFLAGS): Likewise.
38342 (datetime_mod_LDFLAGS): Likewise.
38343 (date_mod_SOURCES): Likewise.
38344 (date_mod_CFLAGS): Likewise.
38345 (date_mod_LDFLAGS): Likewise.
38346 (datehook_mod_SOURCES): Likewise.
38347 (datehook_mod_CFLAGS): Likewise.
38348 (datehook_mod_LDFLAGS): Likewise.
38349
38350 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38351 and datehook.mod.
38352 (datetime_mod_SOURCES): New macro.
38353 (datetime_mod_CFLAGS): Likewise.
38354 (datetime_mod_LDFLAGS): Likewise.
38355 (date_mod_SOURCES): Likewise.
38356 (date_mod_CFLAGS): Likewise.
38357 (date_mod_LDFLAGS): Likewise.
38358 (datehook_mod_SOURCES): Likewise.
38359 (datehook_mod_CFLAGS): Likewise.
38360 (datehook_mod_LDFLAGS): Likewise.
38361
38362 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38363 and datehook.mod.
38364 (datetime_mod_SOURCES): New macro.
38365 (datetime_mod_CFLAGS): Likewise.
38366 (datetime_mod_LDFLAGS): Likewise.
38367 (date_mod_SOURCES): Likewise.
38368 (date_mod_CFLAGS): Likewise.
38369 (date_mod_LDFLAGS): Likewise.
38370 (datehook_mod_SOURCES): Likewise.
38371 (datehook_mod_CFLAGS): Likewise.
38372 (datehook_mod_LDFLAGS): Likewise.
38373
38374 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38375 and datehook.mod.
38376 (datetime_mod_SOURCES): New macro.
38377 (datetime_mod_CFLAGS): Likewise.
38378 (datetime_mod_LDFLAGS): Likewise.
38379 (date_mod_SOURCES): Likewise.
38380 (date_mod_CFLAGS): Likewise.
38381 (date_mod_LDFLAGS): Likewise.
38382 (datehook_mod_SOURCES): Likewise.
38383 (datehook_mod_CFLAGS): Likewise.
38384 (datehook_mod_LDFLAGS): Likewise.
38385
38386 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38387
38388 * commands/date.c: New file.
38389
38390 * hook/datehook.c: Likewise.
38391
38392 * include/grub/lib/datetime.h: Likewise.
38393
38394 * include/grub/i386/cmos.h: Likewise.
38395
38396 * lib/datetime.c: Likewise.
38397
38398 * lib/i386/datetime.c: Likewise.
38399
38400 * lib/efi/datetime.c: Likewise.
38401
0e9242da 384022008-08-14 Robert Millan <rmh@aybabtu.com>
38403
38404 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38405 (grub_mkelfimage_SOURCES): New variable.
38406 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38407
38408 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38409 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38410 * conf/powerpc-ieee1275.rmk: Likewise.
38411 * conf/i386-ieee1275.rmk: Likewise.
38412
38413 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38414 * kern/i386/coreboot/init.c: Likewise.
38415
38416 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38417 with `<grub/cpu/kernel.h>'.
38418 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38419 to ...
38420 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38421 * kern/i386/coreboot/startup.S: Likewise.
38422
38423 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38424 (GRUB_MOD_GAP): Remove.
38425 * include/grub/powerpc/kernel.h: New file.
38426 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38427 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38428 * include/grub/i386/kernel.h: New file.
38429 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38430 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38431 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38432
38433 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38434 `grub-mkelfimage'.
38435 Use --directory when invoking grub_mkimage.
38436
38437 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38438 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38439 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38440 and GRUB_KERNEL_CPU_PREFIX.
38441
b86408f8 384422008-08-14 Felix Zielcke <fzielcke@z-51.de>
38443
d5e619ca 38444 * include/grub/err.h (grub_err_printf): New function prototype.
38445 * util/misc.c (grub_err_printf): New function.
38446 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38447 grub_printf.
38448 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38449
7161f0e0 384502008-08-13 Robert Millan <rmh@aybabtu.com>
38451
38452 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38453
a1967522 384542008-08-13 Robert Millan <rmh@aybabtu.com>
38455
38456 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38457 boot entry.
38458
371458b5 384592008-08-12 Robert Millan <rmh@aybabtu.com>
38460
38461 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38462 of the relocation code from here ...
38463 (grub_multiboot): ... to here.
38464 (forward_relocator, backward_relocator): Move from here ...
38465 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38466 (grub_multiboot_backward_relocator): ... to here.
38467 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38468 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38469 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38470 (grub_multiboot_forward_relocator_end)
38471 (grub_multiboot_backward_relocator)
38472 (grub_multiboot_backward_relocator_end): New variables.
38473
05f9452b 384742008-08-12 Bean <bean123ch@gmail.com>
38475
38476 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38477
20024ab0 384782008-08-11 Robert Millan <rmh@aybabtu.com>
38479
38480 * kern/i386/linuxbios/startup.S: Move from here ...
38481 * kern/i386/coreboot/startup.S: ... to here.
38482
38483 * kern/i386/linuxbios/init.c: Move from here ...
38484 * kern/i386/coreboot/init.c: ... to here.
38485
38486 * kern/i386/linuxbios/table.c: Move from here ...
38487 * kern/i386/coreboot/mmap.c: ... to here.
38488
38489 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38490
e352e9cd 384912008-08-11 Robert Millan <rmh@aybabtu.com>
38492
38493 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38494 errors. Leave it to the upper layer to handle them.
38495
2d05bc6a 384962008-08-09 Christian Franke <franke@computer.org>
38497
38498 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38499 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38500 Install `grub.d/10_windows' only on Cygwin.
38501 * configure.ac: Add subst of `target_os'.
38502 Check `target_os' also before setting TARGET_OBJ2ELF.
38503 Add `--enable-grub-pe2elf'.
38504
042bd419 385052008-08-08 Robert Millan <rmh@aybabtu.com>
38506
38507 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38508 (grub_last_time): Change type to grub_uint64_t.
38509 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38510 (grub_disk_close): Likewise.
38511
38512 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38513 (run_menu): Migrate code from to using grub_get_time_ms().
38514
38515 * util/misc.c (grub_get_time_ms): New function.
38516
7f280db5 385172008-08-08 Marco Gerards <marco@gnu.org>
38518
38519 * disk/ata.c (grub_ata_regget): Change return type to
38520 `grub_uint8_t'.
38521 (grub_ata_regget2): Likewise.
38522 (grub_ata_wait_status): New function.
38523 (grub_ata_wait_busy): Removed function, updated all users to use
38524 `grub_ata_wait_status'.
38525 (grub_ata_wait_drq): Likewise.
38526 (grub_ata_cmd): New function.
38527 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38528 error handling.
38529 (grub_ata_pio_write): Add error handling.
38530 (grub_atapi_identify): Likewise.
38531 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38532 handling.
38533 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38534 handling. Actually use the detected registers. Reorder the
38535 detection logic such that it is easier to read.
38536 (grub_ata_pciinit): Do not assign the same ID to each controller.
38537 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38538 handling.
38539 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38540
38541 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38542
1fbc5e66 385432008-08-08 Marco Gerards <marco@gnu.org>
38544
38545 * NEWS: Update.
38546
819ce6c0 385472008-08-07 Bean <bean123ch@gmail.com>
38548
38549 * include/grub/x86_64/pci.h: New file.
38550
5c41d44d 385512008-08-07 Christian Franke <franke@computer.org>
38552
38553 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38554 (TIMER2_GATE): Likewise.
38555 (grub_pit_wait): Add enable/disable of the timer2 gate
38556 bit of port 0x61. This fixes a possible infinite loop.
38557
5ebc275d 385582008-08-07 Bean <bean123ch@gmail.com>
38559
38560 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38561 kern/i386/tsc.c and kern/i386/pit.c.
38562
38563 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38564 x86_64 platform.
38565
38566 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38567 <grub/i386/tsc.h>.
38568
38569 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38570
e383b3d0 385712008-08-07 Bean <bean123ch@gmail.com>
38572
38573 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38574
38575 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38576
38577 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38578 multiple inclusion. Add #include <grub/types.h>.
38579
1cbb58ac 385802008-08-06 Christian Franke <franke@computer.org>
38581
38582 * conf/common.rmk: Build and install `10_windows'.
38583 * util/grub.d/10_windows.in: New script.
38584
337f5a1e 385852008-08-06 Pavel Roskin <proski@gnu.org>
38586
38587 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38588
057bc4ac 385892008-08-06 Robert Millan <rmh@aybabtu.com>
38590
38591 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38592 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38593
2b99f123 385942008-08-06 Bean <bean123ch@gmail.com>
38595
38596 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38597 (grub_pxefs_fs_int): Remove dummy definition.
38598 (grub_pxefs_open): Use data->block_size to store the current block
38599 size setting.
38600 (grub_pxefs_read): Use block size stored in data->block_size. As the
38601 value of grub_pxe_blksize can be changed after the file is opened.
38602
9f0234cb 386032008-08-06 Bean <bean123ch@gmail.com>
38604
38605 * fs/i386/pc/pxe.c (curr_file): new variable.
38606 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38607 require the dummy internal file system anymore.
38608 (grub_pxefs_read): Removed.
38609 (grub_pxefs_close): Likewise.
38610 (grub_pxefs_fs_int): Likewise.
38611 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38612 connection when we switch file.
38613 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38614
a55d42e0 386152008-08-06 Robert Millan <rmh@aybabtu.com>
38616
38617 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38618 `halt.mod'.
38619 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38620 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38621
38622 * kern/i386/halt.c: New file.
38623 * kern/i386/reboot.c: Likewise.
38624 * include/grub/i386/reboot.h: Likewise.
38625 * include/grub/i386/halt.h: Likewise.
38626
38627 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38628 Include `<grub/cpu/halt.h>'.
38629 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38630 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38631
38632 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38633 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38634 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38635 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38636 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38637 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38638 from here ...
38639 * include/grub/i386/at_keyboard.h: ... to here.
38640
24371d26 386412008-08-05 Robert Millan <rmh@aybabtu.com>
38642
38643 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38644 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38645 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38646 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38647 `kern/generic/millisleep.c'.
38648
38649 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38650 instead of grub_get_rtc().
38651 (grub_tsc_init): Initialize `tsc_boot_time'.
38652
38653 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38654 (grub_machine_init): Use grub_tsc_init() rather than
38655 installing an RTC-based handler via grub_install_get_time_ms().
38656
38657 * kern/i386/pit.c: New file.
38658 * include/grub/i386/pit.h: Likewise.
38659
9e7007b3 386602008-08-05 Bean <bean123ch@gmail.com>
38661
38662 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38663
38664 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38665 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38666 (pxe_mod_SOURCES): New macro.
38667 (pxe_mod_CFLAGS): Likewise.
38668 (pxe_mod_LDFLAGS): Likewise.
38669 (pxecmd_mod_SOURCES): Likewise.
38670 (pxecmd_mod_CFLAGS): Likewise.
38671 (pxecmd_mod_LDFLAGS): Likewise.
38672
38673 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38674 (grub_pxe_call): Likewise.
38675
38676 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38677
38678 * commands/i386/pc/pxecmd.c: New file.
38679
9f0234cb 38680 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38681
38682 * include/grub/i386/pc/pxe.h: Likewise.
38683
6977d49f 386842008-08-05 Bean <bean123ch@gmail.com>
38685
38686 * util/console.c (grub_console_cur_color): New variable.
38687 (grub_console_standard_color): Likewise.
38688 (grub_console_normal_color): Likewise.
38689 (grub_console_highlight_color): Likewise.
38690 (color_map): Likewise.
38691 (use_color): Likewise.
38692 (NUM_COLORS): New macro.
38693 (grub_ncurses_setcolorstate): Handle color properly.
38694 (grub_ncurses_setcolor): Don't change color here, just remember the
38695 settings, color will be set in grub_ncurses_setcolorstate.
38696 (grub_ncurses_getcolor): New function.
38697 (grub_ncurses_init): Initialize color pairs.
38698 (grub_ncurses_term): New member grub_ncurses_getcolor.
38699
9c2ff3ee 387002008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38701
9c2ff3ee 38702 High resolution timer support. Implemented for x86 CPUs using TSC.
38703 Extracted generic grub_millisleep() so it's linked in only as needed.
38704 This requires a Pentium compatible CPU; if the RDTSC instruction is
38705 not supported, then it falls back on the generic grub_get_time_ms()
38706 implementation that uses the machine's RTC.
38707
38708 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38709 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38710 `kern/generic/millisleep.c'.
38711
38712 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38713 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38714
38715 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38716 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38717
38718 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38719
38720 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38721 `kern/generic/millisleep.c'.
38722
38723 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38724
38725 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38726
38727 * kern/generic/rtc_get_time_ms.c: New file.
38728
38729 * kern/generic/millisleep.c: New file.
337f5a1e 38730
9c2ff3ee 38731 * kern/misc.c: Don't include
38732 <kern/time.h> anymore.
38733 (grub_millisleep_generic): Removed.
38734
38735 * commands/sleep.c (grub_interruptible_millisleep): Uses
38736 grub_get_time_ms() instead of grub_get_rtc().
38737
38738 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38739 function.
38740 (grub_cpu_is_cpuid_supported): New inline function.
38741 (grub_cpu_is_tsc_supported): New inline function.
38742 (grub_tsc_init): New function prototype.
38743 (grub_tsc_get_time_ms): New function prototype.
38744
38745 * kern/i386/tsc.c (grub_get_time_ms): New file.
38746
38747 * include/grub/time.h: Include <grub/types.h.
38748 (grub_millisleep_generic): Removed.
38749 (grub_get_time_ms): New prototype.
38750 (grub_install_get_time_ms): New prototype.
38751 (grub_rtc_get_time_ms): New prototype.
38752
38753 * kern/time.c (grub_get_time_ms): New function.
38754 (grub_install_get_time_ms): New function.
38755
38756 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38757 <grub/time.h> anymore.
38758 (grub_millisleep): Removed.
38759 (grub_machine_init): Call grub_tsc_init.
38760
38761 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38762 get_time_ms() implementation.
38763
38764 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38765 (ieee1275_get_time_ms): New function.
38766 (grub_machine_init): Install get_time_ms() implementation.
38767
38768 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38769 (grub_machine_init): Call grub_tsc_init().
38770 (grub_millisleep): Removed.
bf06a93f 38771
9c2ff3ee 38772 * kern/ieee1275/init.c (grub_millisleep): Removed.
38773 (grub_machine_init): Install ieee1275_get_time_ms()
38774 implementation.
38775 (ieee1275_get_time_ms): New function.
38776 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38777 real work.
38778
9ec92aaf 387792008-08-05 Marco Gerards <marco@gnu.org>
38780
38781 * disk/ata.c: Include <grub/pci.h>.
38782 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38783 (grub_ata_initialize): Rewritten.
38784 (grub_ata_device_initialize): New function.
38785
8d23f507 387862008-08-04 Pavel Roskin <proski@gnu.org>
38787
38788 * kern/main.c: Include grub/mm.h.
38789
5e15ee3d 387902008-08-04 Robert Millan <rmh@aybabtu.com>
38791
38792 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38793 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38794 corruption problem).
38795
a9053f8f 387962008-08-04 Robert Millan <rmh@aybabtu.com>
38797
38798 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38799 warnings introduced in my last commit.
38800
dd19c7d7 388012008-08-03 Robert Millan <rmh@aybabtu.com>
38802
38803 Make PCI available on all i386 architectures.
38804
38805 * include/grub/i386/pc/pci.h: Move from here ...
38806 * include/grub/i386/pci.h: ... to here.
38807
38808 * include/grub/i386/pc/pci.h: Remove.
38809 * include/grub/i386/efi/pci.h: Remove.
38810 * include/grub/x86_64/efi/pci.h: Remove.
38811
38812 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38813 `<grub/cpu/pci.h>'.
38814
38815 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38816 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38817 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38818
38819 * conf/i386-ieee1275.rmk: Likewise.
38820
e14a6184 388212008-08-03 Robert Millan <rmh@aybabtu.com>
38822
38823 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38824 (grub_console_setcursor): Make it possible to set cursor off.
38825
52768e37 388262008-08-03 Robert Millan <rmh@aybabtu.com>
38827
38828 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38829 of modules instead of assuming which platform provides what.
38830 * util/update-grub.in: Likewise.
38831
2d52f57f 388322008-08-03 Robert Millan <rmh@aybabtu.com>
38833
38834 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38835 instead of `grub_install_dos_part' to determine whether a drive needs
38836 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38837 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38838
2a5cd121 388392008-08-02 Robert Millan <rmh@aybabtu.com>
38840
38841 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38842
93808428 388432008-08-02 Robert Millan <rmh@aybabtu.com>
38844
38845 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38846 of informational grub_dprintf() calls.
38847
3bd0a12a 388482008-08-02 Robert Millan <rmh@aybabtu.com>
38849
38850 * disk/memdisk.c (memdisk_size): Don't initialize.
38851 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38852
38853 * include/grub/i386/pc/kernel.h
38854 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38855 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38856 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38857 (grub_arch_memdisk_size): Remove.
38858
38859 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38860 field (was only used to transfer a constant). Add `type' field to
38861 support multiple module types.
38862 (grub_module_iterate): New function.
38863
38864 * kern/device.c (grub_device_open): Do not hide error messages
38865 when grub_disk_open() fails. Use grub_print_error() instead.
38866
38867 * kern/i386/pc/init.c (grub_arch_modules_addr)
38868 (grub_arch_memdisk_size): Remove functions.
38869 (grub_arch_modules_addr): Return the module address in high memory
38870 (now that it isn't copied anymore).
38871
38872 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38873 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38874 decompression routine (grub_total_module_size already includes that
38875 now). Don't copy modules back to low memory.
38876
38877 * kern/main.c: Include `<grub/mm.h>'.
38878 (grub_load_modules): Split out (and use) ...
38879 (grub_module_iterate): ... this function, which iterates through
38880 module objects and runs a hook.
38881 Comment out grub_mm_init_region() call, as it would cause non-ELF
38882 modules to be overwritten.
38883
38884 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38885 the memdisk image in its own region, make it part of the module list.
38886 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38887 (main): Parse --memdisk|-m option, and pass user-provided path as
38888 parameter to generate_image().
38889 (add_segments): Pass `memdisk_path' down to load_modules().
38890 (load_modules): Embed memdisk image in module section when requested.
38891 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38892 `header.type' instead of `header.offset'.
38893
38894 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38895 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38896 (memdisk_mod_LDFLAGS): New variables.
38897 * conf/i386-coreboot.rmk: Likewise.
38898 * conf/i386-ieee1275.rmk: Likewise.
38899
a927cc73 389002008-08-02 Robert Millan <rmh@aybabtu.com>
38901
38902 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38903 (backward_relocator): New variables. Used to allocate and relocate
38904 the payload, respectively.
38905 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38906 address, install the appropriate relocator code in each bound of
a927cc73 38907 the payload, and set the entry point such that
38908 grub_multiboot_real_boot() will jump to one of them.
38909
38910 * kern/i386/loader.S (grub_multiboot_payload_size)
38911 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38912 (grub_multiboot_payload_entry_offset): New variables.
38913 (grub_multiboot_real_boot): Set cpu context to what the relocator
38914 expects, and jump to the relocator instead of the payload.
38915
38916 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38917 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38918 (grub_multiboot_payload_entry_offset): Export.
38919
b15d8a0c 389202008-08-01 Bean <bean123ch@gmail.com>
38921
38922 * normal/menu_entry.c (editor_getline): Don't return the original
38923 string as result, as it will be released by lexer once it has done
38924 using it.
38925
cdfb3d22 389262008-08-01 Robert Millan <rmh@aybabtu.com>
38927
38928 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38929 within menuentries, not before them.
38930 util/grub.d/10_hurd.in: Likewise.
38931
9175e93d 389322008-08-01 Bean <bean123ch@gmail.com>
38933
38934 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38935 (bufio_mod_SOURCES): New macro.
38936 (bufio_mod_CFLAGS): Likewise.
38937 (bufio_mod_LDFLAGS): Likewise.
38938
38939 * include/grub/bufio.h: New file.
38940
38941 * io/bufio.c: Likewise.
38942
38943 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38944 (grub_video_reader_png): Use grub_buffile_open to open file.
38945
38946 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38947 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38948
38949 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38950 (grub_video_reader_tga): Use grub_buffile_open to open file.
38951
38952 * font/manager.c: Include <grub/bufio.h>.
38953 (add_font): Use grub_buffile_open to open file.
38954
3d8383e7 389552008-07-31 Robert Millan <rmh@aybabtu.com>
38956
38957 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38958 ELF segments, use a macro for arbitrarily accessing any of them instead
38959 of preparing a pointer that allows access to one at a time.
38960 (grub_multiboot_load_elf64): Likewise.
38961
16e641b6 389622008-07-31 Bean <bean123ch@gmail.com>
38963
38964 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38965 GRUB_KERNEL_MACHINE_DATA_END.
38966
59198b72 389672008-07-30 Robert Millan <rmh@aybabtu.com>
38968
38969 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38970 Increase from 0x50 to 0x60.
38971 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38972 use UUIDs to identify the root drive for them. If that's not
38973 possible, abort.
38974 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38975 check, for cross-disk installs.
38976
ae88bca3 389772008-07-30 Robert Millan <rmh@aybabtu.com>
38978
38979 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38980 is non-empty, use it to set the `prefix' environment variable instead
38981 of the usual approach.
38982 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38983 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38984 environment variable instead of dummy make_install_device().
38985
38986 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38987 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38988 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38989
38990 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38991 New variable reference.
38992 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38993 New macro. Defines offset of `grub_prefix' within startup.S (relative
38994 to `start').
38995 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38996 section within startup.S (relative to `start').
38997 * include/grub/i386/coreboot/kernel.h: Likewise.
38998
38999 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39000 Overwrite grub_prefix with its contents, at the beginning of the
39001 first segment.
39002 (main): Understand -p|--prefix.
39003
14f41dd1 390042008-07-30 Robert Millan <rmh@aybabtu.com>
39005
39006 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39007
4ca049a3 390082008-07-30 Robert Millan <rmh@aybabtu.com>
39009
39010 * term/i386/pc/vga_text.c (grub_console_cls): Use
39011 grub_console_gotoxy() to go back to beginning of the screen.
39012 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39013
2921d337 390142008-07-29 Christian Franke <franke@computer.org>
39015
39016 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39017 Add conversion of emulated mount points on Cygwin.
39018
b609876d 390192008-07-29 Christian Franke <franke@computer.org>
39020
39021 * util/update-grub.in: Add a check for admin
39022 group on Cygwin.
39023 Remove old `grub.cfg.new' before creation.
39024 Add `-f' to `mv' to handle the different filesystem
39025 semantics of Windows.
39026
e93e4679 390272008-07-29 Bean <bean123ch@gmail.com>
39028
39029 * normal/main.c (get_line): Fix buffer overflow bug.
39030
41694fd0 390312008-07-28 Robert Millan <rmh@aybabtu.com>
39032
39033 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39034 (struct grub_apple_header): New struct. Describes the layout of
39035 the partmap header.
39036 (apple_partition_map_iterate): Check the header magic as well as the
39037 partition magic (which was already being checked).
39038
cfd0b4e6 390392008-07-28 Pavel Roskin <proski@gnu.org>
39040
39041 * genmk.rb: Add a warning to the beginning of the output that
39042 it's a generated file and should not be edited.
39043
93cce016 390442008-07-28 Robert Millan <rmh@aybabtu.com>
39045
39046 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39047 with the same number are found, just use issue a warning with
39048 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39049
cd1df915 390502008-07-27 Robert Millan <rmh@aybabtu.com>
39051
39052 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39053 information.
39054
b70a8427 390552008-07-27 Bean <bean123ch@gmail.com>
39056
39057 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39058 (grub_fat_find_dir): Ignore case when comparing filename.
39059
8f5e379f 390602008-07-27 Bean <bean123ch@gmail.com>
39061
39062 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39063 smallino, as it's more descriptive, and i8count can be confused with
39064 the other field count.
39065 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39066 inode type.
39067
a85cd5a0 390682008-07-27 Bean <bean123ch@gmail.com>
39069
39070 * commands/crc.c: New file.
39071
39072 * lib/crc.c: Likewise.
39073
39074 * include/grub/lib/crc.h: Likewise.
39075
39076 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39077
39078 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39079 (hexdump): Move this function to ...
39080
39081 * lib/hexdump.c: ... here.
39082
39083 * include/grub/hexdump.h: Renamed to ...
39084
39085 * include/grub/lib/hexdump.h: ... this.
39086
39087 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39088
39089 * util/grub-editenv.c: Likewise.
39090
39091 * include/envblk.h: Renamed to ...
39092
39093 * include/lib/envblk.h: ... this.
39094
39095 * util/envblk.c: Renamed to ...
39096
39097 * lib/envblk.c: ... this.
39098
39099 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39100 lib/hexdump.c.
39101 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39102 (pkglib_MODULES): Add crc.mod.
39103 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39104 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39105 (crc_mod_SOURCES): New macro.
39106 (crc_mod_CFLAGS): Likewise.
39107 (crc_mod_LDFLAGS): Likewise.
39108
39109 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39110
39111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39112
39113 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39114
39115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39116
39117 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39118
c298def0 391192008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39120
39121 * commands/help.c: Include <grub/term.h>.
39122 (TERM_WIDTH): Removed. Updated all users.
39123
cc349fb3 391242008-07-27 Pavel Roskin <proski@gnu.org>
39125
39126 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39127 spurious warnings about a comment within a comment.
39128
9051607e 391292008-07-25 Robert Millan <rmh@aybabtu.com>
39130
39131 * util/getroot.c (find_root_device): Skip devices that match
39132 /dev/dm-[0-9]. This lets the real device be found for any type of
39133 abstraction (LVM, EVMS, RAID..).
39134 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39135 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39136 device is found first, find_root_device() will now skip it.
39137
01453bfc 391382008-07-24 Pavel Roskin <proski@gnu.org>
39139
39140 * include/grub/types.h: Use __builtin_bswap32() and
39141 __builtin_bswap64() with gcc 4.3 and newer.
39142
6af9849f 391432008-07-24 Christian Franke <franke@computer.org>
39144
3a0fa256 39145 * util/i386/pc/grub-install.in: If `--debug' is specified,
39146 pass `--verbose' to grub-setup.
39147 Abort script if make_system_path_relative_to_its_root() fails.
39148
7810e747 391492008-07-24 Bean <bean123ch@gmail.com>
39150
39151 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39152 variable `target_platform' should be `platform'.
39153
42290e17 391542008-07-24 Bean <bean123ch@gmail.com>
39155
51cc5193 39156 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39157 (grub_png_init_fixed_block): New function.
39158 (grub_png_decode_image_data): Handle fixed huffman code compression.
39159
2a8a80e4 391602008-07-24 Bean <bean123ch@gmail.com>
39161
39162 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39163 (grub_pe2elf_SOURCES): New macro.
39164 (CLEANFILES): Add grub-pe2elf.
39165
39166 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39167 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39168 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39169 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39170 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39171 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39172 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39173 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39174 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39175 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39176 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39177 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39178 (GRUB_PE32_DT_FUNCTION): Likewise.
39179 (GRUB_PE32_REL_I386_DIR32): Likewise.
39180 (GRUB_PE32_REL_I386_REL32): Likewise.
39181 (grub_pe32_symbol): New structure.
39182 (grub_pe32_reloc): Likewise.
39183
39184 * util/grub-pe2elf.c: New file.
39185
39186 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39187 start symbol in non pc platform.
39188
39189 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39190
39191 The following patches are from Christian Franke.
39192
39193 * include/grub/dl.h: Remove .previous, gas supports this only
39194 for ELF format.
39195
39196 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39197 Remove .type, gas supports this only for ELF format.
39198
39199 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39200 nullbytes in symbol table. This fixes an infinite loop if table is
39201 zero filled.
39202
39203 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39204 TARGET_IMG_LDFLAGS and EXEEXT.
39205
39206 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39207 TARGET_IMG_LDFLAGS_AC.
39208 (grub_CHECK_STACK_ARG_PROBE): New function.
39209
39210 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39211
39212 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39213
39214 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39215 to set TARGET_IMG_LD* accordingly.
39216 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39217 Add call to grub_CHECK_STACK_ARG_PROBE.
39218 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39219
39220 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39221
39222 * genmk.rb: Add EXEEXT to CLEANFILES.
39223
12ccdb75 392242008-07-23 Robert Millan <rmh@aybabtu.com>
39225
39226 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39227 define the codes for arrows and lines used for the menu).
39228 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39229 as well.
39230
39231 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39232 fonts, because the latter are too slow.
39233
18eeaf04 392342008-07-21 Bean <bean123ch@gmail.com>
39235
39236 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39237 a20. Run keyboard test last, as it will cause macbook to halt.
39238
b095e2ad 392392008-07-18 Pavel Roskin <proski@gnu.org>
39240
39241 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39242 load foreign architecture modules correctly anyway. Keep
39243 support for loading host architecture modules, whether we
39244 compile them or not.
39245
737feb35 392462008-07-17 Pavel Roskin <proski@gnu.org>
39247
3f4ce737 39248 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39249 change target_cpu. The compiler default can mismatch target_cpu
39250 in any case.
39251
4ad2d049 39252 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39253 * kern/efi/efi.c: Likewise.
39254
f6130a12 39255 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39256 target compiler is functional.
39257 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39258 are set up.
39259
58393a2d 39260 * configure.ac: Default to efi platform for x86_64-apple. Allow
39261 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39262 adjustments from the rest, only do them if target is not
39263 explicitly given. Merge other adjustments with the final sanity
39264 check. Remove an extraneous check for supported CPU. Be
39265 specific which CPU and which platform is not supported.
39266
737feb35 39267 * configure.ac: Default to pc platform for x86_64.
39268
546f966a 392692008-07-17 Robert Millan <rmh@aybabtu.com>
39270
39271 Partial LinuxBIOS -> Coreboot rename.
39272
39273 * conf/i386-linuxbios.rmk: Renamed to ...
39274 * conf/i386-coreboot.rmk: ... this.
39275 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39276 * configure.ac: Accept "coreboot" as input platform (but maintain
39277 compatibility with "linuxbios").
39278 * include/grub/i386/linuxbios: Renamed to ...
39279 * include/grub/i386/coreboot: ... this.
39280
20011694 392812008-07-17 Bean <bean123ch@gmail.com>
39282
39283 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39284 (appleldr_mod_SOURCE): New variable.
20011694 39285 (appleldr_mod_CFLAGS): Likewise.
39286 (appleldr_mod_LDFLAGS): Likewise.
39287 (pci_mod_SOURCES): Likewise.
39288 (pci_mod_CFLAGS): Likewise.
39289 (pci_mod_LDFLAGS): Likewise.
39290 (lspci_mod_SOURCES): Likewise.
39291 (lspci_mod_CFLAGS): Likewise.
39292 (lspci_mod_LDFLAGS): Likewise.
39293
39294 * conf/x86_64-efi.rmk: New file.
39295
39296 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39297 macro.
39298 (grub_efidisk_write): Likewise.
39299
39300 * include/efi/api.h (efi_call_0): New macro.
39301 (efi_call_1): Likewise.
39302 (efi_call_2): Likewise.
39303 (efi_call_3): Likewise.
39304 (efi_call_4): Likewise.
39305 (efi_call_5): Likewise.
39306 (efi_call_6): Likewise.
39307
39308 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39309 grub_rescue_cmd_chainloader.
39310
39311 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39312 (grub_pe32_optional_header): Change some fields based on i386 or
39313 x86_64 platform.
39314 (GRUB_PE32_PE32_MAGIC): Likewise.
39315
39316 * include/grub/efi/uga_draw.h: New file.
39317
39318 * include/grub/elf.h (STN_ABS): New constant.
39319 (R_X86_64_NONE): Relocation constant for x86_64.
39320 (R_X86_64_64): Likewise.
39321 (R_X86_64_PC32): Likewise.
39322 (R_X86_64_GOT32): Likewise.
39323 (R_X86_64_PLT32): Likewise.
39324 (R_X86_64_COPY): Likewise.
39325 (R_X86_64_GLOB_DAT): Likewise.
39326 (R_X86_64_JUMP_SLOT): Likewise.
39327 (R_X86_64_RELATIVE): Likewise.
39328 (R_X86_64_GOTPCREL): Likewise.
39329 (R_X86_64_32): Likewise.
39330 (R_X86_64_32S): Likewise.
39331 (R_X86_64_16): Likewise.
39332 (R_X86_64_PC16): Likewise.
39333 (R_X86_64_8): Likewise.
39334 (R_X86_64_PC8): Likewise.
39335
39336 * include/grub/i386/efi/pci.h: New file.
39337
39338 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39339 Change it value based on platform.
39340 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39341 (GRUB_E820_RAM): Likewise.
39342 (GRUB_E820_RESERVED): Likewise.
39343 (GRUB_E820_ACPI): Likewise.
39344 (GRUB_E820_NVS): Likewise.
39345 (GRUB_E820_EXEC_CODE): Likewise.
39346 (GRUB_E820_MAX_ENTRY): Likewise.
39347 (grub_e820_mmap): New structure.
39348 (linux_kernel_header): Change the efi field according to different
39349 kernel version, also field from linux_kernel_header.
39350
39351 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39352
39353 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39354 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39355 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39356 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39357 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39358 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39359 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39360 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39361 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39362 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39363
39364 * include/grub/x86_64/efi/kernel.h: New file.
39365
39366 * include/grub/x86_64/efi/loader.h: Likewise.
39367
39368 * include/grub/x86_64/efi/machine.h: Likewise.
39369
39370 * include/grub/x86_64/efi/pci.h: Likewise.
39371
39372 * include/grub/x86_64/efi/time.h: Likewise.
39373
39374 * include/grub/x86_64/linux.h: Likewise.
39375
39376 * include/grub/x86_64/setjmp.h: Likewise.
39377
39378 * include/grub/x86_64/time.h: Likewise.
39379
39380 * include/grub/x86_64/types.h: Likewise.
39381
39382 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39383 GRUB_TARGET_SIZEOF_VOID_P.
39384
39385 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39386 (grub_efi_locate_handle): Likewise.
39387 (grub_efi_open_protocol): Likewise.
39388 (grub_efi_set_text_mode): Likewise.
39389 (grub_efi_stall): Likewise.
39390 (grub_exit): Likewise.
39391 (grub_reboot): Likewise.
39392 (grub_halt): Likewise.
39393 (grub_efi_exit_boot_services): Likewise.
39394 (grub_get_rtc): Likewise.
39395
39396 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39397 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39398 (grub_efi_allocate_pages): Wrap efi calls.
39399 (grub_efi_free_pages): Wrap efi calls.
39400 (grub_efi_get_memory_map): Wrap efi calls.
39401
39402 * kern/x86_64/dl.c: New file.
39403
39404 * kern/x86_64/efi/callwrap.S: Likewise.
39405
39406 * kern/x86_64/efi/startup.S: Likewise.
39407
39408 * loader/efi/appleloader.c: Likewise.
39409
39410 * loader/efi/chainloader.c (cmdline): New variable.
39411 (grub_chainloader_unload): Wrap efi calls.
39412 (grub_chainloader_boot): Likewise.
39413 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39414 command line.
39415
39416 * loader/efi/chainloader_normal.c (chainloader_command):
39417 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39418 command line.
39419
39420 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39421 method.
39422 (grub_e820_add_region): New function.
39423 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39424 booting.
39425 (grub_find_video_card): New function.
39426 (grub_linux_setup_video): New function.
39427 (grub_rescue_cmd_linux): Probe for video information.
39428
39429 * normal/x86_64/setjmp.S: New file.
39430
39431 * term/efi/console.c (map_char): New function.
39432 (grub_console_putchar): Map unicode char.
39433 (grub_console_checkkey): Wrap efi calls.
39434 (grub_console_getkey): Likewise.
39435 (grub_console_getwh): Likewise.
39436 (grub_console_gotoxy): Likewise.
39437 (grub_console_cls): Likewise.
39438 (grub_console_setcolorstate): Likewise.
39439 (grub_console_setcursor): Likewise.
39440
39441 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39442
59652a20 394432008-07-16 Pavel Roskin <proski@gnu.org>
39444
ef294055 39445 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39446 format strings.
39447
59652a20 39448 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39449 pointer, not an integer. This fixes a warning and prevents
39450 precision loss on 64-bit systems.
39451 (relocate_addresses): Remove unneeded cast.
39452
afc3b5d7 394532008-07-15 Pavel Roskin <proski@gnu.org>
39454
506b2b3e 39455 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39456
62ead89c 39457 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39458
c4cd51d7 39459 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39460 Fix comparison between signed and unsigned.
39461
0d3d8f28 39462 * include/grub/i386/ieee1275/console.h: Declare
39463 grub_console_init() and grub_console_fini().
39464
8804b286 39465 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39466 It's empty and unused.
39467
ee01cf35 39468 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39469 beginning to avoid warnings with some compilers.
39470
afc3b5d7 39471 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39472 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39473
e4e8eaa5 394742008-07-14 Pavel Roskin <proski@gnu.org>
39475
407aceb4 39476 * kern/env.c (grub_register_variable_hook): Don't copy empty
39477 string, it leaks memory. Pass "" to grub_env_set(), it should
39478 handle constant strings.
39479
e4e8eaa5 39480 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39481 * commands/cmp.c (grub_cmd_cmp): Likewise.
39482 * kern/dl.c (grub_dl_flush_cache): Likewise.
39483 (grub_dl_load_core): Likewise.
39484 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39485 (grub_elf64_load_phdrs): Likewise.
39486
d4e2dad3 394872008-07-13 Pavel Roskin <proski@gnu.org>
39488
39489 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39490 between signed and unsigned.
39491 (LzmaEnc_Finish): Fix warning about an unused parameter.
39492
aa24b516 394932008-07-13 Bean <bean123ch@gmail.com>
39494
39495 * Makefile.in (enable_lzo): New rule.
39496
39497 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39498
39499 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39500
39501 * boot/i386/pc/lnxboot.S: #include <config.h>.
39502
39503 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39504 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39505
39506 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39507 compression algorithm according to configure macro.
39508
39509 * kern/i386/pc/startup.S (codestart): Likewise.
39510
39511 * kern/i386/pc/lzma_decode.S: New file.
39512
39513 * include/grub/lib/LzFind.h: Likewise.
39514
39515 * include/grub/lib/LzHash.h: Likewise.
39516
39517 * include/grub/lib/LzmaDec.h: Likewise.
39518
39519 * include/grub/lib/LzmaEnc.h: Likewise.
39520
39521 * include/grub/lib/LzmaTypes.h: Likewise.
39522
39523 * lib/LzFind.c: Likewise.
39524
39525 * lib/LzmaDec.c: Likewise.
39526
39527 * lib/LzmaEnc.c: Likewise.
39528
4ae821ac 395292008-07-13 Bean <bean123ch@gmail.com>
39530
39531 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39532 (grub_ext4_extent_header): New structure.
39533 (grub_ext4_extent): Likewise.
39534 (grub_ext4_extent_idx): Likewise.
39535 (grub_ext4_find_leaf): New function.
39536 (grub_ext2_read_block): Handle extents.
39537
9a745147 395382008-07-12 Robert Millan <rmh@aybabtu.com>
39539
39540 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39541
d49a4cf6 395422008-07-11 Robert Millan <rmh@aybabtu.com>
39543
39544 * util/grub.d/40_custom.in: New file. Example on how to add custom
39545 entries to /etc/grub.d.
39546 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39547 40_custom (implicitly, by merging all the grub.d rules).
39548
947414b4 395492008-07-11 Pavel Roskin <proski@gnu.org>
39550
0059cf6f 39551 * commands/read.c (grub_getline): Fix invalid memory access.
39552 Don't add newline to the variable value.
39553
947414b4 39554 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39555 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39556 (serial_hw_get_port): Check validity of the port number.
39557 (grub_cmd_serial): Check return value of serial_hw_get_port().
39558
62a02d00 395592008-07-07 Pavel Roskin <proski@gnu.org>
39560
39561 * boot/i386/pc/diskboot.S (notification_string): Replace
39562 "Loading kernel" with just "loading". This is shorter, less
39563 confusing and saves a few bytes for possible future changes.
39564
3e5581b0 395652008-07-05 Pavel Roskin <proski@gnu.org>
39566
ea387a48 39567 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39568 size for ATAPI devices, they are undefined. Output sector
39569 number in decimal form.
39570
3e5581b0 39571 * disk/ata.c: Use named constants for status bits.
39572
fdecb8fd 395732008-07-04 Pavel Roskin <proski@gnu.org>
39574
bcd35b90 39575 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39576 grub_addr_t before casting it to the void pointer to fix a
39577 warning. Non-addressable regions are discarded earlier.
39578 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39579 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39580 (check_signature): Don't shadow table_header.
39581 (grub_linuxbios_table_iterate): Cast numeric constants to
39582 grub_linuxbios_table_header_t.
39583 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39584 grub_stop().
39585
af58ab3d 39586 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39587 prevent warnings.
39588
1759aa57 39589 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39590 pointer, which can cause warnings. Support 64-bit addresses.
39591
fdecb8fd 39592 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39593 of sizeof(long). This fixes PowerPC image generation on x86_64.
39594
8516d2a8 395952008-07-04 Robert Millan <rmh@aybabtu.com>
39596
39597 This fixes a performance issue when pc & gpt partmap iterators
39598 didn't abort iteration even after our hook found what it was
fe987087 39599 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39600
39601 Some callers relied on previous buggy behaviour, since they would
34c44600 39602 raise an error when their own hooks caused early abortion of its
8516d2a8 39603 iteration.
39604
39605 * kern/device.c (grub_device_open): Improve error message.
39606 * disk/lvm.c (grub_lvm_open): Likewise.
39607 * disk/raid.c (grub_raid_open): Likewise.
39608
39609 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39610 when hook requests it, independently of grub_errno.
39611 (pc_partition_map_probe): Do not fail when find_func() caused
39612 early abortion of pc_partition_map_iterate().
39613
39614 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39615 when hook requests it, independently of grub_errno.
39616 (gpt_partition_map_probe): Do not fail when find_func() caused
39617 early abortion of gpt_partition_map_iterate().
39618
39619 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39620 when hook requests it, independently of grub_errno. Do not fail when
39621 part_map_iterate_hook() caused early abortion of p->iterate().
39622
39623 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39624 when grub_partition_iterate() returned with non-zero.
39625
277d0de9 396262008-07-03 Pavel Roskin <proski@gnu.org>
39627
39628 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39629 like we do in grub_ata_pio_read().
39630 (grub_ata_readwrite): Always write individual sectors. Fix the
39631 sector count for the remainder.
39632 (grub_ata_write): Enable writing to ATA devices. Correctly
39633 report error for ATAPI devices.
39634
d4c9b428 396352008-07-02 Pavel Roskin <proski@gnu.org>
39636
e43fc690 39637 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39638 warning.
39639
f707af42 39640 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39641 for every read sector, we already increment it for the whole
39642 batch. This fixes reading more than 256 sectors at once.
39643
11e16b15 39644 * util/grub-editenv.c (cmd_info): Cast argument to long
39645 explicitly. ptrdiff_t reduces to int on i386.
39646
cbabfdd4 39647 * util/grub-editenv.c (main): Be specific which parameter is
39648 missing.
39649
b8fbce0a 39650 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39651 (memdisk): Make memdisk_orig_addr a pointer.
39652
c9c8e606 39653 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39654 for file offsets, use grub_off_t instead. Fix printf format
39655 warnings.
39656
ca62e598 39657 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39658 there. Real unexpected warnings should not drown in the noise
39659 about known problems.
39660
ce8d1766 39661 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39662 grub_disk_addr_t for memory addresses.
39663
00c7a56a 39664 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39665 explicitly to fix a warning.
39666
08d3ef09 39667 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39668
cb71ba20 39669 * Makefile.in (MODULE_LDFLAGS): New variable.
39670 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39671 the linker accepts --build-id=none.
39672 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39673 MODULE_LDFLAGS.
39674 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39675
d4c9b428 39676 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39677 those in Linux XFS code. Provide a way to access 64-bit parent
39678 inode.
39679 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39680 the end of struct grub_xfs_dir_header.
39681
d4156eee 396822008-07-02 Bean <bean123ch@gmail.com>
39683
39684 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39685 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39686 and GRUB_IEEE1275_FLAG_NO_ANSI.
39687
39688 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39689 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39690 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39691
39692 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39693 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39694
39695 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39696 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39697
39698 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39699 esc sequence on non ANSI terminal.
39700 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39701
39702 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39703 beginning of file.
39704
2270f77b 397052008-07-02 Bean <bean123ch@gmail.com>
39706
39707 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39708 (grub_editenv_SOURCES): New variable.
39709 (pkglib_MODULES): Add loadenv.mod.
39710 (loadenv_mod_SOURCES): New variable.
39711 (loadenv_mod_CFLAGS): Likewise.
39712 (loadenv_mod_LDFLAGS): Likewise.
39713
39714 * include/grub/envblk.h: New file.
39715
39716 * util/envblk.c: New file.
39717
39718 * util/grub-editenv.c: New file.
39719
39720 * commands/loadenv.c: New file.
39721
0e9e51ec 397222008-07-01 Pavel Roskin <proski@gnu.org>
39723
d89b7634 39724 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39725 not unsigned char. This fixes warnings and is consistent with
39726 other tags.
39727
bf1835b1 39728 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39729
8222a04b 39730 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39731
6a42d99d 39732 * term/tparm.c (analyze): Always set *popcount.
39733
10b159d1 39734 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39735 cast to fix a warning.
39736
b8789f6c 39737 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39738 cast to suppress a warning.
39739
29d7e38a 39740 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39741 grub_fshelp_read_file() expects.
39742
f341f669 39743 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39744 write uuid as a 32-bit value in CPU byte order, so declare and
39745 use it as such.
39746
0e9e51ec 39747 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39748 long if the format specifier expects it.
39749 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39750 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39751 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39752 long to fix a warning.
39753 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39754 grub_dprintf() arguments to fix warnings.
39755
3aefa857 397562008-06-30 Pavel Roskin <proski@gnu.org>
39757
56c7668b 39758 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39759 install_bsd_part immediately before core.img is embedded or
39760 modified on disk. This fixes core.img verification if core.img
39761 cannot be embedded.
39762
3aefa857 39763 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39764 core_path to calculate the blocklist.
39765 Patch from Javier Martín <lordhabbit@gmail.com>
39766
5444088d 397672008-06-29 Robert Millan <rmh@aybabtu.com>
39768
39769 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39770 block to disk block.
39771 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39772 Patch from Niels Böhm <bitbucket@arcor.de>
39773
674835c8 397742008-06-29 Robert Millan <rmh@aybabtu.com>
39775
39776 * util/update-grub_lib.in (font_path): Search for fonts in
39777 /boot/grub first, which is more likely to be readable (we aren't
39778 deciding where fonts live, just looking for them).
39779
f527dbc8 397802008-06-26 Pavel Roskin <proski@gnu.org>
39781
6c2d8df6 39782 * util/biosdisk.c (read_device_map): Don't leave dead map
39783 entries for devices failing stat() check.
39784
f527dbc8 39785 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39786 core_path_dev for the core.img path on the target device.
39787
aebe3d13 397882008-06-26 Robert Millan <rmh@aybabtu.com>
39789
39790 * disk/fs_uuid.c: New file.
39791 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39792 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39793 (fs_uuid_mod_LDFLAGS): New variables.
39794 * include/grub/disk.h (grub_disk_dev_id): Add
39795 `GRUB_DISK_DEVICE_UUID_ID'.
39796 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39797 implement iterate().
39798
37aaf354 397992008-06-26 Robert Millan <rmh@aybabtu.com>
39800
39801 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39802 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39803 Linux image includes no initrd.
39804
25ff262a 398052008-06-21 Javier Martín <lordhabbit@gmail.com>
39806
39807 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39808 call to resolve the core image location that effectively appended the
39809 name twice.
39810
76a2bd44 398112008-06-21 Robert Millan <rmh@aybabtu.com>
39812
39813 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39814 call from here ...
39815
39816 * util/grub.d/10_hurd.in: ... to here ...
39817 * util/grub.d/10_linux.in: ... and here.
39818
650e1c79 398192008-06-19 Robert Millan <rmh@aybabtu.com>
39820
fe987087 39821 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39822 after it has been set by grub_machine_set_prefix().
39823
6ce63911 398242008-06-19 Robert Millan <rmh@aybabtu.com>
39825
39826 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39827 search result when not saving to variable, not the other way around.
39828 When saving to variable, abort iteration as soon as a match is found.
39829
73940cec 398302008-06-19 Robert Millan <rmh@aybabtu.com>
39831
39832 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39833 check for partition that provides /boot/grub. Its logic is flawed,
39834 as it prevents prepare_grub_to_access_device() from being called
39835 multiple times.
39836
3c62a39d 398372008-06-19 Robert Millan <rmh@aybabtu.com>
39838
39839 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39840 "insmod" command directly when abstraction modules are needed,
fe987087 39841 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39842 since it had already been processed).
39843
47395a42 398442008-06-19 Pavel Roskin <proski@gnu.org>
39845
39846 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39847 changed. This is needed in case GRUB_LIBDIR changes.
39848 * conf/i386-ieee1275.rmk: Likewise.
39849 * conf/i386-linuxbios.rmk: Likewise.
39850 * conf/i386-pc.rmk: Likewise.
39851 * conf/powerpc-ieee1275.rmk: Likewise.
39852
a145ac2d 398532008-06-18 Pavel Roskin <proski@gnu.org>
39854
39855 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39856 kernel_elf_symlist.c to symlist.c for consistency with other
39857 architectures. Update all users.
39858 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39859
7847c51e 398602008-06-18 Robert Millan <rmh@aybabtu.com>
39861
39862 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39863 it in prefix.
39864
39865 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39866 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39867 a RAID device, run setup() for all members independently on whether
39868 LVM abstraction is being used.
39869 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39870 If grub-mkimage has set `*install_dos_part == -2', don't override this
39871 value.
39872 Perform *install_dos_part adjustments independently on whether
39873 we're embedding or not.
39874 Clarify error message when image is too big for embedding.
39875 Remove duplicate *install_dos_part stanza.
39876
b23e5644 398772008-06-17 Robert Millan <rmh@aybabtu.com>
39878
39879 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39880 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39881 variables.
39882 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39883 values in grub_ofconsole_normal_color and
39884 grub_ofconsole_highlight_color (they're not directly related to
39885 background and foreground).
39886 (grub_ofconsole_setcolorstate): Extract background and foreground
39887 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39888
0aac2f79 398892008-06-17 Robert Millan <rmh@aybabtu.com>
39890
39891 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39892 /boot/grub for the check in last commit, not /boot (they could be
39893 different partitions).
39894
3cca7ef3 398952008-06-16 Robert Millan <rmh@aybabtu.com>
39896
39897 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39898 asked to setup access for the same partition that provides /boot,
39899 don't bother using UUIDs since our root already has the value we
39900 want.
39901
347396d8 399022008-06-16 Robert Millan <rmh@aybabtu.com>
39903
39904 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39905 I2O devices.
39906 Patch from Sven Mueller <sven@debian.org>.
39907
991477f8 399082008-06-16 Robert Millan <rmh@aybabtu.com>
39909
39910 * util/update-grub.in: Check for $EUID instead of $UID.
39911 Reported by Vincent Zweije.
39912
d31a32a1 399132008-06-16 Bean <bean123ch@gmail.com>
39914
fe987087 39915 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39916 (grub_ext2_read_block): Likewise.
39917 (grub_ext2_read_inode): Likewise.
39918 (grub_ext2_mount): Likewise.
39919 (grub_ext2_close): Likewise.
39920 (grub_ext3_get_journal): Removed.
39921
fe987087 39922 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39923 (grub_reiserfs_read_symlink): Likewise.
39924 (grub_reiserfs_mount): Likewise.
39925 (grub_reiserfs_open): Likewise.
39926 (grub_reiserfs_read): Likewise.
39927 (grub_reiserfs_close): Likewise.
39928 (grub_reiserfs_get_journal): Removed.
39929
39930 * fs/fshelp.c (grub_fshelp_read): Removed.
39931 (grub_fshelp_map_block): Likewise.
39932
39933 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39934 (grub_fshelp_journal): Likewise.
39935 (grub_fshelp_read): Likewise.
39936 (grub_fshelp_map_block): Likewise.
39937
3540a760 399382008-06-16 Pavel Roskin <proski@gnu.org>
39939
39940 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39941 floating point anymore.
39942 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39943
95614c84 399442008-06-15 Pavel Roskin <proski@gnu.org>
39945
39946 * commands/ls.c (grub_ls_list_files): Use integer calculations
39947 for human readable format, avoid floating point use.
39948 * kern/misc.c (grub_ftoa): Remove.
39949 (grub_vsprintf): Remove floating point support.
39950
50465dd6 399512008-06-15 Robert Millan <rmh@aybabtu.com>
39952
fe6b695a 39953 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39954 devices.
39955 Reported by Max Vozeler.
39956
a9207284 399572008-06-15 Robert Millan <rmh@aybabtu.com>
39958
39959 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39960 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39961 skipped later.
39962 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39963 the beginning of the prefix.
39964
39965 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39966 It is assumed that if we have a memdisk, grub-mkimage has set
39967 grub_prefix to include the "(memdisk)" drive in it.
39968
a7cbd45a 399692008-06-15 Robert Millan <rmh@aybabtu.com>
39970
39971 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39972 Initialize keyboard controller after registering the terminal, so that
39973 grub_printf() can be called from grub_keyboard_controller_init().
39974
21cf716a 399752008-06-15 Robert Millan <rmh@aybabtu.com>
39976
39977 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39978 extent-btree which is written as big endian on disk.
39979 Reported by Alain Greppin <al@chilibi.org>.
39980
23a64d8e 399812008-06-14 Robert Millan <rmh@aybabtu.com>
39982
39983 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39984 * util/i386/pc/grub-install.in (modules): Likewise.
39985
d687651c 399862008-06-13 Pavel Roskin <proski@gnu.org>
39987
39988 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39989
dfe9ddd4 399902008-06-13 Bean <bean123ch@gmail.com>
39991
39992 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39993
39994 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39995
39996 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39997 to indicate sparse block.
39998
16ae7781 399992008-06-12 Pavel Roskin <proski@gnu.org>
40000
e6d1a308 40001 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40002 number, grub_fshelp_read() does it for us.
40003
16ae7781 40004 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40005 linear disk read with journal translation.
40006 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40007 * include/grub/fshelp.h: Declare grub_fshelp_read().
40008
40fd3a2b 400092008-06-09 Pavel Roskin <proski@gnu.org>
40010
40011 * fs/minix.c (grub_minix_mount): Handle error reading
40012 superblock.
40013
f5679726 400142008-06-08 Robert Millan <rmh@aybabtu.com>
40015
40016 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40017 don't append the RAID prefix afterwards.
40018 Reported by Clint Adams.
40019
ce525529 400202008-06-08 Robert Millan <rmh@aybabtu.com>
40021
40022 Based on description from Pavel:
40023 * kern/disk.c (grub_disk_check_range): Rename to ...
40024 (grub_disk_adjust_range): ... this. Add a comment explaining the
40025 tasks performed by this function.
40026
ad4936a0 400272008-06-08 Robert Millan <rmh@aybabtu.com>
40028
40029 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40030 `num_serial' (for consistency with other variables).
40031 (struct grub_ntfs_data): Add `uuid' member.
40032 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40033 (grub_ntfs_uuid): New function.
40034 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40035
dc20b0f9 400362008-06-07 Pavel Roskin <proski@gnu.org>
40037
40038 * util/biosdisk.c (open_device): Revert last change to the
40039 function, it broke installation. The sector needs to be
40040 different dependent on which device is opened.
40041
c5e3cfba 400422008-06-06 Robert Millan <rmh@aybabtu.com>
40043
40044 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40045 rest of GRUB, and breakage doesn't happen if its value were modified.
40046
40047 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40048 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40049 a constant (same value).
40050 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40051 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40052
26a1f8c4 400532008-06-06 Robert Millan <rmh@aybabtu.com>
40054
40055 * util/biosdisk.c (open_device): Do not modify sector offset when
40056 accessing a partition. kern/disk.c already handles this for us.
40057
25d6b327 400582008-06-06 Robert Millan <rmh@aybabtu.com>
40059
40060 * util/grub-emu.c (grub_machine_init): Move code in this function from
40061 here ...
40062 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40063 segfault in case grub_printf() is called).
40064
40065 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40066 grub_probe. Update all users not to explicitly add it again.
40067 (grub_device): New variable; contains corresponding device for grubdir.
40068 (fs_module, partmap_module, devabstraction_module): Pass
40069 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40070 every time.
40071
9ece62fb 400722008-06-05 Robert Millan <rmh@aybabtu.com>
40073
40074 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40075 is found, print it (same layout as with labels).
40076
1ad36d37 400772008-06-04 Robert Millan <rmh@aybabtu.com>
40078
40079 * util/biosdisk.c (get_drive): Rename to ...
40080 (find_grub_drive): ... this. Update all users.
40081
40082 (get_os_disk): Rename to ...
40083 (convert_system_partition_to_system_disk): ... this. Update all users.
40084
40085 (find_drive): Rename to ...
40086 (find_system_device): ... this. Update all users.
40087
e6a30859 400882008-06-04 Robert Millan <rmh@aybabtu.com>
40089
40090 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40091 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40092 (make_device_map): Likewise.
40093
00c108a4 400942008-06-01 Robert Millan <rmh@aybabtu.com>
40095
40096 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40097 before dereferencing it.
40098
40099 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40100 union with fat12/fat16-specific ones. Add some new fields, including
40101 `num_serial' for both versions.
40102 (struct grub_fat_data): Add `uuid' member.
40103 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40104 names. Initialize `data->uuid' using `num_serial'.
40105 (grub_fat_uuid): New function.
40106 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40107
40108 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40109 (grub_reiserfs_uuid): New function.
40110 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40111 member.
40112
40113 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40114 (grub_xfs_uuid): New function.
40115 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40116
1385c5bb 401172008-06-01 Robert Millan <rmh@aybabtu.com>
40118
40119 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40120 code that is backward compatible with pre-uuid search command.
40121
c682dfd7 401222008-05-31 Robert Millan <rmh@aybabtu.com>
40123
40124 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40125 floppies after everything else, to ensure floppy drive isn't accessed
40126 unnecessarily (patch from Bean).
40127
b7db5d47 401282008-05-31 Robert Millan <rmh@aybabtu.com>
40129
40130 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40131 not print device names when we were asked to set a variable.
40132
6e037aa9 401332008-05-31 Robert Millan <rmh@aybabtu.com>
40134
40135 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40136 using "cursor-on" and "cursor-off" commands (understood at least by
40137 the Open Firmware flavour on OLPC).
40138
41305bc8 401392008-05-31 Michael Gorven <michael@gorven.za.net>
40140
40141 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40142 on and off sequences.
40143
69ba137e 401442008-05-31 Robert Millan <rmh@aybabtu.com>
40145
40146 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40147 * util/update-grub.in: Likewise.
40148
520ae21b 401492008-05-30 Pavel Roskin <proski@gnu.org>
40150
40151 * util/biosdisk.c (linux_find_partition): Simplify logic and
40152 make the code more universal. Keep special processing for
40153 devfs, but use a simple rule for all other devices. If the
40154 device ends with a number, append 'p' and the partition number.
40155 Otherwise, append only the partition number.
40156
5786569b 401572008-05-30 Robert Millan <rmh@aybabtu.com>
40158
40159 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40160 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40161 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40162 the `root' parameter to Linux.
40163
51500452 401642008-05-30 Robert Millan <rmh@aybabtu.com>
40165
40166 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40167 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40168 --fs_uuid with --fs-uuid.
40169 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40170 all filesystems support them).
40171
811d3878 401722008-05-30 Robert Millan <rmh@aybabtu.com>
40173
40174 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40175 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40176
cab63c95 401772008-05-30 Robert Millan <rmh@aybabtu.com>
40178
40179 * util/grub.d/00_header.in: Remove obsolete comment referencing
40180 convert_system_path_to_grub_path().
40181 * util/update-grub.in: Likewise.
40182 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40183 (convert_system_path_to_grub_path): Add a warning message explaining
40184 that this function is deprecated. Rely on is_path_readable_by_grub()
40185 for the readability checks.
40186 (font_path): Use is_path_readable_by_grub() for the readability
40187 check rather than convert_system_path_to_grub_path().
40188
972e2f7a 401892008-05-30 Robert Millan <rmh@aybabtu.com>
40190
40191 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40192 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40193 converting it first.
40194 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40195 grub.cfg for access to font file, and afterwards call it again to set
40196 the root device.
40197
62191274 401982008-05-30 Robert Millan <rmh@aybabtu.com>
40199
40200 * commands/search.c (options): Add --fs_uuid option.
40201 (search_fs_uuid): New function.
40202 (grub_cmd_search): Fix --set argument passing.
40203 Use search_fs_uuid() when requested via --fs_uuid.
40204 (grub_search_init): Update help message.
40205 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40206 and redeclare it as an array of 16-bit words.
40207 (grub_ext2_uuid): New function.
40208 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40209 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40210 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40211 (GRUB_DEVICE_BOOT_UUID): New variables.
40212 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40213 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40214 whenever possible.
40215 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40216 just assume `root' variable has the right value.
40217 * util/grub.d/10_linux.in: Likewise.
40218 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40219 via PRINT_FS_UUID.
40220 (main): Recognise `-t fs_uuid' argument.
40221
01b73ec8 402222008-05-30 Robert Millan <rmh@aybabtu.com>
40223
40224 * util/biosdisk.c (map): Redefine structure to hold information
40225 about GRUB drive name.
fe6b695a 40226 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40227 drive names.
40228 (call_hook): Remove.
40229 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40230 member. Assume drive has partitions.
40231 (grub_util_biosdisk_open): Access device names via `.device' struct
40232 member.
40233 (open_device): Likewise.
40234 (find_drive): Likewise.
40235 (read_device_map): Adjust map[] usage to match the new struct
40236 definition. Don't check for duplicates (still possible, but not cheap
40237 anymore).
40238 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40239 (make_device_name): Remove assumption of BIOS-like drive names.
40240
22f16596 402412008-05-30 Pavel Roskin <proski@gnu.org>
40242
40243 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40244 compiling execute.c doesn't need grub_script.tab.h anymore.
40245 (normal/command.c_DEPENDENCIES): Likewise.
40246 (normal/function.c_DEPENDENCIES): Likewise.
40247 * conf/i386-ieee1275.rmk: Likewise.
40248 * conf/i386-linuxbios.rmk: Likewise.
40249 * conf/i386-pc.rmk: Likewise.
40250 * conf/powerpc-ieee1275.rmk: Likewise.
40251 * conf/sparc64-ieee1275.rmk: Likewise.
40252
528ad8f2 402532008-05-29 Pavel Roskin <proski@gnu.org>
40254
d1dff95d 40255 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40256 when scanning metadata for volume group name.
40257
528ad8f2 40258 * include/grub/script.h: Don't include grub_script.tab.h. It's
40259 a generated file, which may only be included from the files with
40260 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40261 use union YYSTYPE, as the later allows forward declaration.
40262 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40263
47248e08 402642008-05-29 Robert Millan <rmh@aybabtu.com>
40265
40266 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40267 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40268 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40269 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40270 scan codes.
40271
ee632529 402722008-05-29 Robert Millan <rmh@aybabtu.com>
40273
40274 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40275 control key combinations.
40276
eee96e08 402772008-05-29 Robert Millan <rmh@aybabtu.com>
40278
40279 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40280 * util/ieee1275/grub-install.in: ... to here.
40281 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40282 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40283 (grub_install_SOURCES): Likewise.
40284
da9a6a94 402852008-05-29 Robert Millan <rmh@aybabtu.com>
40286
40287 * fs/affs.c: Update copyright year.
40288 * fs/ext2.c: Likewise.
40289 * fs/fshelp.c: Likewise.
40290 * fs/hfsplus.c: Likewise.
40291 * fs/ntfs.c: Likewise.
40292 * fs/xfs.c: Likewise.
40293 * include/grub/fshelp.h: Likewise.
40294 * util/grub-mkdevicemap.c: Likewise.
40295
12e65f3a 402962008-05-28 Robert Millan <rmh@aybabtu.com>
40297
40298 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40299 might need to be fatfs to support some firmware implementations
40300 (e.g. OFW or EFI).
40301
23023641 403022008-05-28 Robert Millan <rmh@aybabtu.com>
40303
40304 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40305 devices.
40306 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40307 (make_device_map): Likewise.
40308
887d2619 403092008-05-20 Bean <bean123ch@gmail.com>
40310
40311 * fs/fshelp.c (grub_fshelp_map_block): New function.
40312 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40313 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40314
40315 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40316 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40317 (grub_fshelp_journal): New structure.
40318 (grub_fshelp_map_block): New function prototype.
40319 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40320 (grub_fshelp_map_block): Likewise.
40321
40322 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40323 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40324 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40325 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40326 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40327 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40328 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40329 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40330 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40331 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40332 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40333 (grub_ext2_sblock): New members for journal support.
40334 (grub_ext3_journal_header): New structure.
40335 (grub_ext3_journal_revoke_header): Likewise.
40336 (grub_ext3_journal_block_tag): Likewise.
40337 (grub_ext3_journal_sblock): Likewise.
40338 (grub_fshelp_node): New members logfile and journal.
40339 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40340 grub_fshelp_map_block to get real block number.
40341 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40342 number.
40343 (grub_ext2_read_inode): Likewise.
40344 (grub_ext3_get_journal): New function.
40345 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40346 (grub_ext2_close): Release memory used by journal.
40347
40348 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40349 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40350 (grub_reiserfs_transaction_header): Renamed to
40351 grub_reiserfs_description_block, replace field data with real_blocks.
40352 (grub_reiserfs_commit_block): New structure.
40353 (grub_reiserfs_data): New member journal.
40354 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40355 number.
40356 (grub_reiserfs_read_symlink): Likewise.
40357 (grub_reiserfs_iterate_dir): Likewise.
40358 (grub_reiserfs_open): Likewise.
40359 (grub_reiserfs_read): Likewise.
40360 (grub_reiserfs_get_journal): New function.
40361 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40362 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40363 using grub_reiserfs_get_journal.
40364 (grub_reiserfs_close): Release memory used by journal.
40365
40366 * fs/affs.c (grub_affs_read_block): Change block type to
40367 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40368
40369 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40370
40371 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40372
40373 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40374
40375 * fs/udf.c (grub_udf_read_block): Change block type to
40376 grub_disk_addr_t. Use type cast to avoid warning.
40377
40378 * fs/xfs.c (grub_xfs_read_block): Likewise.
40379
b7c6bed5 403802008-05-16 Christian Franke <franke@computer.org>
40381
40382 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40383 to ensure that break with ESC will always work.
40384 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40385 Remove ESC from keyboard queue.
40386
eedf167f 403872008-05-16 Christian Franke <franke@computer.org>
40388
40389 * util/biosdisk.c: [__CYGWIN__] Add includes.
40390 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40391 (get_os_disk): Move variable declarations to OS specific
40392 parts to avoid warning.
40393 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40394 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40395 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40396 Cygwin.
40397 * util/getroot.c: [__CYGWIN__] Add includes.
40398 (strip_extra_slashes): Fix "/" case.
40399 [__CYGWIN__] (get_win32_path): New function.
40400 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40401 [__CYGWIN__] (find_root_device): Disable.
40402 [__CYGWIN__] (get_bootsec_serial): New function.
40403 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40404 [__linux__] (grub_guess_root_device): Add early returns to simplify
40405 structure.
40406 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40407 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40408 check for Linux only.
40409
a079699e 404102008-05-15 Bean <bean123ch@gmail.com>
40411
40412 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40413 keyboard hang problem in apple's intel mac.
40414
1cf4059a 404152008-05-09 Robert Millan <rmh@aybabtu.com>
40416
40417 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40418 devices.
40419 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40420 (make_device_map): Likewise.
40421 Reported by Aurelien Jarno <aurel32@debian.org>
40422
ed759390 404232008-05-07 Ian Campbell <ijc@hellion.org.uk>
40424
40425 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40426 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40427 (make_device_map): Output entries for xvd type disks.
40428
b56c4eaa 404292008-05-07 Robert Millan <rmh@aybabtu.com>
40430
40431 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40432 devices.
40433 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40434 (make_device_map): Likewise.
40435 Reported by Roland Dreier <rdreier@cisco.com>
40436
7f8866ed 404372008-05-07 Robert Millan <rmh@aybabtu.com>
40438
40439 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40440 grub_strstr() call. Correct a few mistakes in failure path handling.
40441
b0346e0f 404422008-05-06 Robert Millan <rmh@aybabtu.com>
40443
40444 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40445 Do not print a trailing slash (therefore, the root directory is an
40446 empty string).
40447 (convert_system_path_to_grub_path): Do not remove trailing slash
40448 from make_system_path_relative_to_its_root() output.
40449
40450 * util/i386/pc/grub-install.in: Add trailing slash to output from
40451 make_system_path_relative_to_its_root().
40452
6cf12cbd 404532008-05-06 Robert Millan <rmh@aybabtu.com>
40454
40455 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40456 ensures that output lines aren't intermangled with those sent to
40457 stderr (via grub_util_info()).
40458 * util/grub-probe.c (grub_refresh): Likewise.
40459 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40460
0fbb3117 404612008-05-05 Christian Franke <franke@computer.org>
40462
40463 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40464 Add Cygwin device names.
40465 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40466 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40467 (check_device): Return error instead of success on empty name.
40468 (make_device_map): Move label inside linux specific code to
40469 prevent compiler warning.
40470
8124cdb7 404712008-04-30 Robert Millan <rmh@aybabtu.com>
40472
40473 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40474 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40475 first boot option.
40476 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40477
094c01d0 404782008-04-29 Robert Millan <rmh@aybabtu.com>
40479
40480 * docs/grub.cfg: New file (example GRUB configuration).
40481
f4b1fc02 404822008-04-26 Robert Millan <rmh@aybabtu.com>
40483
329ce2a5 40484 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40485 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40486 and `disk/ieee1275/nand.c'.
f4b1fc02 40487
25f16ec1 404882008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40489
25f16ec1 40490 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40491 i386-linuxbios.
40492
40493 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40494 change the buffer size to 4096 for cdrom device.
40495
40496 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40497 and nand.mod.
40498 (_linux_mod_SOURCES): New variable.
40499 (_linux_mod_CFLAGS): Likewise.
40500 (_linux_mod_LDFLAGS): Likewise.
40501 (linux_mod_SOURCES): Likewise.
40502 (linux_mod_CFLAGS): Likewise.
40503 (linux_mod_LDFLAGS): Likewise.
40504 (nand_mod_SOURCES): Likewise.
40505 (nand_mod_CFLAGS): Likewise.
40506 (nand_mod_LDFLAGS): Likewise.
40507
40508 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40509 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40510 type property. (nand device in olpc don't have this property)
40511
40512 * include/grub/disk.h (grub_disk_dev_id): New macro
40513 GRUB_DISK_DEVICE_NAND_ID.
40514
40515 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40516 function prototype.
40517 (grub_rescue_cmd_initrd): Likewise.
40518
40519 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40520 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40521 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40522
25f16ec1 40523 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40524 GRUB_MACHINE_IEEE1275 is defined.
40525
40526 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40527 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40528
40529 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40530 on nested function heap_init.
40531 (grub_upper_mem): New variable for i386-ieee1275.
40532 (grub_get_extended_memory): New function for i386-ieee1275.
40533 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40534
40535 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40536 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40537 property.
f19dbdb7 40538
25f16ec1 40539 * loader/i386/ieee1275/linux.c: New file.
40540
40541 * loader/i386/ieee1275/linux_normal.c: New file.
40542
40543 * disk/ieee1275/nand.c: New file.
40544
e89d61e9 405452008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40546
40547 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40548 value.
40549 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40550
602566f6 405512008-04-18 Robert Millan <rmh@aybabtu.com>
40552
40553 Restructures early code path on ieee1275 to unify grub_main() as
40554 the first C function that is executed in every platform.
40555
40556 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40557 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40558 cmain().
40559 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40560 * kern/ieee1275/cmain.c (cmain): Rename to ...
40561 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40562 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40563 at the beginning.
40564
57490c2b 405652008-04-18 Robert Millan <rmh@aybabtu.com>
40566
40567 * util/update-grub.in: Fix syntax error when setting
40568 `GRUB_PRELOAD_MODULES'.
40569 Reported by Stephane Chazelas <stephane@artesyncp.com>
40570
1977517d 405712008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40572
40573 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40574 section into account, newer toolchains generate unique build ids
40575 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40576 we want build ids to be preserved
1977517d 40577 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40578 far from other sections don't cause the raw binary images grow
40579 size
40580
bfb1f1a2 405812008-04-15 Robert Millan <rmh@aybabtu.com>
40582
40583 * disk/lvm.c: Update copyright year.
40584 * kern/misc.c: Likewise.
40585
01979850 405862008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40587
40588 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40589 there is no memory left for physical volume name.
01979850 40590
0a1150e2 405912008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40592
40593 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40594 volume name mapping to support bigger than 9 character names properly.
40595
82ead3fe 405962008-04-13 Robert Millan <rmh@aybabtu.com>
40597
40598 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40599 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40600
e54a72f5 406012008-04-13 Christian Franke <franke@computer.org>
40602
40603 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40604 to create a floppy emulation boot CD when non emulation mode
40605 does not work.
40606 Enable Joliet CD filesystem extension.
40607
9fe86034 406082008-04-13 Robert Millan <rmh@aybabtu.com>
40609
40610 * kern/misc.c (grub_strncat): Fix off-by-one error.
40611 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40612
40613 * kern/env.c (grub_env_context_close): Clear current context, not
40614 previous one.
40615 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40616
40617 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40618
7ceeee39 406192008-04-13 Robert Millan <rmh@aybabtu.com>
40620
40621 Improve robustness when handling LVM.
40622
40623 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40624 (and leave `*p' unmodified).
7ceeee39 40625 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40626 through it.
40627 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40628 iterating through it.
40629 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40630 through it.
fe6b695a 40631 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40632 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40633 Don't assume `vg->pvs != NULL' when iterating through it.
40634
58cd3d85 406352008-04-13 Robert Millan <rmh@aybabtu.com>
40636
40637 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40638 * genmk.rb (partmap): New variable.
40639 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40640 (#{partmap}): New target rule.
40641 * genpartmaplist.sh: New file.
40642 * Makefile.in (pkglib_DATA): Add partmap.lst.
40643 (partmap.lst): New target rule.
40644 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40645 modules (including all partition maps), instead of preloading them.
40646
78b51059 406472007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40648
40649 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40650 `linux-boot-prober' (if installed) to detect other operating
40651 systems which are installed on the computer and add them to
40652 the boot menu.
40653 * conf/common.rmk: Build and install 30_os-prober.
40654
a91627b4 406552008-04-12 Robert Millan <rmh@aybabtu.com>
40656
40657 * kern/powerpc/ieee1275/init.c: Move from here ...
40658 * kern/ieee1275/init.c: ... to here. Update all users.
40659
40660 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40661 * kern/ieee1275/cmain.c: ... to here. Update all users.
40662
40663 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40664 * kern/ieee1275/openfw.c: ... to here. Update all users.
40665
40666 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40667 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40668
322562ea 406692008-04-10 Pavel Roskin <proski@gnu.org>
40670
40671 * configure.ac: Always use "_cv_" in cache variables for
40672 compatibility with Autoconf 2.62.
40673
a02a73c5 406742008-04-07 Robert Millan <rmh@aybabtu.com>
40675
40676 Revert grub/machine/init.h addition by Pavel (since it breaks on
40677 i386-ieee1275 and others):
40678 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40679 * util/powerpc/ieee1275/misc.c: Likewise.
40680
25c024b1 406812008-04-07 Robert Millan <rmh@aybabtu.com>
40682
40683 * util/grub-probe.c (probe): Improve error message.
40684
3cbd2f98 406852008-04-07 Robert Millan <rmh@aybabtu.com>
40686
40687 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40688 (this prevents the presence of a bogus entry from ruining the whole
40689 thing).
40690
87a297bf 406912008-04-06 Pavel Roskin <proski@gnu.org>
40692
36747a62 40693 * util/biosdisk.c: Include grub/util/biosdisk.h.
40694 * util/grub-fstest.c (execute_command): Make static.
40695 * util/grub-mkdevicemap.c (check_device): Likewise.
40696 * util/i386/pc/misc.c: Include grub/machine/init.h.
40697 * util/powerpc/ieee1275/misc.c: Likewise.
40698 * util/lvm.c: Include grub/util/lvm.h.
40699 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40700 grub/cache.h.
40701 * util/raid.c: Include grub/util/raid.h.
40702 (grub_util_getdiskname): Make static.
40703
87a297bf 40704 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40705 grub_hostfs_fini(), as they are called from grub_init_all() and
40706 grub_fini_all() respectively. This fixes an infinite loop in
40707 grub-fstest due to double registration of hostfs.
40708 Reported by Christian Franke <Christian.Franke@t-online.de>
40709
f6ce7629 407102008-04-05 Pavel Roskin <proski@gnu.org>
40711
40712 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40713 all 8 functions. Otherwise, probe function 0 only.
40714
070e49e4 407152008-04-04 Pavel Roskin <proski@gnu.org>
40716
8b088a4c 40717 * commands/lspci.c (grub_lspci_iter): Print the bus number
40718 correctly.
40719
4f657021 40720 * commands/lspci.c (grub_pci_classes): Fix typos.
40721 (grub_lspci_iter): Don't print func twice. Print vendor ID
40722 before device ID, as it's normally done.
40723
070e49e4 40724 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40725 Fix signedness warnings.
40726 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40727 Likewise.
40728 * util/ieee1275/get_disk_name.c: Include config.h so that
40729 _GNU_SOURCE is defined and getline() is declared. Mark an
40730 unused argument as such. Fix a signedness warning.
40731
ba7328dc 407322008-04-02 Pavel Roskin <proski@gnu.org>
40733
26887f22 40734 * genkernsyms.sh.in: Use more robust assignments for CC and
40735 srcdir. Quote srcdir.
40736 * gensymlist.sh.in: Likewise. Assert at the compile time that
40737 the symbol table is not empty.
40738
ba7328dc 40739 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40740 * fs/cpio.c (grub_cpio_read): Likewise.
40741
0f582c6b 407422008-04-01 Pavel Roskin <proski@gnu.org>
40743
4b6e1995 40744 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40745 * disk/host.c (grub_host_open): Likewise.
40746 * disk/loopback.c (grub_loopback_open): Likewise.
40747 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40748 disk->id as in disk/host.c, not a multi-character constant.
40749
828a2768 40750 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40751 later is obsolete, potentially dangerous and sets a bad example.
40752 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40753 * util/misc.c (grub_util_get_image_size): Likewise.
40754
2bb4fb47 40755 * disk/loopback.c (options): Improve help for "--partitions".
40756
0f582c6b 40757 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40758 options to align them with the short options, e.g. "echo -e".
40759
a33224e0 407602008-03-31 Bean <bean123ch@gmail.com>
40761
40762 * video/reader/png.c (grub_png_data): New member is_16bit and
40763 image_data.
40764 (grub_png_decode_image_header): Detect 16 bit png image.
40765 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40766 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40767 (grub_video_reader_png): Release memory occupied by image_data.
40768
40769 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40770 4096 bytes.
40771 (grub_nfs_mount): Skip the test for sector per cluster.
40772
40773 * include/grub/ntfs.h (MAX_SPC): Removed.
40774
86cb4f54 407752008-03-31 Bean <bean123ch@gmail.com>
40776
40777 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40778 (grub_probe_SOURCES): Add fs/afs.c.
40779 (grub_fstest_SOURCES): Likewise.
40780 (afs_mod_SOURCES): New variable.
40781 (afs_mod_CFLAGS): Likewise.
40782 (afs_mod_LDFLAGS): Likewise.
40783
40784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40785 (grub_emu_SOURCES): Likewise.
40786
40787 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40788
40789 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40790
40791 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40792
40793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40794
40795 * fs/afs.c: New file.
40796
17c74c21 407972008-03-30 Pavel Roskin <proski@gnu.org>
40798
4cb68e89 40799 * disk/host.c: Include grub/misc.h to fix a warning.
40800 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40801 warnings about implicit declarations.
40802
8790bb04 40803 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40804 variable.
40805 * include/grub/i386/loader.h: Change declaration of
40806 grub_linux_boot() to match what grub_loader_set() expects.
40807 * util/getroot.c (grub_guess_root_device): Return const char* to
40808 fix a warning.
40809 * util/grub-probe.c (probe): Fix a warning about uninitialized
40810 abstraction_name variable.
40811 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40812 second argument as unused to fix a warning.
40813
9a3f3296 40814 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40815 missing grub_error() call.
40816
0ecef90d 40817 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40818 2.60 and newer uses it to define datadir.
40819
0bf6d401 40820 * commands/sleep.c: Fix warning about implicit declaration.
40821 * disk/memdisk.c: Likewise.
40822 * loader/aout.c: Likewise.
40823 * loader/i386/bsd_normal.c: Likewise.
40824 * util/grub-probe.c: Likewise.
40825
7cdacf97 40826 * commands/i386/cpuid.c (has_longmode): Make static.
40827 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40828 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40829
17c74c21 40830 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40831 GDT. This is more robust, as %ds can change.
40832 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40833 calling real_to_prot().
40834 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40835
80a3e68b 408362008-03-28 Pavel Roskin <proski@gnu.org>
40837
40838 * kern/i386/pc/startup.S: Assert that uncompressed functions
40839 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40840 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40841 code, as they push parts of the code (error handlers) beyond
40842 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40843 code as correctness and size.
40844
77bcd272 408452008-03-28 Pavel Roskin <proski@gnu.org>
40846
40847 * kern/i386/pc/startup.S
40848 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40849 data block address to the real mode, keep offset minimal. This
40850 works around a bug in AWARD BIOS on old Athlon systems, which
40851 makes CD detection hang.
40852
c5dfd43b 408532008-03-26 Pavel Roskin <proski@gnu.org>
40854
40855 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40856 const.
40857 * include/grub/normal.h: Add grub_parse_color_name_pair()
40858 declaration.
40859
bf962df2 408602008-03-24 Bean <bean123ch@gmail.com>
40861
40862 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40863 (cd_count): Removed.
40864 (cd_drive): New variable.
40865 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40866 (grub_biosdisk_call_hook): Likewise.
40867 (grub_biosdisk_iterate): Change cdrom detection method.
40868 (grub_biosdisk_open): Replace cd_start with cd_drive.
40869 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40870 detect cdrom device.
40871
40872 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40873 Removed.
40874 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40875 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40876 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40877 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40878 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40879 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40880 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40881 (grub_biosdisk_cdrp): New structure.
40882 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40883
40884 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40885
40886 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40887 device.
40888
40889 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40890 New function.
40891
68e7fc7a 408922008-03-20 Robert Millan <rmh@aybabtu.com>
40893
40894 Remove 2 TiB limit in ata.mod.
40895 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40896 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40897 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40898 grub_uint64_t instead of grub_uint32_t.
40899
38ad2cf5 409002008-03-05 Bean <bean123ch@gmail.com>
40901
40902 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40903 (grub_multiboot): Set boot device.
40904
40905 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40906
2b89344e 409072008-03-02 Bean <bean123ch@gmail.com>
40908
40909 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40910 symlink_buffer.
40911
87a95d1f 409122008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40913
40914 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40915 texinfo.tex.
40916
40917 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40918 modified.
40919
40920 * docs/fdl.texi: New file.
f19dbdb7 40921
87a95d1f 40922 * docs/mdate-sh: New file. Copied from gnulib.
40923 * docs/texinfo.tex: Likewise.
40924
40925 * config.guess: Updated from gnulib.
40926 * install-sh: Likewise.
40927
7dc15d8e 409282008-02-28 Robert Millan <rmh@aybabtu.com>
40929
40930 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40931 (aout_mod_SOURCES): New variable.
40932 (aout_mod_CFLAGS): Likewise.
40933 (aout_mod_LDFLAGS): Likewise.
40934
40935 * conf/i386-ieee1275.rmk: Likewise.
40936
b00ab696 409372008-02-28 Robert Millan <rmh@aybabtu.com>
40938
40939 * util/update-grub.in: Reorganise terminal validity check. Accept
40940 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40941 Based on suggestion by Franklin PIAT.
40942
79ca2d78 409432008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40944
40945 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40946 function.
40947 * util/getroot.c (grub_util_check_block_device): New function that
40948 returns the given argument if it is a block device and returns NULL else.
40949 * util/grub-probe.c (argument_is_device): New variable.
40950 (probe): Promote device_name from a variable to an argument. Receive
40951 device_name from grub_util_check_block_device() if path is NULL and from
40952 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40953 (options): Introduce new parameter '-d, --device'.
79ca2d78 40954 (main): Add description of the new parameter to the help screen.
40955 Rename path variable to argument. Set argument_is_device if the '-d'
40956 option is given. Pass argument to probe() depending on
40957 argument_is_device.
40958
0d16e571 409592008-02-24 Bean <bean123ch@gmail.com>
40960
40961 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40962 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40963 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40964 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40965 (GRUB_ISO9660_VOLDESC_END): Likewise.
40966 (grub_iso9660_primary_voldesc): New member escape.
40967 (grub_iso9660_data): New member joliet.
40968 (grub_iso9660_convert_string): New function.
40969 (grub_iso9660_mount): Detect joliet extension.
40970 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40971 (grub_iso9660_iso9660_label): Likewise.
40972
40973 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40974 (grub_setup_SOURCES): Add fs/udf.c.
40975 (grub_fstest_SOURCES): Likewise.
40976 (udf_mod_SOURCES): New variable.
40977 (udf_mod_CFLAGS): Likewise.
40978 (udf_mod_LDFLAGS): Likewise.
40979
40980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40981 (grub_emu_SOURCES): Likewise.
40982
40983 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40984
40985 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40986
40987 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40988
40989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40990
40991 * fs/udf.c: New file.
40992
8a594a17 409932008-02-24 Robert Millan <rmh@aybabtu.com>
40994
40995 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40996 (normal/lexer.c_DEPENDENCIES): New variables.
40997 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40998 (normal/lexer.c_DEPENDENCIES): Likewise.
40999 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41000 (normal/lexer.c_DEPENDENCIES): Likewise.
41001 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41002 (normal/lexer.c_DEPENDENCIES): Likewise.
41003 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41004 (normal/lexer.c_DEPENDENCIES): Likewise.
41005 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41006 (normal/lexer.c_DEPENDENCIES): Likewise.
41007
2dc33c03 410082008-02-23 Robert Millan <rmh@aybabtu.com>
41009
41010 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41011 since they were intended to be in hex. This didn't break previously
41012 because of a bug in gpt_partition_map_iterate() (see below).
41013
41014 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41015 when checking the validity of GPT header.
41016 Remove `partno', since it always provides the same information as `i'.
41017
f6f4cfb0 410182008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41019
41020 * include/grub/efi/time.h: Fix a wrong comment.
41021
79ff665f 410222008-02-19 Pavel Roskin <proski@gnu.org>
41023
41024 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41025 message.
41026
d38e24c2 410272008-02-19 Bean <bean123ch@gmail.com>
41028
41029 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41030 (aout_mod_SOURCES): New variable.
41031 (aout_mod_CFLAGS): Likewise.
41032 (aout_mod_LDFLAGS): Likewise.
41033 (_bsd_mod_SOURCES): New variable.
41034 (_bsd_mod_CFLAGS): Likewise.
41035 (_bsd_mod_LDFLAGS): Likewise.
41036 (bsd_mod_SOURCES): New variable.
41037 (bsd_mod_CFLAGS): Likewise.
41038 (bsd_mod_LDFLAGS): Likewise.
41039
41040 * include/grub/aout.h: New file.
41041
41042 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41043
41044 * include/grub/i386/bsd.h: New file.
41045
41046 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41047 to make it public.
41048
41049 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41050 function is called, so that it's possible to change it inside the hook.
41051 (grub_elf64_load): Likewise.
41052 (grub_elf_file): Don't close the file if elf header is not found.
41053 (grub_elf_close): Close the file if grub_elf_file fails (The new
41054 grub_elf_file won't close it).
41055 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41056 (grub_elf64_size): Likewise.
41057
41058 * kern/i386/loader.S (grub_unix_real_boot): New function.
41059
41060 * loader/aout.c: New file.
41061
41062 * loader/i386/bsd.c: New file.
41063
41064 * loader/i386/bsd_normal.c: New file.
41065
41066 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41067
41068 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41069 can test other formats.
d38e24c2 41070
b93bdb0f 410712008-02-19 Robert Millan <rmh@aybabtu.com>
41072
41073 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41074 (grub_gpt_partition_type_empty): Redefine with macro from
41075 `<grub/gpt_partition.h>'.
41076 (gpt_partition_map_iterate): Adjust partition type comparison.
41077
41078 Export `entry' as partmap-specific `part.data' struct.
41079 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41080
41081 * include/grub/gpt_partition.h (grub_gpt_header)
41082 (grub_gpt_partentry): ... to here (new file).
41083
41084 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41085
41086 (grub_gpt_partition_type_bios_boot): New const variable, defined
41087 with macro from `<grub/gpt_partition.h>'.
41088
41089 (setup): Replace `first_start' with `embed_region', which keeps
41090 track of the embed region (and is partmap-agnostic).
41091
41092 Replace find_first_partition_start() with find_usable_region(),
41093 which finds a usable region for embedding using partmap-specific
41094 knowledge (supports PC/MSDOS and GPT).
41095
41096 Fix all assumptions that the embed region start at sector 1, using
41097 `embed_region.start' from now on. Similarly, use `embed_region.end'
41098 rather than `first_start' to calculate available size.
41099
41100 In grub_util_info() message, replace "into after the MBR" with an
41101 indication of the specific sector our embed region starts at.
41102
66cb40f6 411032008-02-19 Robert Millan <rmh@aybabtu.com>
41104
41105 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41106 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41107 `commands/reboot.c'.
41108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41109 (halt_mod_SOURCES): Likewise.
41110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41111 (halt_mod_SOURCES): Likewise.
41112
b7202015 411132008-02-17 Christian Franke <franke@computer.org>
41114
41115 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41116
32b0fc49 411172008-02-17 Robert Millan <rmh@aybabtu.com>
41118
41119 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41120 set `first_start' to 0 for non-PC/MSDOS partition maps.
41121
aca63502 411222008-02-16 Robert Millan <rmh@aybabtu.com>
41123
41124 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41125 do not assume partition map is PC/MSDOS before performing checks that
41126 are specific to that layout.
41127
0de8be86 411282008-02-13 Robert Millan <rmh@aybabtu.com>
41129
41130 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41131 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41132 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41133
c3db8364 411342008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41135
41136 * configure.ac: Only a cosmetic change on the handling of
41137 -fno-stack-protector.
41138
f714229e 411392008-02-12 Alexandre Boeglin <alex@boeglin.org>
41140
c3db8364 41141 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41142 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41143 reboot.c.
f714229e 41144 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41145 (halt_mod_SOURCES): New variable.
41146 (halt_mod_CFLAGS): Likewise.
41147 (halt_mod_LDFLAGS): Likewise.
41148 (reboot_mod_SOURCES): Likewise.
41149 (reboot_mod_CFLAGS): Likewise.
41150 (reboot_mod_LDFLAGS): Likewise.
41151
c3db8364 41152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41153 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41154 reboot.c.
f714229e 41155 (halt_mod_SOURCES): Likewise.
41156 (reboot_mod_SOURCES): Likewise.
41157
c3db8364 41158 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41159 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41160 (reboot_mod_SOURCES): Likewise.
41161
41162 * commands/i386/pc/reboot.c: merge this file ...
41163
41164 * commands/ieee1275/reboot.c: ... and this file ...
41165
41166 * commands/reboot.c: ... to this file.
c3db8364 41167 Add some precompiler directive to include the correct header for
41168 each machine.
f714229e 41169
41170 * commands/ieee1275/halt.c: move this file ...
41171
41172 * commands/halt.c: ... to here.
c3db8364 41173 Add some precompiler directive to include the correct header for
41174 each machine.
f714229e 41175
41176 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41177 (grub_halt): Likewise.
41178
41179 * kern/efi/efi.c (grub_reboot): New function.
41180 (grub_halt): Likewise.
41181
c74493e0 411822008-02-12 Robert Millan <rmh@aybabtu.com>
41183
41184 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41185 /dev (like it is done for /dev/mapper). This doesn't provide support
41186 for EVMS, but at least it is now easy to identify the problem when it
41187 arises.
41188
d0db4b04 411892008-02-11 Robert Millan <rmh@aybabtu.com>
41190
41191 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41192 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41193 comparing it with -1, not 0.
41194
bf748642 411952008-02-10 Robert Millan <rmh@aybabtu.com>
41196
41197 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41198 `disk/lvm.c'.
41199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41200 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41201
41202 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41203 `disk/lvm.c' to the end of the list.
41204 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41205 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41206
b5db202a 412072008-02-10 Robert Millan <rmh@aybabtu.com>
41208
41209 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41210 grub_print_error() instead. This will let user know why we're entering
41211 rescue mode.
41212 Based on suggestions from Sam Morris.
41213
83abee31 412142008-02-10 Alexandre Boeglin <alex@boeglin.org>
41215
41216 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41217 on remaining N args, instead of "--" arg N times.
41218
78d5a08b 412192008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41220
41221 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41222 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41223 pattern for unknown glyphs.
41224
68807e5f 412252008-02-09 Robert Millan <rmh@aybabtu.com>
41226
41227 * configure.ac: Probe for `help2man'.
41228 * Makefile.in (builddir): New variable.
41229 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41230 or otherwise add a few flags/options to it.
41231 (install-local): For every executable utility or script that is
41232 installed, invoke $(HELP2MAN) to install a manpage based on --help
41233 output.
41234
41235 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41236 that it doesn't prevent --help from working in build tree.
41237
41238 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41239 with `bug-grub@gnu.org'.
41240 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41241 * util/update-grub.in (usage): New function.
41242 Implement proper argument check, with support for --help and --version
41243 (as well as existing -y).
41244
412452008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41246
41247 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41248 avoid overwriting previous output.
41249 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41250
c1962162 412512008-02-09 Robert Millan <rmh@aybabtu.com>
41252
41253 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41254 drawing the menu.
41255
3dac2e3f 412562008-02-09 Robert Millan <rmh@aybabtu.com>
41257
41258 * commands/sleep.c: New file.
41259 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41260 (sleep_mod_SOURCES): New variable.
41261 (sleep_mod_CFLAGS): Likewise.
41262 (sleep_mod_LDFLAGS): Likewise.
41263
7a634e08 412642008-02-09 Robert Millan <rmh@aybabtu.com>
41265
41266 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41267 situations in which we can deduce the RAID size and the superblock
41268 doesn't match it.
41269
b92f0c18 412702008-02-09 Robert Millan <rmh@aybabtu.com>
41271
41272 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41273 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41274 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41275
41276 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41277 and return a grub_diskmemberlist_t composed of physical array members.
41278 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41279
41280 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41281 prototype.
41282 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41283 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41284 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41285
41286 * util/grub-probe.c (probe): Move partmap probing code from here ...
41287 (probe_partmap): ... to here.
41288 (probe): Use probe_partmap() once for the disk we're probing, and
41289 additionally, when such disk contains a memberlist() struct member,
41290 once for each disk that is contained in the structure returned by
41291 memberlist().
41292
91a4bf68 412932008-02-09 Robert Millan <rmh@aybabtu.com>
41294
41295 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41296 environment variable to 'all' in order to obtain debug output from
41297 non-util/ code.
41298 * util/i386/pc/grub-setup.c (main): Likewise.
41299
a96f9caa 413002008-02-08 Robert Millan <rmh@aybabtu.com>
41301
41302 * disk/raid.c (grub_raid_scan_device): Check for
41303 `array->device[sb.this_disk.number]' rather than for
41304 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41305 guaranteed to be accessible.
a96f9caa 41306
b37a9222 413072008-02-08 Robert Millan <rmh@aybabtu.com>
41308
41309 * disk/raid.c: Update copyright.
41310 * fs/cpio.c: Likewise.
41311 * include/grub/raid.h: Likewise.
41312 * loader/i386/pc/multiboot.c: Likewise.
41313 * util/hostfs.c: Likewise.
41314
5626aee1 413152008-02-08 Robert Millan <rmh@aybabtu.com>
41316
41317 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41318 to a grub_disk_t array.
41319 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41320 `device[x]'.
41321 (grub_raid_scan_device): Replace `device[x].name' accesses with
41322 `device[x]->name'. Simplify initialization of `array->device[x]'.
41323
554f0187 413242008-02-08 Robert Millan <rmh@aybabtu.com>
41325
41326 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41327 grub_dprintf() calls.
41328 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41329 error message.
41330
1ec8425d 413312008-02-07 Christian Franke <franke@computer.org>
41332
41333 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41334 instead of fseek and ftell to support large files.
41335 (grub_hostfs_read): Likewise.
41336
f2156fda 413372008-02-07 Robert Millan <rmh@aybabtu.com>
41338
41339 Patch from Jeroen Dekkers.
41340 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41341 failure, since successfully reading all array members might not be
f2156fda 41342 required.
41343
9216e0e7 413442008-02-06 Robert Millan <rmh@aybabtu.com>
41345
41346 * util/grub-probe.c (probe): Simplify partmap probing (with the
41347 assumption that the first word up to the underscore equals to
41348 the module name).
41349
b0dfd29a 413502008-02-06 Christian Franke <franke@computer.org>
41351
41352 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41353 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41354 last block of a cpio or tar stream.
41355 Check for "TRAILER!!!" instead of any empty data
41356 block to detect last block of a cpio stream.
41357 (grub_cpio_dir): Fix constness of variable np.
41358 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41359 cpio or tar trailer is detected. This fixes a crash
41360 on open of a non existing file.
41361
c32865bf 413622008-02-05 Bean <bean123ch@gmail.com>
41363
41364 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41365 address of entry.
41366 (grub_multiboot_load_elf64): Likewise.
41367 (grub_multiboot): Initialize mbi structure.
41368
41369 * util/grub-fstest.c: Don't include unused header file script.h.
41370
fe6b695a 41371 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41372 of file.
41373 (grub_fstest_SOURCES): Likewise.
41374
409480b7 413752008-02-05 Robert Millan <rmh@aybabtu.com>
41376
41377 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41378 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41379 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41380 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41381
41382 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41383 (translation_table): Replace hardcoded values with macros
41384 provided by `<grub/term.h>'.
41385
41386 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41387 (keyboard_map): Correct/add a few values, with macros provided
41388 by `<grub/term.h>'.
41389 (keyboard_map_shift): Zero values that don't differ from their
41390 `keyboard_map' equivalents.
41391 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41392 Discard the second scan code that is always sent by Caps lock.
41393 Only use `keyboard_map_shift' when it provides a non-zero value,
41394 otherwise fallback to `keyboard_map'.
41395
99fadbaa 413962008-02-04 Bean <bean123ch@gmail.com>
41397
41398 * Makefile.in (enable_grub_fstest): New variable.
41399
41400 * conf/common.rmk (grub_fstest_init.lst): New rule.
41401 (grub_fstest_init.h): Likewise.
41402 (grub_fstest_init.c): Likewise.
41403 (util/grub-fstest.c_DEPENDENCIES): New variable.
41404 (grub_fstest_SOURCES): Likewise.
41405
41406 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41407
41408 * util/grub-fstest.c: New file.
41409
bf567c50 414102008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41411
41412 Make grub-setup handle a separate root device.
f19dbdb7 41413
bf567c50 41414 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41415 so that the root device can be compared with the destination
41416 device.
41417 When embedding the core image, if the root and destination devices
41418 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41419 0xFF.
41420 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41421
9be6b98b 414222008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41423
41424 Add support for having a grub directory in a different drive. This
41425 is still only the data handling part.
f19dbdb7 41426
9be6b98b 41427 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41428 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41429 (grub_root_drive): New variable.
41430
41431 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41432 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41433 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41434 as it was.
41435
41436 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41437
41438 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41439 macro.
41440 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41441
41442 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41443 is bogus, because PXE booting does not specify any drive
41444 correctly.
41445
41446 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41447 am not sure if this is really correct.
41448
41449 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41450 is always identical to the boot drive when booting from a CD.
41451
41452 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41453 longer.
41454 (root_drive): New variable.
41455 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41456 (setup_sectors): Push %dx right after popping it, because %dh will
41457 be modified later.
41458 (copy_buffer): Restore %dx.
41459
e0ca0677 414602008-02-03 Robert Millan <rmh@aybabtu.com>
41461
41462 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41463 use `cdboot.img' for cdrom images.
41464
3b3f6629 414652008-02-03 Robert Millan <rmh@aybabtu.com>
41466
41467 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41468 only setup gfxterm when `font' command has succeeded.
41469
d42b3672 414702008-02-03 Robert Millan <rmh@aybabtu.com>
41471
41472 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41473 (grub_rescue_cmd_multiboot_loader)
41474 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41475
fa370ea6 414762008-02-03 Pavel Roskin <proski@gnu.org>
41477
e0c5dacb 41478 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41479 %edx and %esi from stack only after grub_gate_a20() is called.
41480 grub_gate_a20() clobbers %edx.
41481
f2a76e1d 414822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41483
41484 * configure.ac (AC_INIT): Bumped to 1.96.
41485
41486 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41487 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41488 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41489 video/readers/png.c.
41490
90fd32d1 414912008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41492
41493 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41494 (cdboot_img_SOURCES): New variable.
41495 (cdboot_img_ASFLAGS): New variable.
41496 (cdboot_img_LDFLAGS): New variable.
41497
41498 * boot/i386/pc/cdboot.S: New file.
41499
41500 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41501 (cd_count): Likewise.
41502 (grub_biosdisk_get_drive): Add support for cd device.
41503 (grub_biosdisk_call_hook): Likewise.
41504 (grub_biosdisk_iterate): Likewise.
41505 (grub_biosdisk_open): Likewise.
41506 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41507 (grub_biosdisk_rw): Support reading from cd device.
41508 (GRUB_MOD_INIT): Iterate cd devices.
41509
41510 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41511 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41512 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41513
41514 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41515
4020aa53 415162008-02-02 Robert Millan <rmh@aybabtu.com>
41517
41518 * commands/read.c: New file.
41519 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41520 (read_mod_SOURCES): New variable.
41521 (read_mod_CFLAGS): Likewise.
41522 (read_mod_LDFLAGS): Likewise.
41523
e03a1132 415242008-02-02 Robert Millan <rmh@aybabtu.com>
41525
41526 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41527 determining whether menu has to be displayed.
41528
58c69220 415292008-02-02 Marco Gerards <marco@gnu.org>
41530
41531 * bus/pci.c: New file.
41532
41533 * include/grub/pci.h: Likewise.
41534
41535 * include/grub/i386/pc/pci.h: Likewise.
41536
41537 * commands/lspci.c: Likewise.
41538
41539 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41540 `lspci.mod'.
41541 (pci_mod_SOURCES): New variable.
41542 (pci_mod_CFLAGS): Likewise.
41543 (pci_mod_LDFLAGS): Likewise.
41544 (lspci_mod_SOURCES): Likewise.
41545 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41546 (lspci_mod_LDFLAGS): Likewise.
58c69220 41547
c004e1b4 415482008-02-02 Bean <bean123ch@gmail.com>
41549
41550 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41551 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41552
41553 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41554 (grub_xfs_btree_node): New structure.
41555 (grub_xfs_btree_root): New structure.
41556 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41557 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41558 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41559 (GRUB_XFS_EXTENT_SIZE): Likewise.
41560 (grub_xfs_read_block): Support btree format type.
41561 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41562 Use directory block as basic unit.
41563
41564 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41565
41566 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41567 __attribute__ ((__regparm__ (1))).
41568
f95562bf 415692008-02-01 Robert Millan <rmh@aybabtu.com>
41570
41571 Correct a mistake in previous commit.
41572
41573 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41574 top.
41575 (normal/command.c_DEPENDENCIES): New variable.
41576
7d31f41f 415772008-02-01 Robert Millan <rmh@aybabtu.com>
41578
41579 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41580 top.
41581 (normal/command.c_DEPENDENCIES): New variable.
41582 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41583 * conf/i386-ieee1275.rmk: Likewise.
41584 * conf/i386-linuxbios.rmk: Likewise.
41585 * conf/i386-pc.rmk: Likewise.
41586 * conf/sparc64-ieee1275.rmk: Likewise.
41587 * conf/powerpc-ieee1275.rmk: Likewise.
41588 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41589
41590 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41591
60b6be74 415922008-02-01 Robert Millan <rmh@aybabtu.com>
41593
41594 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41595 call at beginning of function.
41596
078522ab 415972008-01-31 Pavel Roskin <proski@gnu.org>
41598
41599 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41600 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41601 (grub_mkrescue_SOURCES): Likewise.
078522ab 41602 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41603
ccaa8a5f 416042008-01-30 Robert Millan <rmh@aybabtu.com>
41605
41606 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41607 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41608 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41609 (grub_probe_SOURCES): ... to here.
41610
41611 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41612 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41613 * conf/i386-ieee1275.rmk: Likewise.
41614 * conf/i386-linuxbios.rmk: Likewise.
41615 * conf/powerpc-ieee1275.rmk: Likewise.
41616
ae5a9cd7 416172008-01-30 Tristan Gingold <gingold@free.fr>
41618
41619 * kern/rescue.c: Silently accept empty lines.
41620
70bc2ef2 416212008-01-29 Bean <bean123ch@gmail.com>
41622
41623 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41624 (real_code_2): Code cleanup and change comment style.
41625 (move_memory): Avoid using 32-bit address mode.
41626
6a4d50ea 416272008-01-29 Bean <bean123ch@gmail.com>
41628
41629 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41630 (png_mod_SOURCES): New variable.
41631 (png_mod_CFLAGS): Likewise.
41632 (png_mod_LDFLAGS): Likewise.
41633
41634 * video/readers/png.c: New file.
41635
11cc30ac 416362008-01-28 Robert Millan <rmh@aybabtu.com>
41637
41638 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41639 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41640 `ifndef GRUB_MOD_GAP' hack.
41641 * util/elf/grub-mkimage.c (add_segments): Likewise.
41642
3abc589f 416432008-01-27 Robert Millan <rmh@aybabtu.com>
41644
41645 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41646 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41647 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41648
e1907778 416492008-01-27 Robert Millan <rmh@aybabtu.com>
41650
41651 Get grub-emu to build again (including parallel builds).
41652
41653 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41654 Split into ...
41655 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41656 (normal/execute.c_DEPENDENCIES): ... this, ...
41657 (grub-emu_DEPENDENCIES): ... and this.
41658
41659 * conf/i386-efi.rmk: Likewise.
41660 * conf/i386-linuxbios.rmk: Likewise.
41661 * conf/i386-ieee1275.rmk: Likewise.
41662 * conf/powerpc-ieee1275.rmk: Likewise.
41663 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41664
2216b101 416652008-01-27 Robert Millan <rmh@aybabtu.com>
41666
41667 * NEWS: Add a few items.
41668
f75172d9 416692008-01-27 Robert Millan <rmh@aybabtu.com>
41670
41671 Fix parallel builds with grub-emu. Based on earlier commit for
41672 grub-probe and grub-setup.
41673
41674 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41675 (util/grub-emu.c_DEPENDENCIES): ... this.
41676 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41677 (util/grub-emu.c_DEPENDENCIES): ... this.
41678 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41679 (util/grub-emu.c_DEPENDENCIES): ... this.
41680 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41681 (util/grub-emu.c_DEPENDENCIES): ... this.
41682 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41683 (util/grub-emu.c_DEPENDENCIES): ... this.
41684
3f51de77 416852008-01-27 Pavel Roskin <proski@gnu.org>
41686
41687 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41688 to create a gap between _end and the modules added to the image
41689 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41690 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41691 * util/elf/grub-mkimage.c (add_segments): Likewise.
41692
2033f53e 416932008-01-26 Pavel Roskin <proski@gnu.org>
41694
41695 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41696 just return an error.
41697
22da1f6f 416982008-01-26 Bean <bean123ch@gmail.com>
41699
41700 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41701 (grub_reiserfs_get_item): Save offset of the next item.
41702 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41703
2a9525e6 417042008-01-25 Robert Millan <rmh@aybabtu.com>
41705
41706 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41707 make all filesystem sources appear together (possibly fixing omissions
41708 while at it).
41709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41710 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41711 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41713
41714 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41715 add `kern/file.c'.
41716 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41717 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41718 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41719 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41720
41721 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41722 (probe): Add a sanity check to make sure of our ability to read
41723 requested files when probing for filesystem type.
41724
41725 * genmk.rb: Update copyright year (2007).
41726
41727 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41728 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41729 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41730 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41731 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41732 : Remove function prototypes.
41733
b95f71b5 417342008-01-25 Robert Millan <rmh@aybabtu.com>
41735
41736 Revert my previous commits (based on wrong assumption of how grub_errno
41737 works).
41738
fe6b695a 41739 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41740 * kern/file.c (grub_file_open): Likewise.
41741
d08bbb49 417422008-01-24 Pavel Roskin <proski@gnu.org>
41743
41744 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41745 that hang if GRUB tries to setup colors.
41746 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41747 colors for firmwares that don't support it.
41748 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41749 Recognize Open Hack'Ware, set flags to work around its
41750 limitations.
41751
605e36ed 417522008-01-24 Robert Millan <rmh@aybabtu.com>
41753
41754 * kern/file.c (grub_file_open): Do not account previous failures of
41755 unrelated functions when grub_errno is checked for.
41756 Reported by Oleg Strikov.
41757
bac332a1 417582008-01-24 Bean <bean123ch@gmail.com>
41759
41760 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41761 (grub_ufs_sblock): New member volume name.
41762 (grub_ufs_find_file): Fix string copy bug.
41763 (grub_ufs_label): Implement this function properly.
41764
41765 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41766 (grub_hfs_iterate_records): Use the correct file number for extents
41767 and catalog file. Fix problem in next index calculation.
41768 (grub_hfs_find_node): Replace recursive function call with loop.
41769 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41770
15c80c09 417712008-01-23 Robert Millan <rmh@aybabtu.com>
41772
41773 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41774 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41775 (grub_multiboot2_real_boot): New function prototype.
41776
41777 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41778 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41779
41780 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41781 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41782
305338fd 417832008-01-23 Robert Millan <rmh@aybabtu.com>
41784
41785 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41786 #ifdef'ed out grub_printf().
41787
3ea52685 417882008-01-23 Robert Millan <rmh@aybabtu.com>
41789
41790 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41791 grub_dprintf calls, since they make "debug=all" mode unusable.
41792 (grub_console_checkkey): Likewise.
41793
5882ae4b 417942008-01-23 Robert Millan <rmh@aybabtu.com>
41795
41796 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41797 `term/i386/pc/at_keyboard.c'.
41798 (pkglib_MODULES): Add `serial.mod'.
41799 (serial_mod_SOURCES): New variable.
41800 (serial_mod_CFLAGS): Likewise.
41801 (serial_mod_LDFLAGS): Likewise.
41802
41803 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41804 `<grub/powerpc/ieee1275/console.h>'.
41805 (grub_keyboard_controller_init): New function prototype.
41806 (grub_console_checkkey): Likewise.
41807 (grub_console_getkey): Likewise.
41808
41809 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41810 keyboard on i386.
41811
41812 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41813 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41814
06ab5303 418152008-01-23 Robert Millan <rmh@aybabtu.com>
41816
41817 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41818 present, "(memdisk)/boot/grub" becomes the default prefix.
41819
41820 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41821 a memdisk tarball with all the modules. Add --overlay=DIR option that
41822 allows users to overlay additional files into the image.
41823
dbb475a4 418242008-01-23 Robert Millan <rmh@aybabtu.com>
41825
41826 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41827 and `machine/memory.h'.
41828 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41829 (_multiboot_mod_SOURCES): New variable.
41830 (_multiboot_mod_CFLAGS): Likewise.
41831 (_multiboot_mod_LDFLAGS): Likewise.
41832 (multiboot_mod_SOURCES): Likewise.
41833 (multiboot_mod_CFLAGS): Likewise.
41834 (multiboot_mod_LDFLAGS): Likewise.
41835
41836 * include/grub/i386/ieee1275/loader.h: New file.
41837
41838 * include/grub/i386/ieee1275/machine.h: Likewise.
41839
41840 * include/grub/i386/ieee1275/memory.h: Likewise.
41841
41842 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41843 variable declaration.
41844 (grub_os_area_size): Likewise.
41845
41846 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41847 (grub_lower_mem, grub_upper_mem): New variables.
41848 (grub_stop_floppy): New function (just to make
41849 grub_multiboot2_real_boot() happy).
41850
41851 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41852 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41853 (grub_stop): New function.
41854 Include `"../realmode.S"' and `"../loader.S"'.
41855
41856 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41857 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41858
41859 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41860 rely on grub_multiboot2_real_boot() for final boot.
41861
25638629 418622008-01-22 Robert Millan <rmh@aybabtu.com>
41863
41864 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41865 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41866 device that doesn't look like an SD card.
41867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41868 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41869 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41870 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41871 found.
41872
9dad816d 418732008-01-22 Robert Millan <rmh@aybabtu.com>
41874
41875 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41876 avoid claiming over our own code.
41877
34842f2d 418782008-01-22 Bean <bean123ch@gmail.com>
41879
41880 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41881 (jpeg_mod_SOURCES): New variable.
41882 (jpeg_mod_CFLAGS): Likewise.
41883 (jpeg_mod_LDFLAGS): Likewise.
41884
41885 * video/readers/jpeg.c : New file.
41886
44023a28 418872008-01-22 Bean <bean123ch@gmail.com>
41888
41889 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41890 there are no more items.
41891
bc2d8ac6 418922008-01-21 Robert Millan <rmh@aybabtu.com>
41893
41894 * kern/mm.c (grub_mm_init_region): Improve debug message.
41895
261bd4bc 418962008-01-21 Robert Millan <rmh@aybabtu.com>
41897
41898 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41899 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41900 address.
41901 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41902 a C macro.
41903 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41904 Indicates start of upper memory.
41905 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41906 (generate_image): Abort when image size is big enough to corrupt
41907 upper memory.
41908
41909 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41910 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41911 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41912 instead of hardcoding 0xA0000.
41913 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41914 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41915 instead of hardcoding 0xA0000.
41916
f970b55e 419172008-01-21 Robert Millan <rmh@aybabtu.com>
41918
41919 * disk/memdisk.c (memdisk_size): New variable.
41920 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41921 `memdisk_size'.
41922 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41923 image to dynamic memory.
41924 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41925 `memdisk_size'. Free memdisk block.
41926
1a8b0526 419272008-01-21 Robert Millan <rmh@aybabtu.com>
41928
41929 Fix detection of very small filesystems (like tar).
41930
41931 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41932 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41933 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41934 a problem with this disk).
41935
6e9b4aab 419362008-01-21 Robert Millan <rmh@aybabtu.com>
41937
41938 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41939 on grub_biosdisk_rw_standard() error.
41940
0d8837b2 419412008-01-21 Robert Millan <rmh@aybabtu.com>
41942
41943 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41944 recent changes.
41945 * kern/elf.c: Likewise.
41946 * kern/ieee1275/ieee1275.c: Likewise.
41947 * kern/powerpc/ieee1275/openfw.c: Likewise.
41948 * term/ieee1275/ofconsole.c: Likewise.
41949
ffd36e34 419502008-01-21 Robert Millan <rmh@aybabtu.com>
41951
41952 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41953
3f0093d0 41954 * include/grub/kernel.h (grub_arch_memdisk_addr)
41955 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41956
3f0093d0 41957 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41958 (grub_arch_memdisk_size): ... to here.
ffd36e34 41959
6c391b21 419602008-01-21 Robert Millan <rmh@aybabtu.com>
41961
41962 Mostly based on bugfix from Bean.
41963
41964 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41965 attribute with hook() parameter.
41966 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41967 declaration.
41968 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41969 attribute with hook() parameter.
41970 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41971 declaration.
41972
55a581dc 419732008-01-21 Robert Millan <rmh@aybabtu.com>
41974
41975 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41976 (pkglib_MODULES): Add `memdisk.mod'.
41977 (memdisk_mod_SOURCES): New variable.
41978 (memdisk_mod_CFLAGS): Likewise.
41979 (memdisk_mod_LDFLAGS): Likewise.
41980
41981 * disk/memdisk.c: New file.
41982
41983 * include/grub/disk.h (grub_disk_dev_id): Add
41984 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41985
41986 * include/grub/i386/pc/kernel.h
41987 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41988 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41989 (grub_kernel_image_size): New variable declaration.
41990 (grub_total_module_size): Likewise.
41991 (grub_memdisk_image_size): Likewise.
41992
41993 * include/grub/i386/pc/memory.h
41994 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41995
41996 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41997 (grub_arch_memdisk_addr): New variable declaration.
41998 (grub_arch_memdisk_size): Likewise.
41999
42000 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42001 (grub_arch_memdisk_size): Likewise.
42002
42003 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42004 (codestart): Replace hardcoded `0x100000' with
42005 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42006
42007 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42008 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42009 not NULL, append the contents of the file it refers to, at the end of
42010 the compressed kernel image. Initialize `grub_memdisk_image_size'
42011 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42012 (options): Add "memdisk"|'m' option.
42013 (main): Parse --memdisk|-m option, and pass user-provided path as
42014 parameter to generate_image().
42015
3d7f54c9 420162008-01-20 Robert Millan <rmh@aybabtu.com>
42017
42018 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42019 grub_dprintf() calls from here ...
42020 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42021
0bf74728 420222008-01-20 Robert Millan <rmh@aybabtu.com>
42023
42024 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42025
42026 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42027 declaration.
42028 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42029 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42030 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42031 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42032 property).
42033 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42034 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42035
33bf70a7 420362008-01-19 Robert Millan <rmh@aybabtu.com>
42037
fe6b695a 42038 Get rid of confusing function (superseded by
33bf70a7 42039 `grub_ieee1275_get_integer_property')
42040 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42041 prototype.
42042 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42043 function.
42044 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42045 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42046 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42047
e2da7d26 420482008-01-19 Robert Millan <rmh@aybabtu.com>
42049
42050 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42051 command after "shut-down", since implementations differ on which
42052 the command for halt is.
42053
59f1fd8d 420542008-01-19 Robert Millan <rmh@aybabtu.com>
42055
42056 * include/grub/i386/linuxbios/console.h: Add header protection.
42057 (grub_keyboard_controller_init): New function prototype.
42058 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42059 (KEYBOARD_COMMAND_READ): Likewise.
42060 (KEYBOARD_COMMAND_WRITE): Likewise.
42061 (KEYBOARD_SCANCODE_SET1): Likewise.
42062 (grub_keyboard_controller_write): New function.
42063 (grub_keyboard_controller_read): Likewise.
42064 (grub_keyboard_controller_init): Likewise.
42065
42066 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42067 (grub_console_init): On coreboot/LinuxBIOS, call
42068 grub_keyboard_controller_init().
42069
5f5a7c15 420702008-01-19 Robert Millan <rmh@aybabtu.com>
42071
42072 PowerPC changes provided by Pavel Roskin.
42073
42074 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42075 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42076 don't rely on cmain() doing it.
42077 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42078 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42079
1210e168 420802008-01-16 Robert Millan <rmh@aybabtu.com>
42081
42082 * include/grub/i386/linuxbios/memory.h
42083 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42084 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42085 receive `table_header' as argument. Instead, probe for it in the
42086 known memory ranges where it can be present.
42087 (grub_available_iterate): Do not pass a fixed `table_header' address
42088 to grub_linuxbios_table_iterate().
42089
3d04eab8 420902008-01-15 Robert Millan <rmh@aybabtu.com>
42091
42092 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42093 * conf/i386-ieee1275.rmk: New file.
42094 * include/grub/i386/ieee1275/console.h: Likewise.
42095 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42096 * include/grub/i386/ieee1275/kernel.h: Likewise.
42097 * include/grub/i386/ieee1275/time.h: Likewise.
42098 * kern/i386/ieee1275/init.c: Likewise.
42099 * kern/i386/ieee1275/startup.S: Likewise.
42100
d1bc1b73 421012008-01-15 Robert Millan <rmh@aybabtu.com>
42102
42103 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42104 when pointers are 32-bit (but still do set it to one when they are
42105 64-bit).
42106
66a65807 421072008-01-15 Robert Millan <rmh@aybabtu.com>
42108
42109 * include/grub/ieee1275/ieee1275.h
42110 (grub_ieee1275_get_integer_property): New function prototype.
42111
42112 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42113 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42114 grub_ieee1275_get_property() to handle endianness.
66a65807 42115
42116 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42117 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42118 where appropriate.
66a65807 42119 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42120 (grub_map): Likewise.
42121 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42122
a83ccafd 421232008-01-15 Bean <bean123ch@gmail.com>
42124
42125 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42126 (grub_script_execute_cmdline): Reset grub_errno.
42127
42128 * normal/main.c (read_config_file): Reset grub_errno.
42129
42130 * normal/parse.y (script_init): New.
42131 (script): Move function and menuentry here.
42132 (delimiter): New.
42133 (command): Add delimiter at the end of command.
42134 (commands): Adjust to match the new command.
42135 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42136 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42137 (if): Use the new commands.
42138
42139 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42140
df6ecfc6 421412008-01-15 Robert Millan <rmh@aybabtu.com>
42142
42143 * normal/menu.c (run_menu): Move timeout message from here ...
42144 (print_timeout): ... to here.
42145 (run_menu): Use print_timeout() once during initial draw to print
42146 the whole message, and again in every clock tick to update only
42147 the number of seconds.
42148
87ae25eb 421492008-01-15 Robert Millan <rmh@aybabtu.com>
42150
42151 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42152 actual size of `available' from grub_ieee1275_get_property(), and
42153 restrict parsing to that bound.
42154
47bf09a4 421552008-01-15 Christian Franke <franke@computer.org>
42156
42157 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42158 (argp_program_version): Remove variable.
42159 (argp_program_bug_address): Likewise.
42160 (options): Convert from struct argp_option to struct option.
42161 (struct arguments): Remove.
42162 (parse_opt): Remove.
42163 (usage): New function.
42164 (main): Replace struct args members by simple variables.
42165 Replace argp_parse() by getopt_long().
42166 Add switch to evaluate options.
42167 Add missing "(...)" around root_dev in prefix string.
42168
c86f1469 421692008-01-14 Robert Millan <rmh@aybabtu.com>
42170
42171 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42172 for grub_ieee1275_exit(), in order to improve portability.
42173
e622c559 421742008-01-14 Robert Millan <rmh@aybabtu.com>
42175
42176 * util/grub.d/10_linux.in (prefix): Define.
42177 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42178
44cb1ec8 421792008-01-13 Pavel Roskin <proski@gnu.org>
42180
42181 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42182 grub_errno if no errors have been detected.
42183
1eb8c802 421842008-01-12 Robert Millan <rmh@aybabtu.com>
42185
42186 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42187 (grub_util_get_dev_abstraction): New function prototype.
42188
42189 * util/getroot.c: Include `<grub/util/getroot.h>'
42190 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42191 (grub_util_get_dev_abstraction): ... here (new function).
42192
42193 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42194 `PRINT_ABSTRACTION'.
42195 (probe): Probe for abstraction type when requested.
42196 (main): Understand `--target=abstraction'.
42197
42198 * util/i386/efi/grub-install.in: Add abstraction module to core
42199 image when it is found to be necessary.
42200 * util/i386/pc/grub-install.in: Likewise.
42201 * util/powerpc/ieee1275/grub-install.in: Likewise.
42202
42203 * util/update-grub_lib.in (font_path): Return system path without
42204 converting to GRUB path.
42205 * util/update-grub.in: Convert system path returned by font_path()
42206 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42207 abstraction module is needed for loading fonts (if any). Export
42208 that as `GRUB_PRELOAD_MODULES'.
42209 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42210 insmod commands).
42211
52bd3de9 422122008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42213
42214 Remove some unused code from reiserfs.
f19dbdb7 42215
52bd3de9 42216 * fs/reiserfs.c (struct grub_reiserfs_key)
42217 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42218 (struct grub_reiserfs_node_body): Removed.
42219 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42220 Likewise.
42221 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42222 Likewise.
42223 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42224 Likewise.
42225 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42226 Likewise.
42227 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42228 Likewise.
42229 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42230 Likewise.
42231 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42232 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42233 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42234
2f80039d 422352008-01-10 Robert Millan <rmh@aybabtu.com>
42236
42237 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42238 Determines if a file is garbage left by packaging systems, etc.
42239 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42240 for processing /etc/grub.d scripts.
42241 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42242 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42243 as a condition for processing Linux images.
42244
87888032 422452008-01-10 Pavel Roskin <proski@gnu.org>
42246
42247 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42248 to compile reiserfs.c on PowerPC.
42249
7e54fced 422502008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42251
42252 * kern/device.c (grub_device_iterate): Do not abort device iteration
42253 when one of the devices cannot be opened.
42254 * kern/disk.c (grub_disk_open): Do not account previous failures of
42255 unrelated functions when grub_errno is checked for.
42256
5aa541e6 422572008-01-08 Robert Millan <rmh@aybabtu.com>
42258
42259 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42260 `! grub_linux_is_bzimage', change order of address comparison to make
42261 it more intuitive, and improve "too big zImage" error message.
42262
7076340d 422632008-01-08 Robert Millan <rmh@aybabtu.com>
42264
42265 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42266 `$(update-grub_DATA)'.
42267 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42268 targets.
42269
9ca70333 422702008-01-07 Robert Millan <rmh@aybabtu.com>
42271
42272 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42273 which instruction is modified by grub-setup during installation
42274 (since it wasn't obvious by only looking at this file).
42275
38ccf575 422762008-01-07 Robert Millan <rmh@aybabtu.com>
42277
42278 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42279 listing actual TODO items.
42280
f5db4291 422812008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42282
868967cf 42283 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42284 correctly.
42285 (grub_reiserfs_get_key_offset): Likewise.
42286 (grub_reiserfs_set_key_offset): Likewise.
42287 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42288 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42289
42290 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42291 better to remove the bitfield version completely.
f19dbdb7 42292
868967cf 422932008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42294
f5db4291 42295 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42296 allocated from the heap, due to the fshelp implementation.
42297 (grub_reiserfs_dir): Free NODE, due to the same reason.
42298
492e6d9d 422992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42300
42301 Mostly from Vincent Pelletier:
f19dbdb7 42302
492e6d9d 42303 * fs/reiserfs.c: New file.
f19dbdb7 42304
492e6d9d 42305 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42306 (reiserfs_mod_SOURCES): New variable.
42307 (reiserfs_mod_CFLAGS): Likewise.
42308 (reiserfs_mod_LDFLAGS): Likewise.
42309
42310 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42311 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42312 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42313 normal/color.c.
42314
9ce3e7c1 423152008-01-06 Robert Millan <rmh@aybabtu.com>
42316
42317 * normal/color.c: Remove `<grub/env.h>'.
42318
f3b58148 423192008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42320
42321 * include/grub/normal.h: Include <grub/env.h>.
42322
7ac3bcfa 423232008-01-05 Robert Millan <rmh@aybabtu.com>
42324
42325 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42326 usage example with `(hd0,1)'.
fb358190 42327 Reported by Samuel Thibault.
7ac3bcfa 42328
c8ee99d7 423292008-01-05 Robert Millan <rmh@aybabtu.com>
42330
42331 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42332 (grub_linux_boot_zimage): Rename to ...
42333 (grub_linux_boot): ... this.
42334 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42335 (grub_linux_boot_zimage): Conditionalize zImage copy.
42336
42337 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42338 (grub_linux_boot_bzimage): Remove prototype.
42339 (grub_linux_boot_zimage): Rename to ...
42340 (grub_linux_boot): ... this.
42341
42342 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42343 (grub_linux_boot): Remove function.
42344
0ece25b1 423452008-01-05 Robert Millan <rmh@aybabtu.com>
42346
42347 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42348 (grub_env_write_color_highlight): Likewise.
42349 (grub_wait_after_message): Likewise.
42350
42351 * normal/color.c: New file.
42352
42353 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42354 (normal_mod_DEPENDENCIES): Likewise.
42355
42356 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42357 (normal_mod_DEPENDENCIES): Likewise.
42358
42359 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42360 (normal_mod_DEPENDENCIES): Likewise.
42361
42362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42363 (normal_mod_DEPENDENCIES): Likewise.
42364
42365 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42366 for waiting after a message is printed.
42367 * normal/main.c (read_config_file): Likewise.
42368 (grub_normal_init): Register grub_env_write_color_normal() and
42369 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42370 `color_highlight' variables as global.
42371
42372 * normal/menu.c (grub_wait_after_message): New function.
42373 (grub_color_menu_normal): New variable. Replaces ...
42374 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42375 (grub_color_menu_highlight): New variable. Replaces ...
42376 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42377 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42378 `GRUB_TERM_COLOR_STANDARD'.
42379 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42380 `normal_code' and `highlight_code' to `old_color_normal' and
42381 `old_color_highlight', respectively.
42382 (grub_menu_init_page): Update colors when drawing the menu, based on
42383 `menu_color_normal' and `menu_color_highlight' variables.
42384 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42385 a message is printed.
42386
182dd4e5 423872008-01-05 Robert Millan <rmh@aybabtu.com>
42388
42389 * kern/env.c (grub_env_context_open): Propagate hooks for global
42390 variables to new context.
42391
42392 * kern/main.c (grub_set_root_dev): Export `root' variable.
42393
ddf8f6ad 423942008-01-05 Robert Millan <rmh@aybabtu.com>
42395
42396 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42397 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42398 them.
42399
d8b43d9b 424002008-01-05 Robert Millan <rmh@aybabtu.com>
42401
42402 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42403
2bff2de3 424042008-01-04 Christian Franke <franke@computer.org>
42405
42406 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42407 of eisa_mmap.
42408
97eab917 424092008-01-03 Pavel Roskin <proski@gnu.org>
42410
42411 * kern/i386/linuxbios/init.c: Put "void" to all function
42412 declarations with no arguments.
42413 * kern/powerpc/ieee1275/init.c: Likewise.
42414 * term/i386/pc/at_keyboard.c: Likewise.
42415 * term/i386/pc/vga_text.c: Likewise.
42416 * util/grub-mkdevicemap.c: Likewise.
42417
b9416d00 424182008-01-02 Robert Millan <rmh@aybabtu.com>
42419
42420 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42421 message when loaded image is out of bounds.
42422 (grub_multiboot_load_elf64): Likewise.
42423
92695df9 424242008-01-02 Pavel Roskin <proski@gnu.org>
42425
42426 * util/grub.d/10_linux.in: Try version without ".old" when
42427 looking for initrd. It's better to use initrd from the newer
42428 kernel of the same version than no initrd at all.
42429
d98d9cad 424302008-01-01 Robert Millan <rmh@aybabtu.com>
42431
42432 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42433
dbfdce36 424342008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42435
f19dbdb7 42436 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42437 grub_video_get_active_render_target.
42438 (grub_video_adapter): Added unmap_color and get_active_render_target.
42439
f19dbdb7 42440 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42441 grub_video_get_active_render_target.
42442 (grub_video_get_info): Changed method to accept NULL pointer as an
42443 argument to allow detection of active video adapter.
42444
42445 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42446 grub_video_vbe_unmap_color_int.
42447 Added grub_video_vbe_unmap_color and
42448 grub_video_vbe_get_active_render_target.
42449 (grub_video_vbe_adapter): Added unmap_color and
42450 get_active_render_target.
42451
f19dbdb7 42452 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42453 with grub_video_vbe_unmap_color_int.
42454
42455 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42456 (DEFAULT_NORMAL_COLOR): Likewise.
42457 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42458 (DEFAULT_FG_COLOR): Removed.
42459 (DEFAULT_BG_COLOR): Likewise.
42460 (DEFAULT_CURSOR_COLOR): Changed value.
42461 (grub_virtual_screen): Added standard_color_setting,
42462 normal_color_setting, highlight_color_setting and term_color.
42463 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42464 (bitmap_width): Added.
42465 (bitmap_height): Likewise.
42466 (bitmap): Likewise.
42467 (set_term_color): Likewise.
42468 (grub_virtual_screen_setup): Changed to use new terminal coloring
42469 settings.
42470 (grub_gfxterm_init): Added init for bitmap.
42471 (grub_gfxterm_fini): Added destroy for bitmap.
42472 (redraw_screen_rect): Updated to use background bitmap and new
42473 terminal coloring.
42474 (scroll_up): Added optimization for case when there is no bitmap.
42475 (grub_gfxterm_cls): Fixed to use correct background color.
42476 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42477 coloring.
42478 (grub_virtual_screen_setcolor): Likewise.
42479 (grub_virtual_screen_getcolor): Added.
42480 (grub_gfxterm_background_image_cmd): Likewise.
42481 (grub_video_term): Added setcolor and getcolor.
42482 (MOD_INIT): Added registration of background_image command.
42483 (MOD_TERM): Added unregistration for background_image command.
42484
c3c20931 424852007-12-30 Pavel Roskin <proski@gnu.org>
42486
42487 * loader/multiboot_loader.c: Fix multiboot command
42488 unregistration. Fix all typos in the word "multiboot".
42489
df266716 424902007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42491
42492 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42493 support for initrd names used in Fedora.
42494
fc6e896c 424952007-12-26 Bean <bean123ch@gmail.com>
42496
42497 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42498 (cpio_mod_SOURCES): New variable.
42499 (cpio_mod_CFLAGS): Likewise.
42500 (cpio_mod_LDFLAGS): Likewise.
42501
42502 * fs/cpio.c: New file.
42503
42504 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42505
42506 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42507
42508 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42509
42510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42511
533110ad 425122007-12-25 Robert Millan <rmh@aybabtu.com>
42513
42514 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42515 (grub_getcolor): New function.
42516
42517 * kern/term.c (grub_getcolor): New function.
42518 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42519 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42520 (print_entry): Set normal and highlight colors to
42521 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42522 respectively, before printing and restore them to old
42523 values afterwards.
42524 (grub_menu_init_page): Likewise. Fill an additional colored space
42525 that would otherwise be left blank.
42526
42527 * term/efi/console.c (grub_console_getcolor): New function.
42528 (struct grub_console_term.getcolor): New variable.
42529 * term/i386/pc/console.c (grub_console_getcolor): New function.
42530 (struct grub_console_term.getcolor): New variable.
42531 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42532 (struct grub_console_term.getcolor): New variable.
42533
42534 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42535 (struct grub_console_term.setcolor): Remove variable.
42536 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42537 (struct grub_console_term.setcolor): Remove variable.
42538 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42539 (struct grub_console_term.setcolor): Remove variable.
42540 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42541 (struct grub_console_term.setcolor): Remove variable.
42542
4931827f 425432007-12-25 Robert Millan <rmh@aybabtu.com>
42544
42545 * configure.ac: Search for possible unifont.hex locations, and
42546 define UNIFONT_HEX if found.
42547
42548 * Makefile.in (UNIFONT_HEX): Define variable.
42549 (DATA): Rename to ...
42550 (PKGLIB): ... this. Update all users.
42551 (PKGDATA): New variable.
42552 (pkgdata_IMAGES): Rename to ...
42553 (pkglib_IMAGES): ... this. Update all users.
42554 (pkgdata_MODULES): Rename to ...
42555 (pkglib_MODULES): ... this. Update all users.
42556 (pkgdata_PROGRAMS): Rename to ...
42557 (pkglib_PROGRAMS): ... this. Update all users.
42558 (pkgdata_DATA): Rename to ...
42559 (pkglib_DATA): ... this. Update all users.
42560 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42561 (unicode.pff, ascii.pff): New rules.
42562 (all-local): Add `$(PKGDATA)' dependency.
42563 (install-local): Process `$(PKGDATA)'.
42564
42565 * util/update-grub_lib.in (font_path): Search for *.pff files in
42566 a few more locations, including `${pkgdata}'.
42567
57e57e31 425682007-12-23 Robert Millan <rmh@aybabtu.com>
42569
42570 Patch from Bean <bean123ch@gmail.com>:
42571 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42572 `size'.
42573
4bc72aa9 425742007-12-21 Bean <bean123ch@gmail.com>
42575
42576 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42577 (ntfscomp_mod_SOURCES): New variable.
42578 (ntfscomp_mod_CFLAGS): Likewise.
42579 (ntfscomp_mod_LDFLAGS): Likewise.
42580
42581 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42582 (grub_probe_SOURCES): Likewise.
42583 (grub_emu_SOURCES): Likewise.
42584
42585 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42586 (grub_emu_SOURCES): Likewise.
42587
42588 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42589 (grub_emu_SOURCES): Likewise.
42590
42591 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42592 (grub_emu_SOURCES): Likewise.
42593
42594 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42595 (read_run_list): Renamed to grub_ntfs_read_run_list.
42596 (decomp_nextvcn): Moved to ntfscomp.c.
42597 (decomp_getch): Likewise.
42598 (decomp_get16): Likewise.
42599 (decomp_block): Likewise.
42600 (read_block): Likewise.
42601 (read_data): Partially moved to ntfscomp.c.
42602 (fixup): Change unsigned to grub_uint16_t.
42603 (read_mft): Change unsigned long to grub_uint32_t.
42604 (read_attr): Likewise.
42605 (read_data): Likewise.
42606 (read_run_data): Likewise.
42607 (read_run_list): Likewise.
42608 (read_mft): Likewise.
42609
42610 * fs/ntfscomp.c: New file.
42611
42612 * include/grub/ntfs.h: New file.
42613
af680a87 426142007-12-16 Robert Millan <rmh@aybabtu.com>
42615
42616 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42617 IDE disk check, since Linux is known to support 20 IDE disks.
42618 Reported by Colin Watson.
42619
84be7599 426202007-12-15 Bean <bean123ch@gmail.com>
42621
42622 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42623 (lnxboot_img_SOURCES): New variable.
42624 (lnxboot_img_ASFLAGS): Likewise.
42625 (lnxboot_img_LDFLAGS): Likewise.
42626
42627 * boot/i386/pc/lnxboot.S: New file.
42628
6af9db01 426292007-11-24 Pavel Roskin <proski@gnu.org>
42630
42631 * configure.ac: Test if '--build-id=none' is supported by the
42632 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42633 objcopy to generate incorrect binary files (binutils
42634 2.17.50.0.18-1 as shipped by Fedora 8).
42635 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42636 linking, so that build ID doesn't break the test.
42637
7361cfe6 426382007-11-24 Pavel Roskin <proski@gnu.org>
42639
42640 * include/grub/i386/time.h: use "void" in the argument list
42641 of grub_cpu_idle().
42642 * include/grub/powerpc/time.h: Likewise.
42643 * include/grub/sparc64/time.h: Likewise.
42644
1593e10c 426452007-11-18 Christian Franke <franke@computer.org>
42646
42647 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42648 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42649 This fixes the problem that function keys did not work in grub-emu.
42650
3b8db1a8 426512007-11-18 Christian Franke <franke@computer.org>
42652
42653 * disk/host.c (grub_host_open): Remove attribute unused from
42654 name parameter. Add check for "host". This fixes the problem
42655 that grub-emu does not find partitions.
42656
2e29408d 426572007-11-18 Christian Franke <franke@computer.org>
42658
42659 * util/hostfs.c (is_dir): New function.
42660 (grub_hostfs_dir): Handle missing dirent.d_type case.
42661 (grub_hostfs_read): Add missing fseek().
42662 (grub_hostfs_label): Clear label pointer. This fixes a crash
42663 of grub-emu on "ls (host)".
42664
398cd047 426652007-11-18 Christian Franke <franke@computer.org>
42666
42667 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42668 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42669 to 64 bit boundary by default.
42670
c405c391 426712007-11-18 Bean <bean123ch@gmail.com>
42672
42673 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42674 (hexdump_mod_SOURCES): New variable.
42675 (hexdump_mod_CFLAGS): Likewise.
42676 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42677
c405c391 42678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42679
42680 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42681
42682 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42683
42684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42685
42686 * include/grub/hexdump.h: New file.
42687
42688 * commands/hexdump.c: New file.
42689
5cced7fd 426902007-11-10 Robert Millan <rmh@aybabtu.com>
42691
42692 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42693 in grub_outb() calls.
42694 (beep_on): Likewise.
42695
8b714eb0 426962007-11-10 Christian Franke <franke@computer.org>
42697
42698 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42699 (grub_menu_run): Likewise.
42700
ce0f1839 427012007-11-10 Robert Millan <rmh@aybabtu.com>
42702
42703 * include/grub/i386/efi/machine.h: New file.
42704 * include/grub/i386/linuxbios/machine.h: Likewise.
42705 * include/grub/i386/pc/machine.h: Likewise.
42706 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42707 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42708
42709 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42710 (serial_hw_io_addr): New variable.
42711 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42712 instead of `(unsigned short *) 0x400'.
42713
270c237d 427142007-11-10 Bean <bean123ch@gmail.com>
42715
42716 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42717
a87783bf 427182007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42719
42720 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42721 (vga_mod_SOURCES): Added.
42722 (vga_mod_CFLAGS): Likewise.
42723 (vga_mod_LDFLAGS): Likewise.
42724
42725 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42726 grub_outb() calls.
42727 (set_map_mask): Likewise.
42728 (set_read_map): Likewise.
42729 (set_read_address): Likewise.
42730 (vga_font): Removed variable.
42731 (get_vga_glyph): Removed function.
42732 (invalidate_char): Likewise.
42733 (write_char): Changed to use grub_font_get_glyph() for font
42734 information.
42735 (grub_vga_putchar): Likewise.
42736 (grub_vga_getcharwidth): Likewise.
42737
6433b448 427382007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42739
42740 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42741 flags.
42742 (pxeboot_img_LDFLAGS): Likewise.
42743 (diskboot_img_LDFLAGS): Likewise.
42744 (kernel_img_LDFLAGS): Likewise.
42745
49178511 427462007-11-06 Robert Millan <rmh@aybabtu.com>
42747
42748 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42749 in grub_outb() calls.
42750 (serial_hw_init): Likewise.
42751
53b052de 427522007-11-05 Robert Millan <rmh@aybabtu.com>
42753
42754 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42755 spaces. Skip non-regular files.
42756
5ab33bba 427572007-11-05 Robert Millan <rmh@aybabtu.com>
42758
42759 * kern/disk.c (grub_disk_firmware_fini)
42760 (grub_disk_firmware_is_tainted): New variables.
42761
42762 * include/grub/disk.h (grub_disk_firmware_fini)
42763 (grub_disk_firmware_is_tainted): Likewise.
42764
42765 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42766 (grub_disk_biosdisk_fini): ... to here.
42767 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42768 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42769 is set. Register grub_disk_biosdisk_fini() in
42770 `grub_disk_firmware_fini'.
42771
42772 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42773 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42774 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42775 to finish existing firmware disk interface.
42776
42777 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42778 (ata_mod_SOURCES): New variable.
42779 (ata_mod_CFLAGS): Likewise.
42780 (ata_mod_LDFLAGS): Likewise.
42781
0149ab7c 427822007-11-05 Robert Millan <rmh@aybabtu.com>
42783
42784 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42785 (grub_ata_wait): Reimplement using grub_millisleep().
42786
42787 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42788 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42789
be7ac41e 427902007-11-03 Marco Gerards <marco@gnu.org>
42791
42792 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42793 (CRTC_ADDR_PORT): New macro.
42794 (CRTC_DATA_PORT): Likewise.
42795 (CRTC_CURSOR): Likewise.
42796 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42797 (CRTC_CURSOR_ADDR_LOW): Likewise.
42798 (update_cursor): New function.
42799 (grub_console_real_putchar): Call `update_cursor'.
42800 (grub_console_gotoxy): Likewise.
42801 (grub_console_cls): Set the default color when clearing the
42802 screen.
42803 (grub_console_setcursor): Implemented.
42804
bb06ab2e 428052007-11-03 Marco Gerards <marco@gnu.org>
42806
42807 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42808 become activate.
42809 (grub_ata_pio_write): Likewise.
42810
42811 (grub_atapi_identify): Wait after issuing an ATA command.
42812 (grub_atapi_packet): Likewise.
42813 (grub_ata_identify): Likewise.
42814 (grub_ata_readwrite): Likewise.
42815
cf8f780b 428162007-11-03 Marco Gerards <marco@gnu.org>
42817
42818 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42819 (grub_ata_pio_write): Likewise.
42820 (grub_ata_readwrite): Use `grub_error', instead of
42821 returning `grub_errno'.
42822
ed649e54 428232007-11-03 Marco Gerards <marco@gnu.org>
42824
42825 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42826 grub_ata_pio_write once for every single sector, instead of for
42827 multiple sectors.
42828
ca25d8f0 428292007-10-31 Robert Millan <rmh@aybabtu.com>
42830
42831 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42832
42833 * conf/i386-linuxbios.rmk: New file.
42834
42835 * kern/i386/pc/hardware.c: Likewise.
42836 * term/i386/pc/at_keyboard.c: Likewise.
42837 * term/i386/pc/vga_text.c: Likewise.
42838
42839 * include/grub/i386/linuxbios/boot.h: Likewise.
42840 * include/grub/i386/linuxbios/console.h: Likewise.
42841 * include/grub/i386/linuxbios/init.h: Likewise.
42842 * include/grub/i386/linuxbios/kernel.h: Likewise.
42843 * include/grub/i386/linuxbios/loader.h: Likewise.
42844 * include/grub/i386/linuxbios/memory.h: Likewise.
42845 * include/grub/i386/linuxbios/serial.h: Likewise.
42846 * include/grub/i386/linuxbios/time.h: Likewise.
42847
42848 * kern/i386/linuxbios/init.c: Likewise.
42849 * kern/i386/linuxbios/startup.S: Likewise.
42850 * kern/i386/linuxbios/table.c: Likewise.
42851
e911ecc1 428522007-10-31 Marco Gerards <marco@gnu.org>
42853
42854 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42855 (ata_mod_SOURCES): New variable.
42856 (ata_mod_CFLAGS): Likewise.
42857 (ata_mod_LDFLAGS): Likewise.
42858
42859 * disk/ata.c: New file.
42860
42861 * include/grub/disk.h (grub_disk_dev_id): Add
42862 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42863
7f66d0e0 428642007-10-31 Robert Millan <rmh@aybabtu.com>
42865
42866 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42867 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42868
42869 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42870 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42871
42872 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42873 `<grub/types.h>'.
42874
42875 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42876
5cd7dd46 428772007-10-27 Robert Millan <rmh@aybabtu.com>
42878
3236ca65 42879 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42880
2ebfc90f 428812007-10-22 Robert Millan <rmh@aybabtu.com>
42882
42883 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42884 `"../realmode.S"'.
42885 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42886
73fcb0f3 428872007-10-22 Robert Millan <rmh@aybabtu.com>
42888
42889 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42890 (pkgdata_MODULES): Add `biosdisk.mod'.
42891 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42892 variables.
42893
42894 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42895 (grub_biosdisk_init): Replace with ...
42896 (GRUB_MOD_INIT(biosdisk)): ... this.
42897 (grub_biosdisk_fini): Replace with ...
42898 (GRUB_MOD_FINI(biosdisk)): ... this.
42899
42900 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42901 (grub_machine_init): Remove call to grub_biosdisk_init().
42902 (grub_machine_fini): Remove call to grub_machine_fini().
42903
42904 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42905
3381d274 429062007-10-22 Robert Millan <rmh@aybabtu.com>
42907
42908 * include/grub/time.h: New file.
42909 * include/grub/i386/time.h: Likewise.
42910 * include/grub/powerpc/time.h: Likewise.
42911 * include/grub/sparc64/time.h: Likewise.
42912
42913 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42914 instances to ...
42915 (KERNEL_MACHINE_TIME_HEADER): ... this.
42916 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42917 instances to ...
42918 (KERNEL_MACHINE_TIME_HEADER): ... this.
42919 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42920 instances to ...
42921 (KERNEL_MACHINE_TIME_HEADER): ... this.
42922
42923 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42924 (grub_millisleep): New function.
42925 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42926 (grub_millisleep): New function.
42927 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42928 Remove `grub/machine/time.h' include.
42929 (grub_millisleep): New function.
42930 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42931 Remove `grub/machine/time.h' include.
42932 (grub_millisleep): New function.
42933
42934 * include/grub/misc.h (grub_div_roundup): New function.
42935
42936 * kern/misc.c: Include `<grub/time.h>'.
42937 (grub_millisleep_generic): New function.
42938
42939 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42940 Add `time.h'.
42941 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42942 Add `time.h'.
42943 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42944 `machine/time.h'. Add `time.h'.
42945 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42946
a39a0312 429472007-10-21 Robert Millan <rmh@aybabtu.com>
42948
42949 * include/grub/misc.h (grub_max): New function.
42950
2aad70e2 429512007-10-21 Robert Millan <rmh@aybabtu.com>
42952
42953 * util/misc.c (grub_util_info): Call fflush() before returning.
42954
54b71c4b 429552007-10-20 Robert Millan <rmh@aybabtu.com>
42956
42957 * genmk.rb (Image): Copy `extra_flags' from here ...
42958 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42959
42960 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42961 to `argc' and `args' arguments.
42962
a979f513 429632007-10-17 Robert Millan <rmh@aybabtu.com>
42964
42965 * kern/i386/loader.S: New file.
42966
42967 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42968 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42969 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42970 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42971 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42972 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42973 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42974 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42975 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42976 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42977 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42978 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42979 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42980 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42981
42982 * kern/i386/realmode.S: New file.
42983
42984 * kern/i386/pc/startup.S (protstack): Moved from here ...
42985 * kern/i386/realmode.S (protstack)... to here.
42986 * kern/i386/pc/startup.S (gdt): Moved from here ...
42987 * kern/i386/realmode.S (gdt)... to here.
42988 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42989 * kern/i386/realmode.S (prot_to_real)... to here.
42990
42991 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42992 `kern/i386/realmode.S'.
42993
825fc8fd 429942007-10-17 Robert Millan <rmh@aybabtu.com>
42995
42996 * include/grub/i386/loader.h: New file.
42997
42998 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42999 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43000 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43001 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43002 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43003 * include/grub/i386/loader.h (grub_linux_prot_size)
43004 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43005 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43006 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43007 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43008
43009 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43010
e179b2f4 430112007-10-15 Robert Millan <rmh@aybabtu.com>
43012
43013 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43014 filesystem when dev->disk is unset.
43015 Do probe for filesystem even when dev->disk->has_partitions is set.
43016 In case a filesystem is found, always report it.
43017 In case it isn't, if dev->disk->has_partitions is set, report that
43018 a partition table was found instead of reporting that no filesystem
43019 could be identified.
43020
5db82af6 430212007-10-12 Robert Millan <rmh@aybabtu.com>
43022
43023 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43024 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43025
68f6ac74 43026 * include/grub/types.h (grub_host_to_target16): New macro.
43027 (grub_host_to_target32): Likewise.
43028 (grub_host_to_target64): Likewise.
43029 (grub_target_to_host16): Likewise.
43030 (grub_target_to_host32): Likewise.
43031 (grub_target_to_host64): Likewise.
5db82af6 43032
43033 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43034 Renamed from to ...
43035 (GRUB_MOD_ALIGN): ...this. Update all users.
43036
68f6ac74 43037 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43038 grub_host_to_target32.
43039 Replace grub_be_to_cpu32 with grub_target_to_host32.
43040 (load_modules): Likewise.
43041 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43042 Replace grub_be_to_cpu32 with grub_target_to_host32.
43043 Replace grub_cpu_to_be16 with grub_host_to_target16.
43044 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43045
3cf497cc 430462007-10-12 Robert Millan <rmh@aybabtu.com>
43047
43048 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43049 * util/elf/grub-mkimage.c: ... here.
43050
43051 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43052 `util/powerpc/ieee1275/grub-mkimage.c'.
43053
c8cc3692 430542007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43055
c8cc3692 43056 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43057 and make it easier to figure out.
43058 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43059 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43060 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43061 leave us with less than HEAP_MIN_SIZE total heap.
43062 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43063
5c58b791 430642007-10-03 Robert Millan <rmh@aybabtu.com>
43065
43066 * include/grub/i386/io.h: New file.
43067 * commands/i386/pc/play.c (inb): Removed.
43068 (outb): Removed.
43069 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43070 with grub_outb().
afcd2ef8 43071 * term/i386/pc/serial.c (inb): Removed.
43072 (outb): Removed.
43073 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43074 with grub_outb().
43075 * term/i386/pc/vga.c (inb): Removed.
43076 (outb): Removed.
43077 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43078 with grub_outb().
5c58b791 43079
1a477ed6 430802007-10-02 Robert Millan <rmh@aybabtu.com>
43081
43082 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43084 Reported by Marcin Kurek.
43085
6b5d80fa 430862007-09-07 Robert Millan <rmh@aybabtu.com>
43087
43088 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43089 SmartFirmware version updates (as released by Sven Luther), and avoid
43090 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43091 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43092 known broken.
43093
5618afbf 430942007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43095
43096 From Hitoshi Ozeki:
43097 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43098 when merging two regions.
43099
6139dcd9 431002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43101
508e39ee 43102 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43103 * normal/completion.c (grub_normal_do_completion): Likewise.
43104 Reported by Hitoshi Ozeki.
43105
431062007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43107
6139dcd9 43108 Do not use devices at boot in chainloading.
f19dbdb7 43109
6139dcd9 43110 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43111 (boot_part_addr): Likewise.
43112 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43113 with BOOT_DRIVE and BOOT_PART_ADDR.
43114 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43115 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43116
38da6516 431172007-08-29 Robert Millan <rmh@aybabtu.com>
43118
43119 Patch from Simon Peter <dn.tlp@gmx.net>:
43120 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43121 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43122 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43123 util/i386/pc/grub-setup.c_DEPENDENCIES.
43124 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43125 util/grub-probe.c_DEPENDENCIES.
43126 * conf/powerpc-ieee1275.rmk: Likewise.
43127
29d0928c 431282007-08-28 Robert Millan <rmh@aybabtu.com>
43129
43130 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43131 to tell grub-mkdevicemap how to name devices.
43132 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43133 feature).
43134
43135 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43136 util/i386/get_disk_name.c.
43137 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43138 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43139 util/ieee1275/get_disk_name.c.
43140
43141 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43142
43143 * DISTLIST: Add util/i386/get_disk_name.c and
43144 util/ieee1275/get_disk_name.c.
43145
43146 * util/grub-mkdevicemap.c: Replace device naming logic with
43147 grub_util_get_disk_name() calls.
43148
5a0d3cca 431492007-08-20 Robert Millan <rmh@aybabtu.com>
43150
43151 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43152 (so that it works for both plural and singular quantities).
43153
8b72db2f 431542007-08-05 Robert Millan <rmh@aybabtu.com>
43155
43156 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43157 so that [xz] isn't taken into account when determining order.
43158
352466bf 431592007-08-02 Marco Gerards <marco@gnu.org>
43160
43161 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43162 `include/multiboot2.h', `include/grub/elfload.h',
43163 `include/multiboot.h', `include/grub/multiboot.h',
43164 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43165 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43166 `kern/elf.c', `loader/multiboot_loader.c',
43167 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43168 `loader/i386/pc/multiboot2.c',
43169 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43170 `util/i386/pc/grub-mkrescue.in'. Remove
43171 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43172 `include/grub/i386/pc/util/biosdisk.h' and
43173 `include/grub/powerpc/ieee1275/multiboot.h'.
43174
8f096014 431752007-08-02 Bean <bean123ch@gmail.com>
43176
43177 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43178 (ntfs_mod_SOURCES): New variable.
43179 (ntfs_mod_CFLAGS): Likewise.
43180 (ntfs_mod_LDFLAGS): Likewise.
43181
43182 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43183 (grub_probe_SOURCES): Likewise.
43184 (grub_emu_SOURCES): Likewise.
43185
43186 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43187 (grub_emu_SOURCES): Likewise.
43188
43189 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43190 (grub_emu_SOURCES): Likewise.
f19dbdb7 43191
8f096014 43192 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43193
43194 * fs/ntfs.c: New file.
43195
9959f7db 431962007-08-02 Bean <bean123ch@gmail.com>
43197
43198 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43199
43200 * file.h (grub_file): Likewise.
43201
43202 * fshelp.h (grub_fshelp_read_file): Likewise.
43203
43204 * util/i386/pc/grub-setup.c (setup): Likewise.
43205 (save_first_sector): Likewise.
43206 (save_blocklists): Likewise.
f19dbdb7 43207
9959f7db 43208 * fs/affs.c (grub_affs_read_file): Likewise.
43209
43210 * fs/ext2.c (grub_ext2_read_file): Likewise.
43211
43212 * fs/fat.c (grub_fat_read_data): Likewise.
43213
43214 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43215
43216 * fs/hfs.c (grub_hfs_read_file): Likewise.
43217
43218 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43219
43220 * fs/jfs.c (grub_jfs_read_file): Likewise.
43221
43222 * fs/minix.c (grub_minix_read_file): Likewise.
43223
43224 * fs/sfs.c (grub_sfs_read_file): Likewise.
43225
43226 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43227
9959f7db 43228 * fs/xfs.c (grub_xfs_read_file): Likewise.
43229
43230 * command/blocklist.c (read_blocklist): Likewise.
43231 (print_blocklist): Likewise.
43232
0a203f83 432332007-08-02 Marco Gerards <marco@gnu.org>
43234
43235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43236 `util/hostfs.c'.
43237
43238 * disk/host.c: New file.
43239
43240 * util/hostfs.c: Likewise.
43241
43242 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43243 return `GRUB_ERR_BAD_FS'.
43244 * fs/sfs.c (grub_sfs_mount): Likewise.
43245 * fs/xfs.c (grub_xfs_mount): Likewise.
43246
43247 * include/grub/disk.h (enum grub_disk_dev_id): Add
43248 `GRUB_DISK_DEVICE_HOST_ID'.
43249
43250 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43251
e5dfe777 432522007-07-24 Jerone Young <jerone@gmail.com>
43253
f19dbdb7 43254 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43255 modules for compilation.
43256 * conf/powerpc-ieee1275.rmk: Likewise.
43257
43258 * include/multiboot.h: Move multiboot definitions to one file. Rename
43259 many definitions to not get grub specific.
43260 * include/multiboot2.h: Create header with multiboot 2 definitions.
43261 * include/grub/multiboot.h: Header for grub specific function
43262 prototypes and definitions.
43263 * include/grub/multiboot2.h: Likewise.
43264 * include/grub/multiboot_loader.h: Likewise.
43265 * include/grub/i386/pc/multiboot.h: Removed.
43266 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43267
43268 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43269 and 2 to allow for one multiboot and module commands.
43270 * loader/multiboot2.c: Add multiboot2 functionality.
43271 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43272 and definition names.
43273 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43274 2 functions.
43275 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43276 ieee1275 specific multiboot2 code.
43277
43278 * kern/i386/pc/startup.S: Change headers and definition names for
43279 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43280
daf0f0ba 432812007-07-22 Robert Millan <rmh@aybabtu.com>
43282
43283 * geninitheader.sh: Process file specified in first parameter rather
43284 than hardcoding grub_modules_init.lst.
fe6b695a 43285 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43286 than hardcoding grub_modules_init.h.
43287
43288 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43289 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43290 grub_probe_init.[ch] and grub_setup_init.[ch].
43291
43292 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43293 grub_modules_init.h with grub_emu_init.h.
43294 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43295 grub_probe_init.[ch] files.
43296 * conf/i386-efi.rmk: Likewise.
43297 * conf/i386-pc.rmk: Likewise.
43298 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43299 grub_setup_init.[ch] files.
43300
43301 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43302 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43303 to initialize modules rather than a list of hardcoded functions.
43304 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43305 grub_init_all() to initialize modules rather than a list of hardcoded
43306 functions.
43307
54cdc1cc 433082007-07-22 Robert Millan <rmh@aybabtu.com>
43309
43310 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43311 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43312
ad0686cc 433132007-07-22 Robert Millan <rmh@aybabtu.com>
43314
43315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43316 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43317 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43318 flag when running on SmartFirmware.
43319 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43320 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43321 was set.
43322
43323 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43324 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43325 rather than decreasing it.
43326
43327 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43328 there's not enough space to do it, fail in the same way as when it
43329 can't be done because there are no partitions.
43330
43331 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43332 when nvsetenv failed.
43333
969c02ec 433342007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43335
43336 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43337 because this rule is automatically generated.
43338 (grub-mkrescue): Removed for the same reason as above.
43339
5a79f472 433402007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43341
43342 Migrate to GNU General Public License Version 3.
f19dbdb7 43343
5a79f472 43344 * COPYING: Replaced with the plain text version of GPLv3.
43345
43346 * config.guess: Updated from gnulib.
43347 * config.sub: Likewise.
43348
43349 * geninit.sh: Output a GPLv3 copyright notice.
43350 * geninitheader.sh: Likewise.
43351 * genmodsrc.sh: Likewise.
43352 * gensymlist.sh.in: Likewise.
43353
43354 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43355 * boot/i386/pc/diskboot.S: Likewise.
43356 * boot/i386/pc/pxeboot.S: Likewise.
43357 * commands/blocklist.c: Likewise.
43358 * commands/boot.c: Likewise.
43359 * commands/cat.c: Likewise.
43360 * commands/cmp.c: Likewise.
43361 * commands/configfile.c: Likewise.
43362 * commands/echo.c: Likewise.
43363 * commands/help.c: Likewise.
43364 * commands/ls.c: Likewise.
43365 * commands/search.c: Likewise.
43366 * commands/terminal.c: Likewise.
43367 * commands/test.c: Likewise.
43368 * commands/videotest.c: Likewise.
43369 * commands/i386/cpuid.c: Likewise.
43370 * commands/i386/pc/halt.c: Likewise.
43371 * commands/i386/pc/play.c: Likewise.
43372 * commands/i386/pc/reboot.c: Likewise.
43373 * commands/i386/pc/vbeinfo.c: Likewise.
43374 * commands/i386/pc/vbetest.c: Likewise.
43375 * commands/ieee1275/halt.c: Likewise.
43376 * commands/ieee1275/reboot.c: Likewise.
43377 * commands/ieee1275/suspend.c: Likewise.
43378 * disk/loopback.c: Likewise.
43379 * disk/lvm.c: Likewise.
43380 * disk/raid.c: Likewise.
43381 * disk/efi/efidisk.c: Likewise.
43382 * disk/i386/pc/biosdisk.c: Likewise.
43383 * disk/ieee1275/ofdisk.c: Likewise.
43384 * font/manager.c: Likewise.
43385 * fs/affs.c: Likewise.
43386 * fs/ext2.c: Likewise.
43387 * fs/fat.c: Likewise.
43388 * fs/fshelp.c: Likewise.
43389 * fs/hfs.c: Likewise.
43390 * fs/hfsplus.c: Likewise.
43391 * fs/iso9660.c: Likewise.
43392 * fs/jfs.c: Likewise.
43393 * fs/minix.c: Likewise.
43394 * fs/sfs.c: Likewise.
43395 * fs/ufs.c: Likewise.
43396 * fs/xfs.c: Likewise.
43397 * hello/hello.c: Likewise.
43398 * include/grub/acorn_filecore.h: Likewise.
43399 * include/grub/arg.h: Likewise.
43400 * include/grub/bitmap.h: Likewise.
43401 * include/grub/boot.h: Likewise.
43402 * include/grub/cache.h: Likewise.
43403 * include/grub/device.h: Likewise.
43404 * include/grub/disk.h: Likewise.
43405 * include/grub/dl.h: Likewise.
43406 * include/grub/elfload.h: Likewise.
43407 * include/grub/env.h: Likewise.
43408 * include/grub/err.h: Likewise.
43409 * include/grub/file.h: Likewise.
43410 * include/grub/font.h: Likewise.
43411 * include/grub/fs.h: Likewise.
43412 * include/grub/fshelp.h: Likewise.
43413 * include/grub/gzio.h: Likewise.
43414 * include/grub/hfs.h: Likewise.
43415 * include/grub/kernel.h: Likewise.
43416 * include/grub/loader.h: Likewise.
43417 * include/grub/lvm.h: Likewise.
43418 * include/grub/misc.h: Likewise.
43419 * include/grub/mm.h: Likewise.
43420 * include/grub/net.h: Likewise.
43421 * include/grub/normal.h: Likewise.
43422 * include/grub/parser.h: Likewise.
43423 * include/grub/partition.h: Likewise.
43424 * include/grub/pc_partition.h: Likewise.
43425 * include/grub/raid.h: Likewise.
43426 * include/grub/rescue.h: Likewise.
43427 * include/grub/script.h: Likewise.
43428 * include/grub/setjmp.h: Likewise.
43429 * include/grub/symbol.h: Likewise.
43430 * include/grub/term.h: Likewise.
43431 * include/grub/terminfo.h: Likewise.
43432 * include/grub/tparm.h: Likewise.
43433 * include/grub/types.h: Likewise.
43434 * include/grub/video.h: Likewise.
43435 * include/grub/efi/api.h: Likewise.
43436 * include/grub/efi/chainloader.h: Likewise.
43437 * include/grub/efi/console.h: Likewise.
43438 * include/grub/efi/console_control.h: Likewise.
43439 * include/grub/efi/disk.h: Likewise.
43440 * include/grub/efi/efi.h: Likewise.
43441 * include/grub/efi/pe32.h: Likewise.
43442 * include/grub/efi/time.h: Likewise.
43443 * include/grub/i386/linux.h: Likewise.
43444 * include/grub/i386/setjmp.h: Likewise.
43445 * include/grub/i386/types.h: Likewise.
43446 * include/grub/i386/efi/kernel.h: Likewise.
43447 * include/grub/i386/efi/loader.h: Likewise.
43448 * include/grub/i386/efi/time.h: Likewise.
43449 * include/grub/i386/pc/biosdisk.h: Likewise.
43450 * include/grub/i386/pc/boot.h: Likewise.
43451 * include/grub/i386/pc/chainloader.h: Likewise.
43452 * include/grub/i386/pc/console.h: Likewise.
43453 * include/grub/i386/pc/init.h: Likewise.
43454 * include/grub/i386/pc/kernel.h: Likewise.
43455 * include/grub/i386/pc/loader.h: Likewise.
43456 * include/grub/i386/pc/memory.h: Likewise.
43457 * include/grub/i386/pc/multiboot.h: Likewise.
43458 * include/grub/i386/pc/serial.h: Likewise.
43459 * include/grub/i386/pc/time.h: Likewise.
43460 * include/grub/i386/pc/vbe.h: Likewise.
43461 * include/grub/i386/pc/vbeblit.h: Likewise.
43462 * include/grub/i386/pc/vbefill.h: Likewise.
43463 * include/grub/i386/pc/vbeutil.h: Likewise.
43464 * include/grub/i386/pc/vga.h: Likewise.
43465 * include/grub/ieee1275/ieee1275.h: Likewise.
43466 * include/grub/ieee1275/ofdisk.h: Likewise.
43467 * include/grub/powerpc/libgcc.h: Likewise.
43468 * include/grub/powerpc/setjmp.h: Likewise.
43469 * include/grub/powerpc/types.h: Likewise.
43470 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43471 * include/grub/powerpc/ieee1275/console.h: Likewise.
43472 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43473 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43474 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43475 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43476 * include/grub/powerpc/ieee1275/time.h: Likewise.
43477 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43478 * include/grub/sparc64/libgcc.h: Likewise.
43479 * include/grub/sparc64/setjmp.h: Likewise.
43480 * include/grub/sparc64/types.h: Likewise.
43481 * include/grub/sparc64/ieee1275/console.h: Likewise.
43482 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43483 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43484 * include/grub/sparc64/ieee1275/time.h: Likewise.
43485 * include/grub/util/biosdisk.h: Likewise.
43486 * include/grub/util/getroot.h: Likewise.
43487 * include/grub/util/lvm.h: Likewise.
43488 * include/grub/util/misc.h: Likewise.
43489 * include/grub/util/raid.h: Likewise.
43490 * include/grub/util/resolve.h: Likewise.
43491 * io/gzio.c: Likewise.
43492 * kern/device.c: Likewise.
43493 * kern/disk.c: Likewise.
43494 * kern/dl.c: Likewise.
43495 * kern/elf.c: Likewise.
43496 * kern/env.c: Likewise.
43497 * kern/err.c: Likewise.
43498 * kern/file.c: Likewise.
43499 * kern/fs.c: Likewise.
43500 * kern/loader.c: Likewise.
43501 * kern/main.c: Likewise.
43502 * kern/misc.c: Likewise.
43503 * kern/mm.c: Likewise.
43504 * kern/parser.c: Likewise.
43505 * kern/partition.c: Likewise.
43506 * kern/rescue.c: Likewise.
43507 * kern/term.c: Likewise.
43508 * kern/efi/efi.c: Likewise.
43509 * kern/efi/init.c: Likewise.
43510 * kern/efi/mm.c: Likewise.
43511 * kern/i386/dl.c: Likewise.
43512 * kern/i386/efi/init.c: Likewise.
43513 * kern/i386/efi/startup.S: Likewise.
43514 * kern/i386/pc/init.c: Likewise.
43515 * kern/i386/pc/lzo1x.S: Likewise.
43516 * kern/i386/pc/startup.S: Likewise.
43517 * kern/ieee1275/ieee1275.c: Likewise.
43518 * kern/powerpc/cache.S: Likewise.
43519 * kern/powerpc/dl.c: Likewise.
43520 * kern/powerpc/ieee1275/cmain.c: Likewise.
43521 * kern/powerpc/ieee1275/crt0.S: Likewise.
43522 * kern/powerpc/ieee1275/init.c: Likewise.
43523 * kern/powerpc/ieee1275/openfw.c: Likewise.
43524 * kern/sparc64/cache.S: Likewise.
43525 * kern/sparc64/dl.c: Likewise.
43526 * kern/sparc64/ieee1275/init.c: Likewise.
43527 * kern/sparc64/ieee1275/openfw.c: Likewise.
43528 * loader/efi/chainloader.c: Likewise.
43529 * loader/efi/chainloader_normal.c: Likewise.
43530 * loader/i386/efi/linux.c: Likewise.
43531 * loader/i386/efi/linux_normal.c: Likewise.
43532 * loader/i386/pc/chainloader.c: Likewise.
43533 * loader/i386/pc/chainloader_normal.c: Likewise.
43534 * loader/i386/pc/linux.c: Likewise.
43535 * loader/i386/pc/linux_normal.c: Likewise.
43536 * loader/i386/pc/multiboot.c: Likewise.
43537 * loader/i386/pc/multiboot_normal.c: Likewise.
43538 * loader/powerpc/ieee1275/linux.c: Likewise.
43539 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43540 * normal/arg.c: Likewise.
43541 * normal/cmdline.c: Likewise.
43542 * normal/command.c: Likewise.
43543 * normal/completion.c: Likewise.
43544 * normal/execute.c: Likewise.
43545 * normal/function.c: Likewise.
43546 * normal/lexer.c: Likewise.
43547 * normal/main.c: Likewise.
43548 * normal/menu.c: Likewise.
43549 * normal/menu_entry.c: Likewise.
43550 * normal/misc.c: Likewise.
43551 * normal/parser.y: Likewise.
43552 * normal/script.c: Likewise.
43553 * normal/i386/setjmp.S: Likewise.
43554 * normal/powerpc/setjmp.S: Likewise.
43555 * normal/sparc64/setjmp.S: Likewise.
43556 * partmap/acorn.c: Likewise.
43557 * partmap/amiga.c: Likewise.
43558 * partmap/apple.c: Likewise.
43559 * partmap/gpt.c: Likewise.
43560 * partmap/pc.c: Likewise.
43561 * partmap/sun.c: Likewise.
43562 * term/gfxterm.c: Likewise.
43563 * term/terminfo.c: Likewise.
43564 * term/efi/console.c: Likewise.
43565 * term/i386/pc/console.c: Likewise.
43566 * term/i386/pc/serial.c: Likewise.
43567 * term/i386/pc/vesafb.c: Likewise.
43568 * term/i386/pc/vga.c: Likewise.
43569 * term/ieee1275/ofconsole.c: Likewise.
43570 * util/biosdisk.c: Likewise.
43571 * util/console.c: Likewise.
43572 * util/genmoddep.c: Likewise.
43573 * util/getroot.c: Likewise.
43574 * util/grub-emu.c: Likewise.
43575 * util/grub-mkdevicemap.c: Likewise.
43576 * util/grub-probe.c: Likewise.
43577 * util/lvm.c: Likewise.
43578 * util/misc.c: Likewise.
43579 * util/raid.c: Likewise.
43580 * util/resolve.c: Likewise.
43581 * util/update-grub.in: Likewise.
43582 * util/update-grub_lib.in: Likewise.
43583 * util/grub.d/00_header.in: Likewise.
43584 * util/grub.d/10_hurd.in: Likewise.
43585 * util/grub.d/10_linux.in: Likewise.
43586 * util/i386/efi/grub-install.in: Likewise.
43587 * util/i386/efi/grub-mkimage.c: Likewise.
43588 * util/i386/pc/grub-install.in: Likewise.
43589 * util/i386/pc/grub-mkimage.c: Likewise.
43590 * util/i386/pc/grub-mkrescue.in: Likewise.
43591 * util/i386/pc/grub-setup.c: Likewise.
43592 * util/i386/pc/misc.c: Likewise.
43593 * util/powerpc/ieee1275/grub-install.in: Likewise.
43594 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43595 * util/powerpc/ieee1275/misc.c: Likewise.
43596 * video/bitmap.c: Likewise.
43597 * video/video.c: Likewise.
43598 * video/i386/pc/vbe.c: Likewise.
43599 * video/i386/pc/vbeblit.c: Likewise.
43600 * video/i386/pc/vbefill.c: Likewise.
43601 * video/i386/pc/vbeutil.c: Likewise.
43602 * video/readers/tga.c: Likewise.
43603
3572d015 436042007-07-02 Robert Millan <rmh@aybabtu.com>
43605
43606 * conf/i386-efi.rmk: Replace obsolete reference to
43607 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43608 with util/getroot.c.
43609 * conf/powerpc-ieee1275.rmk: Likewise.
43610 * conf/sparc64-ieee1275.rmk: Likewise.
43611
43612 * util/grub-emu.c (main): Fix unchecked pointer handling.
43613
2c2a681b 436142007-07-02 Robert Millan <rmh@aybabtu.com>
43615
43616 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43617 invocation to fail, in order to support partition-less media.
43618
43619 * util/i386/pc/grub-install.in: Likewise.
43620
43621 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43622 which fs or partmap modules are needed (akin to its sister scripts).
43623
43624 Also use grub-probe to get rid of unportable /proc/mounts check.
43625
43626 Print the same informational message that the other scripts do, before
fe6b695a 43627 exiting.
2c2a681b 43628
6193defe 436292007-06-23 Robert Millan <rmh@aybabtu.com>
43630
fe6b695a 43631 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43632 a font file can be found and, if so, echo the GRUB path to it.
43633
43634 * util/update-grub.in: Handle multiple terminals depending on user
43635 input, platform availability and font file presence. Propagate
43636 variables of our findings to /etc/grub.d/ children.
43637
43638 * util/grub.d/00_header.in: Handle multiple terminals, based on
43639 environment setup by update-grub.
43640
eface1dc 436412007-06-23 Robert Millan <rmh@aybabtu.com>
43642
ba50d28f 43643 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43644
bf697e28 436452007-06-21 Robert Millan <rmh@aybabtu.com>
43646
43647 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43648 indicate end of data section in kernel image.
43649 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43650 GRUB_KERNEL_MACHINE_DATA_END.
43651
43652 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43653 space for it.
43654 * kern/i386/efi/startup.S: Likewise.
43655
43656 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43657 during image generation. Implement --prefix option to override this
43658 patch.
43659 * util/i386/efi/grub-mkimage.c: Likewise.
43660
43661 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43662 code to make path relative to its root into a separate function.
43663
43664 * util/i386/pc/grub-install.in: Use newly provided
43665 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43666 pass the result to grub-install --prefix.
43667
baa574b4 436682007-06-13 Robert Millan <rmh@aybabtu.com>
43669
43670 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43671 DEFAULT_DEVICE_MAP.
43672 * util/grub-emu.c: Use above definitions from misc.h instead of
43673 defining them.
43674 * util/grub-mkdevicemap.c: Likewise.
43675 * util/i386/pc/grub-setup.c: Likewise.
43676 * util/grub-probe.c: Likewise.
43677 (probe): Abort with grub_util_error() when either
43678 grub_guess_root_device or grub_util_get_grub_dev fails.
43679
0215dcbf 436802007-06-12 Robert Millan <rmh@aybabtu.com>
43681
43682 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43683 "pager" assignment.
43684 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43685 "pcdata".
43686 * util/grub-probe.c (probe): Likewise for "drive_name".
43687
8af2ab7b 436882007-06-11 Robert Millan <rmh@aybabtu.com>
43689
43690 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43691 not just the cdrom one.
43692
59d31694 436932007-06-11 Robert Millan <rmh@aybabtu.com>
43694
43695 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43696 Add --pkglibdir=DIR option to override pkglibdir.
43697 Mention --image-type=TYPE in help output.
43698 Fix --grub-mkimage (it was a no-op).
fe6b695a 43699 Abort gracefully when no parameter is given.
59d31694 43700
7ee367e4 437012007-06-11 Robert Millan <rmh@aybabtu.com>
43702
43703 * util/i386/pc/grub-mkrescue.in: New file.
43704 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43705 * Makefile.in: Handle bin_SCRIPTS.
43706
29b0ed46 437072007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43708
43709 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43710 list of video modes.
43711
c0f90770 437122007-06-06 Robert Millan <rmh@aybabtu.com>
43713
43714 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43715 file doesn't exist, or if it is in a filesystem grub can't read.
43716
43717 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43718 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43719 header comment to fit in 80 columns when the variables are resolved.
43720
43721 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43722 could be identified by update-grub. Remove redundant check for
fe6b695a 43723 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43724 handles that).
43725
fb36dc26 437262007-06-04 Robert Millan <rmh@aybabtu.com>
43727
43728 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43729
43730 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43731
43732 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43733
0c68c93e 437342007-06-04 Robert Millan <rmh@aybabtu.com>
43735
43736 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43737
43738 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43739 grub_apple_partition_map_fini.
43740
43741 * util/biosdisk.c
43742 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43743 to access >2 TiB disks).
43744
43745 Print disk->total_sectors with %llu instead of %lu, since this
43746 variable is always 64-bit (prevents wrong disk size from being displayed
43747 on either >2 TiB disk or big-endian CPU).
43748
43749 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43750 into a generic case that supports all (sane) partition maps.
43751
43752 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43753 breaks big-endian.
43754
43755 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43756 and grub_apple_partition_map_fini() after that.
43757
0f23eb74 437582007-06-01 Robert Millan <rmh@aybabtu.com>
43759
43760 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43761
43762 * util/grub.d/00_header.in: Only enable gfxterm when
43763 convert_system_path_to_grub_path() succeeds.
43764
42c71976 437652007-05-20 Robert Millan <rmh@aybabtu.com>
43766
43767 * util/update-grub_lib.in: New file.
43768 * DISTLIST: Add update-grub_lib.in.
43769 * conf/common.rmk: Generate update-grub_lib and install it in
43770 $(lib_DATA).
43771 * Makefile.in: Add install routine for $(lib_DATA).
43772
43773 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43774 function provided by update-grub_lib to support arbitrary paths of
43775 unifont.pff.
43776 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43777 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43778
5beb2291 437792007-05-19 Robert Millan <rmh@aybabtu.com>
43780
43781 * commands/i386/cpuid.c: New module.
43782 * DISTLIST: Add it.
43783 * conf/i386-efi.rmk: Enable cpuid.mod.
43784 * conf/i386-pc.rmk: Likewise.
43785
7262eca1 437862007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43787
43788 * kern/disk.c (grub_disk_read): Check return value of
43789 grub_realloc().
43790
260ba823 437912007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43792
43793 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43794 arrays.
43795 * disk/raid.c (grub_raid_open): Likewise.
43796
1ecb6cf2 437972007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43798
43799 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43800 stack instead of on the heap.
43801
43802 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43803 before doing a read on it.
43804
43805 * configure.ac: Only use -fno-stack-protector for the target
43806 environment.
f19dbdb7 43807
21c8cbb1 438082007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43809
43810 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43811 __attribute_ ((unused)) to mode_type argument.
43812
43813 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43814
21c8cbb1 43815 * kern/misc.c (memcmp): Fix prototype.
43816
43817 * include/grub/partition.h [GRUB_UTIL]
43818 (grub_gpt_partition_map_init): Add prototype.
43819 (grub_gpt_partition_map_fini): Likewise.
43820
43821 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43822 at the right place.
43823
43824 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43825 (grub_fat_read_data): Likewise.
43826 (grub_fat_find_dir): Likewise.
43827
43828 * font/manager.c (find_glyph): Make table a const.
43829 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43830
849d55d3 438312007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43832
43833 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43834 code, first search for device in /dev/mapper, then in /dev.
43835 (grub_util_get_grub_dev): New function.
43836 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43837 prototype.
43838 * util/grub-probe.c (probe): Remove check for RAID, call
43839 grub_util_get_grub_dev() instead of
43840 grub_util_biosdisk_get_grub_dev().
43841 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43842 grub_util_biosdisk_get_grub_dev().
43843 * util/i386/pc/grub-setup.c (main): Likewise.
43844
8fff7c2f 438452007-05-16 Robert Millan <rmh@aybabtu.com>
43846
43847 * DISTLIST: Update for the latest changes.
43848 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43849 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43850 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43851 grub/util/biosdisk.h.
43852 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43853 grub/util/biosdisk.h.
43854
48e12b52 438552007-05-16 Robert Millan <rmh@aybabtu.com>
43856
43857 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43858
46b9d128 438592007-05-16 Robert Millan <rmh@aybabtu.com>
43860
43861 * util/i386/efi/grub-install.in: New.
43862 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43863 newly added grub-install.
43864 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43865 include.
43866 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43867 grub/util/biosdisk.h.
43868 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43869 grub/util/biosdisk.h.
43870
2d1a40a9 438712007-05-16 Robert Millan <rmh@aybabtu.com>
43872
43873 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43874 * include/grub/util/biosdisk.h: ... here.
43875 * util/i386/pc/biosdisk.c: Moved to ...
43876 * util/biosdisk.c: ... here.
43877 * util/i386/pc/getroot.c: Moved to ...
43878 * util/getroot.c: ... here.
43879 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43880 * util/grub-mkdevicemap.c: ... here.
43881 * util/i386/pc/grub-probe.c: Moved to ...
43882 * util/grub-probe.c: ... here.
43883
9e26e3bc 438842007-05-15 Robert Millan <rmh@aybabtu.com>
43885
43886 * util/update-grub.in: Remove duplicated line in grub.cfg header
43887 message.
43888
57f96397 438892007-05-13 Robert Millan <rmh@aybabtu.com>
43890
43891 * util/update-grub.in: Fix a few assumptions about the devices holding
43892 /, /boot and /boot/grub being the same.
43893 * util/grub.d/00_header.in: Likewise.
43894 * util/grub.d/10_hurd.in: Likewise.
43895 * util/grub.d/10_linux.in: Likewise.
43896
43897 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43898 patterns. Use that to define the `.old' suffix as older than `'.
43899
43900 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43901
43902 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43903 the grub.cfg header message.
43904
2e610d62 439052007-05-11 Robert Millan <rmh@aybabtu.com>
43906
43907 * util/update-grub.in: Create device.map if it doesn't already exist,
43908 before attempting to run grub-probe.
43909 Check for grub-probe and grub-mkdevicemap with the same code
43910 grub-install is using.
43911 Remove test mode.
43912
3f6a10ef 439132007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43914
43915 * Makefile.in: Add the datarootdir autoconf variable.
43916
02e7b75e 439172007-05-09 Robert Millan <rmh@aybabtu.com>
43918
43919 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43920 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43921
75f396cc 439222007-05-07 Robert Millan <rmh@aybabtu.com>
43923
43924 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43925 determine partition map module.
43926 * util/i386/pc/grub-install.in: Use this feature to decide which
43927 partition module to load, instead of hardcoding pc and gpt.
43928
da65cb36 439292007-05-07 Robert Millan <rmh@aybabtu.com>
43930
43931 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43932 source directory differs from build directory.
43933
b57d6a91 439342007-05-05 Robert Millan <rmh@aybabtu.com>
43935
43936 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43937 initialisation.
43938
509d00f1 439392007-05-05 Robert Millan <rmh@aybabtu.com>
43940
43941 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43942
c48f23ef 439432007-05-05 Robert Millan <rmh@aybabtu.com>
43944
43945 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43946 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43947
20b97658 439482007-05-05 Robert Millan <rmh@aybabtu.com>
43949
43950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43951 (grub_probe_SOURCES): Likewise.
43952 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43953 GPT and initialize dos_part and bsd_part accordingly.
43954 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43955 install_bsd_part.
43956 (main): Activate gpt module for use during partition identification,
43957 and deactivate it afterwards.
43958 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43959 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43960 partition identification, and deactivate it afterwards.
43961
99123174 439622007-05-05 Robert Millan <rmh@aybabtu.com>
43963
43964 * term/i386/pc/console.c (grub_console_fini): Call
43965 grub_term_set_current() before grub_term_unregister().
43966
ebd97f6e 439672007-05-04 Robert Millan <rmh@aybabtu.com>
43968
43969 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43970 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43971 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43972 and update-grub_DATA.
43973 * conf/common.rmk: Build and install update-grub components.
43974 * conf/common.mk: Regenerate.
43975 * util/update-grub.in: New. Core of update-grub.
43976 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43977 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43978 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43979 * util/grub.d/README: New. Document grub.d directory layout.
43980
b06a264d 439812007-05-01 Robert Millan <rmh@aybabtu.com>
43982
43983 * util/grub-emu.c: Move initialization functions
43984 grub_util_biosdisk_init() and grub_init_all() before
43985 grub_util_biosdisk_get_grub_dev(), which relies on them.
43986
41f0050e 439872007-04-19 Robert Millan <rmh@aybabtu.com>
43988
43989 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43990 it is used later.
43991
04582bb3 439922007-04-18 Jerone Young <jerone@gmail.com>
43993
f19dbdb7 43994 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43995 stanza.
43996
08db4632 439972007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43998
08db4632 43999 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44000 continue on and look for device node with real device name.
44001
801b76be 440022007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44003
fe6b695a 44004 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44005 ability.
44006 * Makefile.in: Add autoconf package transformation code.
44007 * util/i386/pc/grub-install.in: Likewise.
44008 * util/powerpc/ieee1275/grub-install.in: Likewise.
44009
6795c4e1 440102007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44011
44012 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44013 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44014 (EXT2_REVISION): Likewise.
44015 (EXT2_INODE_SIZE): Likewise.
44016 (struct grub_ext2_block_group): Added a missing member
44017 "used_dirs".
44018 (grub_ext2_read_inode): Divide by the inode size in a superblock
44019 instead of 128 to obtain INODES_PER_BLOCK.
44020 Use the macro EXT2_INODE_SIZE instead of directly using
44021 SBLOCK->INODE_SIZE.
44022
d70af616 440232007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44024
44025 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44026 superblock instead of the structure size to compute an
44027 offset. This fixes the problem that GRUB could not read a
44028 filesystem when inode size is different from 128-byte.
44029
3b801603 440302007-03-05 Marco Gerards <marco@gnu.org>
44031
44032 * normal/main.c (read_config_file): When "menu" is not set, create
44033 an initial context.
44034
4785bfe4 440352007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44036
44037 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44038 (HEAP_LIMIT): New macro.
44039 (grub_claim_heap): Claim memory up to `heaplimit'.
44040
a0cbb023 440412007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44042
44043 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44044 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44045 (_start): Likewise.
44046 (grub_arch_modules_addr): Return address after `_end'.
44047 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44048 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44049 (add_segments): Calculate `_end' from phdr size and location.
44050 (ALIGN_UP): Moved to ...
44051 * include/grub/misc.h: here.
44052 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44053 New macro.
44054 (GRUB_IEEE1275_MODULE_BASE): Removed.
44055
fd7d8eba 440562007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44057
44058 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44059 loop boundary.
44060
9b09e6fc 440612007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44062
44063 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44064 All users updated.
44065 (grub_elf64_load_hook_t): Likewise.
44066 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44067 debug output.
44068
3ce27299 440692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44070
44071 * kern/mm.c: Update copyright.
44072 (grub_mm_debug): Correct syntax error.
44073 (grub_mm_dump_free): New function.
44074 (grub_debug_free): Call `grub_free'.
44075 * include/grub/mm.h: Update copyright.
44076 (grub_mm_dump_free): Add declaration.
44077
077d5fee 440782007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44079
44080 * include/grub/ieee1275/ieee1275.h: Update copyright.
44081 * kern/powerpc/ieee1275/init.c: Likewise.
44082 * kern/powerpc/ieee1275/openfw.c: Likewise.
44083
44084 * loader/powerpc/ieee1275/linux.c: Likewise.
44085 * include/grub/elfload.h: Likewise.
44086 * kern/elf.c: Likewise.
44087 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44088 callers.
44089 (grub_elf64_load): Likewise.
44090 (grub_elf32_load_segment): Move to a nested function.
44091 (grub_elf64_load_segment): Likewise.
44092
dc946850 440932007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44094
44095 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44096 prototype.
44097 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44098 (grub_heap_len): Likewise.
44099 (HEAP_SIZE): New macro.
44100 (grub_claim_heap): New function.
44101 (grub_machine_init): Don't claim heap directly. Call
44102 `grub_claim_heap'.
44103 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44104 (grub_available_iterate): New function.
44105
baa2a121 441062007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44107
44108 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44109 * configure.ac: Use it for testing the HOST and TARGET compilers.
44110
4fe9862e 441112006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44112
44113 * Makefile.in (enable_grub_emu): New variable.
44114 * configure.ac (--enable-grub-emu): New option.
44115 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44116 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44117 * conf/i386-pc.rmk: Likewise.
44118 * conf/powerpc-ieee1275.rmk: Likewise.
44119 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44120
a8aa5762 441212006-12-12 Marco Gerards <marco@gnu.org>
44122
44123 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44124
44125 * kern/env.c (grub_env_unset): Don't free the member `value' when
44126 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44127 pointer.
44128
44129 * normal/main.c (current_menu): Removed.
44130 (free_menu): Unset the `menu' environment variable.
44131 (grub_normal_menu_addentry): Make use of the environment variable
44132 `menu', instead of using the global `current_menu'. Allocate
44133 memory for the sourcecode of this entry.
44134 (read_config_file): New argument `nested', changed all callers.
44135 Only in the case of a new context, initialize a new menu. Set the
44136 `menu' environment variable.
44137 (grub_normal_execute): Don't set and unset the environment
44138 variable `menu' here anymore. Only free the menu when leaving the
44139 context.
44140
44141 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44142 leak.
44143
957b3a3e 441442006-12-11 Marco Gerards <marco@gnu.org>
44145
44146 * normal/menu_entry.c (run): Fix off by one bug so the last line
44147 is executed. Move the loader check to outside the loop.
44148
ef875714 441492006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44150
44151 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44152
4e739985 441532006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44154
44155 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44156 the number of sectors. Reported by Andrey Shuvikov
44157 <mr_hyro@yahoo.com>.
f19dbdb7 44158
790707f2 441592006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44160
44161 * kern/disk.c (grub_disk_read): When there is a read error, always
44162 try to read only the necessary data.
f19dbdb7 44163
790707f2 44164 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44165 disk/raid.c.
44166 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44167 prototype.
44168 [GRUB_UTIL] (grub_raid_fini): Likewise.
44169 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44170 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44171 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44172 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44173 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44174 and grub_raid_fini().
f19dbdb7 44175
03e58196 441762006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44177
44178 * include/grub/types.h (__unused): Rename to UNUSED.
44179 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44180 (grub_elf64_size): Likewise.
f19dbdb7 44181
ae4f23bf 441822006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44183
44184 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44185 grub_error_push and grub_error_pop in the error-handling path.
44186 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44187 length.
44188
2166cc83 441892006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44190
44191 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44192 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44194 (kernel_elf_SOURCES): Likewise.
44195 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44196 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44197 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44198 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44199 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44200 (elf_mod_SOURCES): New variable.
44201 (elf_mod_CFLAGS): Likewise.
44202 (elf_mod_LDFLAGS): Likewise.
44203 * include/grub/types.h (__unused): New macro.
44204 * include/grub/elfload.h: New file.
44205 * kern/elf.c: Likewise.
44206 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44207 (ELF32_LOADMASK): New macro.
44208 (ELF64_LOADMASK): Likewise.
44209 (vmlinux): Removed.
44210 (grub_linux_load32): New function.
44211 (grub_linux_load64): Likewise.
44212 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44213 Use grub_elf_t instead of grub_file_t.
44214
a09d5aa5 442152006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44216
44217 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44218 `catch_result' to struct set_color_args.
44219
d976fc51 442202006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44221
44222 * normal/menu.c: Include grub/script.h.
44223 * normal/menu_entry.c: Likewise.
44224 * include/grub/normal.h: Do not include grub/script.h.
44225
67507549 442262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44227
44228 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44229
69203a99 442302006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44231
44232 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44233 disk.
44234 (grub_disk_close): Print debug messages when closing a disk.
44235 (grub_disk_read): Print debug messages when disk read fails.
44236 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44237 filesystem type.
44238 * kern/partition.c: Include misc.h.
44239 (grub_partition_iterate): Print debug messages when detecting
44240 partition type.
44241
e2b8278c 442422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44243
44244 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44245 is negative.
44246 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44247
97b2f2ff 442482006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44249
44250 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44251 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44252
6555d655 442532006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44254
44255 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44256 instead of sizeof(lv). Patch by Michael Guntsche.
44257
4d42b77f 442582006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44259
44260 * disk/lvm.c: Rename VGS to VG_LIST.
44261 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44262 (grub_lvm_open): Likewise.
44263 Thanks to Michael Guntsche for finding this bug.
44264
5d74d927 442652006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44266
44267 * configure.ac (AC_INIT): Bumped to 1.95.
44268
a1bb27e4 442692006-10-14 Robert Millan <rmh@aybabtu.com>
44270
44271 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44272 with "/dev/.static/dev/md".
44273
e0994b8b 442742006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44275
44276 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44277 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44278 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44279 DRIVE_NAME are always freed.
44280
44281 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44282 DOS_PART, as a DOS partition is counted from one instead of zero
44283 now. Reported by Robert Millan.
44284
ddd5cee9 442852006-10-14 Robert Millan <rmh@aybabtu.com>
44286
44287 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44288 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44289 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44290 string returned by grub_guess_root_device.
44291 * util/i386/pc/grub-setup.c: Likewise.
44292 * util/i386/pc/grub-probefs.c: Likewise.
44293
44294 * util/i386/pc/grub-probefs.c: Rename to ...
44295 * util/i386/pc/grub-probe.c: ... this.
44296 * DISTLIST: Remove grub-probefs, add grub-probe.
44297 * conf/i386-efi.rmk: Likewise.
44298 * conf/i386-pc.rmk: Likewise.
44299 * util/i386/pc/grub-install.in: Likewise.
44300
44301 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44302 choose which information we want to print.
44303
2b002173 443042006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44305
44306 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44307 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44308 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44309 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44310 video/readers/tga.c and video/i386/pc/vbeutil.c.
44311
443122006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44313
44314 Added support for RAID and LVM.
f19dbdb7 44315
2b002173 44316 * disk/lvm.c: New file.
44317 * disk/raid.c: Likewise.
44318 * include/grub/lvm.h: Likewise.
f19dbdb7 44319 * include/grub/raid.h: Likewise.
2b002173 44320 * include/grub/util/lvm.h: Likewise.
44321 * include/grub/util/raid.h: Likewise.
44322 * util/lvm.c: Likewise.
44323 * util/raid.c: Likewise.
44324
44325 * include/grub/disk.h (grub_disk_dev_id): Add
44326 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44327 (grub_disk_get_size): New prototype.
44328 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44329 returns a partition.
44330 (grub_disk_get_size): New function.
f19dbdb7 44331
2b002173 44332 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44333 verbatim if grub_install_dos_part is -2.
44334
44335 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44336 and LVM devices.
44337
44338 * util/i386/pc/grub-setup.c (setup): New argument
44339 MUST_EMBED. Force embedding of GRUB when the argument is
44340 true. Close FILE before returning.
44341 (main): Add support for RAID and LVM.
f19dbdb7 44342
2b002173 44343 * conf/common.rmk: Add RAID and LVM modules.
44344 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44345 util/lvm.c.
44346 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44347
44348 * kern/misc.c (grub_strstr): New function.
44349 * include/grub/misc.h (grub_strstr): New prototype.
44350
050548d0 443512006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44352
44353 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44354
da849d2d 443552006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44356
44357 * kern/misc.c (grub_strtoull): Guess the base only if not
44358 specified.
44359
97b2f2ff 443602006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44361
44362 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44363 PowerMac support.
44364
97b2f2ff 443652006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44366
44367 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44368
44369 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44370 Remove `flags' argument. All callers changed.
44371 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44372 (IEEE1275_IHANDLE_INVALID): New variable.
44373 (IEEE1275_CELL_INVALID): New variable.
44374 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44375 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44376 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44377 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44378 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44379 codes from Open Firmware. All callers updated.
44380 (grub_ieee1275_next_property): Directly return Open Firmware return
44381 code.
44382 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44383 Standardize error checking from `grub_ieee1275_get_property'.
44384 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44385 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44386
97b2f2ff 443872006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44388
44389 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44390 `instance_to_package_args' to `instance_to_path_args'.
44391
44392 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44393 `grub_ieee1275_chosen'.
44394
44395 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44396 `grub_ieee1275_interpret'.
44397
97b2f2ff 443982006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44399
44400 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44401
97b2f2ff 444022006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44403
44404 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44405 (__cmpdi): Likewise.
44406
44407 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44408 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44409 `grub_ssize_t'.
44410
02bb8acc 44411 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44412
44413 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44414 to type `grub_ssize_t'.
44415 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44416
7f9a8531 444172006-09-22 Marco Gerards <marco@gnu.org>
44418
44419 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44420 newlines.
44421
b5ef1102 444222006-09-22 Marco Gerards <marco@gnu.org>
44423
44424 * commands/echo.c: New file.
44425
44426 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44427
44428 * conf/common.rmk (echo_mod_SOURCES): New variable.
44429 (echo_mod_CFLAGS): Likewise.
44430 (echo_mod_LDFLAGS): Likewise.
44431
2cff3677 444322006-09-22 Marco Gerards <marco@gnu.org>
44433
44434 * normal/main.c (get_line): Malloc memory instead of using
44435 preallocated memory. Removed the arguments `cmdline' and
44436 `max_len'. Updated all callers.
44437
6ba4688b 444382006-09-22 Marco Gerards <marco@gnu.org>
44439
44440 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44441 (normal_mod_DEPENDENCIES): Likewise.
44442
44443 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44444 (normal_mod_DEPENDENCIES): Likewise.
44445
44446 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44447
e02ac02c 444482006-09-22 Johan Rydberg <jrydberg@gnu.org>
44449
44450 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44451 programs.
44452 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44453 (normal_mod_DEPENDENCIES): Likewise.
44454 * conf/i386-pc.mk: Regenerate.
44455 * conf/i386-efi.mk: Likewise
44456 * conf/common.mk: Likewise.
44457 * conf/powerpc-ieee1275.mk: Likewise.
44458 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44459
8d252e44 444602006-09-22 Robert Millan <rmh@aybabtu.com>
44461
44462 Sync with i386 version.
44463 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44464 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44465
209bf7ac 444662006-09-21 Robert Millan <rmh@aybabtu.com>
44467
44468 Import from GRUB Legacy (lib/device.c):
44469 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44470 (init_device_map) [__linux__]: Add support for I2O devices.
44471
6b146090 444722006-09-14 Marco Gerards <marco@gnu.org>
44473
44474 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44475 `-melf_i386'.
44476
e38600a8 444772006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44478
44479 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44480 /boot/grub/*.lst.
78fa1790 44481
2952da5d 44482 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44483
2952da5d 44484 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44485 before adding it to device.map.
44486
01b82a64 444872006-08-15 Johan Rydberg <jrydberg@gnu.org>
44488
fe6b695a 44489 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44490 compiles a file; using the -MD option.
44491 * conf/common.mk: Regenerate.
44492 * conf/i386-pc.mk: Likewise.
44493 * conf/i386-efi.mk: Likewise.
44494 * conf/powerpc-ieee1275.mk: Likewise.
44495 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44496
1064790d 444972006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44498
44499 Move the prototypes of grub_setjmp and grub_longjmp to
44500 cpu/setjmp.h, so that each architecture may specify different
44501 attributes.
f19dbdb7 44502
1064790d 44503 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44504 (grub_longjmp): Likewise.
44505 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44506 (grub_longjmp): Likewise.
44507 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44508 (grub_longjmp): Likewise.
44509
44510 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44511 [!GRUB_UTIL] (grub_longjmp): Removed.
44512
29dda3ed 445132006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44514
44515 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44516 "color!" method does not return any value.
44517
ad2a06ed 445182006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44519
44520 * include/grub/bitmap.h: New file.
44521
44522 * include/grub/i386/pc/vbeutil.h: Likewise.
44523
44524 * video/bitmap.c: Likewise.
44525
44526 * video/readers/tga.c: Likewise.
44527
44528 * video/i386/pc/vbeutil.c: Likewise.
44529
44530 * commands/videotest.c: Code cleanup and updated to reflect to new
44531 video API.
44532
44533 * term/gfxterm.c: Likewise.
44534
44535 * video/video.c: Likewise.
44536
44537 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44538 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44539 (bitmap_mod_SOURCES): New entry.
44540 (bitmap_mod_CFLAGS): Likewise.
44541 (bitmap_mod_LDFLAGS): Likewise.
44542 (tga_mod_SOURCES): Likewise.
44543 (tga_mod_CFLAGS): Likewise.
44544 (tga_mod_LDFLAGS): Likewise.
44545
44546 * include/grub/video.h (grub_video_blit_operators): New enum type.
44547 (grub_video_render_target): Changed as forward declaration and moved
44548 actual definition to be video driver specific.
44549 (grub_video_adapter.blit_bitmap): Added blitting operator.
44550 (grub_video_adapter.blit_render_target): Likewise.
44551 (grub_video_blit_bitmap): Likewise.
44552 (grub_video_blit_render_target): Likewise.
44553
44554 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44555 driver specific render target definition.
44556 (grub_video_vbe_map_rgba): Added driver internal helper.
44557 (grub_video_vbe_unmap_color): Updated to use
44558 grub_video_i386_vbeblit_info.
44559 (grub_video_vbe_get_video_ptr): Likewise.
44560
44561 * include/grub/i386/pc/vbeblit.h
44562 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44563 grub_video_i386_vbeblit_info.
44564 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44565 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44566 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44567 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44568 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44569 (grub_video_i386_vbeblit_index_index): Likewise.
44570 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44571 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44572 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44573 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44574 operator.
44575 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44576 operator.
44577
44578 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44579 include/grub/i386/pc/vbeblit.h.
44580
44581 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44582 Updated to use grub_video_i386_vbeblit_info.
44583 (grub_video_i386_vbefill_R8G8B8): Likewise.
44584 (grub_video_i386_vbefill_index): Likewise.
44585 (grub_video_i386_vbefill): Added generic filler.
44586
44587 * video/i386/pc/vbefill.c: Updated to reflect changes on
44588 include/grub/i386/pc/vbefill.h.
44589
44590 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44591 grub_video_i386_vbeblit_info.
44592 (grub_video_vbe_unmap_color): Likewise.
44593 (grub_video_vbe_blit_glyph): Likewise.
44594 (grub_video_vbe_scroll): Likewise.
44595 (grub_video_vbe_draw_pixel): Removed function.
44596 (grub_video_vbe_get_pixel): Likewise.
44597 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44598 updated code to use it.
44599 (common_blitter): Added common blitter for render target and bitmap.
44600 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44601 (grub_video_vbe_blit_render_target): Likewise.
44602
bc8c036d 446032006-07-30 Johan Rydberg <jrydberg@gnu.org>
44604
44605 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44606 is in text mode if there is no console control protocol instance
44607 available.
44608
684a8eff 446092006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44610
44611 * include/grub/video.h: Code cleanup.
44612
44613 * include/grub/i386/pc/vbe.h: Likewise.
44614
44615 * video/i386/pc/vbe.c: Likewise.
44616
44617 * video/i386/pc/vbeblit.c: Likewise.
44618
44619 * video/i386/pc/vbefill.c: Likewise.
44620
44621 * video/video.c: Likewise. Also added more comments.
44622
5915059b 446232006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44624
44625 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44626 (struct grub_biosdisk_dap): Likewise.
44627
44628 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44629 linkage settings for all functions.
44630
90ce5d56 446312006-07-12 Marco Gerards <marco@gnu.org>
44632
44633 * configure.ac (--enable-mm-debug): Fix typo.
44634
44635 * genkernsyms.sh.in: Use proper quoting for `CC'.
44636
43e7f879 446372006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44638
44639 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44640 (normal_mod_ASFLAGS): Remove "-m32".
44641
4889bdec 446422006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44643
44644 * util/misc.c: Include config.h.
44645 [!HAVE_MEMALIGN]: Do not include malloc.h.
44646 (grub_memalign): Use posix_memalign, if present. Then, use
44647 memalign, if present. Otherwise, emit an error.
44648
44649 * util/grub-emu.c: Do not include malloc.h.
44650
44651 * include/grub/util/misc.h: Include unistd.h. This is required for
44652 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44653 D. Eades III <hde@foobar-qux.org>.
44654
44655 * configure.ac (AC_GNU_SOURCE): Added.
44656 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44657 type.
44658
fd39d4da 446592006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44660
44661 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44662 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44663
b786f3b5 446642006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44665
44666 * include/grub/types.h (grub_host_addr_t): Rename to
44667 grub_target_addr_t.
44668 (grub_host_off_t): Rename to grub_target_off_t.
44669 (grub_host_size_t): Rename to grub_target_size_t.
44670 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44671 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44672
44673 * include/grub/kernel.h (struct grub_module_header): Change type
44674 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44675 (grub_module_info): Likewise.
f19dbdb7 44676
051988bb 446772006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44678
44679 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44680 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44681 Velazquez <jesus.velazquez@gmail.com>.
44682
deae281b 446832006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44684
44685 Count partitions from 1 instead of 0 in the string representation
44686 of partitions. Still use 0-based internally.
f19dbdb7 44687
deae281b 44688 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44689 (sun_partition_map_iterate): Use grub_partition_t instead of
44690 struct grub_partition *. Cast DESC->START_CYLINDER to
44691 grub_uint64_t after converting the endian.
44692 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44693 (sun_partition_map_get_name): Add 1 to P->INDEX.
44694
44695 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44696 PCDATA->DOS_PART.
44697 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44698
44699 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44700 zero instead of one.
44701 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44702 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44703
44704 * partmap/apple.c (apple_partition_map_iterate): Change the type
44705 of POS to unsigned.
44706 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44707 (apple_partition_map_get_name): Add 1 into P->INDEX.
44708
44709 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44710 of POS to unsigned.
44711 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44712 calculate the offset of a partition.
44713 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44714 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44715
44716 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44717 SECTOR to grub_disk_addr_t.
44718 (acorn_partition_map_iterate): Likewise.
44719 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44720 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44721 top.
44722 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44723
44724 * kern/i386/pc/init.c (make_install_device): Add 1 into
44725 GRUB_INSTALL_DOS_PART.
44726
44727 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44728 conditional.
44729
524a1e6a 447302006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44731
44732 Clean up the code to support 64-bit addressing in disks and
44733 files. This change is not enough for filesystems yet.
f19dbdb7 44734
524a1e6a 44735 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44736 type of "start" to grub_uint64_t.
44737 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44738 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44739 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44740 convert addresses.
44741
44742 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44743 to grub_disk_addr_t.
44744
44745 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44746 string.
44747
44748 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44749
44750 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44751 to char *.
44752
44753 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44754
44755 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44756
44757 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44758
44759 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44760 to grub_off_t, to detect an error from grub_file_seek.
44761 (grub_multiboot_load_elf32): Likewise.
44762
44763 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44764 maximum unsigned long value when an overflow is detected.
44765 (grub_strtoull): New function.
44766 (grub_divmod64): Likewise.
44767 (grub_lltoa): use grub_divmod64.
44768
44769 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44770 grub_disk_addr_t.
44771 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44772 the pointer to next character. Use grub_strtoull instead of
44773 grub_strtoul.
44774 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44775 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44776 respectively.
44777
fe6b695a 44778 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44779 return value is signed.
44780 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44781 test if OFFSET is less than zero, as OFFSET is unsigned now.
44782
44783 * kern/disk.c (struct grub_disk_cache): Change the type of
44784 "sector" to grub_disk_addr_t.
44785 (grub_disk_cache_get_index): Change the type of SECTOR to
44786 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44787 unsigned after shifting.
44788 (grub_disk_cache_invalidate): Change the type of SECTOR to
44789 grub_disk_addr_t.
44790 (grub_disk_cache_unlock): Likewise.
44791 (grub_disk_cache_store): Likewise.
44792 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44793 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44794 grub_disk_addr_t and grub_uint64_t, respectively.
44795 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44796 body, as the value of OFFSET is tweaked by
44797 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44798 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44799 respectively.
44800 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44801 body, as the value of OFFSET is tweaked by
44802 grub_disk_check_range. Change the types of LEN and N to
44803 grub_size_t.
44804
44805 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44806 and "saved_offset" to grub_off_t.
44807 (test_header): Cast BUF to char *.
44808 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44809 to char *.
44810 (grub_gzio_read): Change the types of OFFSET and SIZE to
44811 grub_off_t and grub_size_t, respectively.
44812
44813 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44814 Removed.
44815 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44816 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44817 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44818 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44819 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44820
44821 * include/grub/types.h (grub_off_t): Unconditionally set to
44822 grub_uint64_t.
44823 (grub_disk_addr_t): Changed to grub_uint64_t.
44824
44825 * include/grub/partition.h (struct grub_partition): Change the
44826 types of "start", "len" and "offset" to grub_disk_addr_t,
44827 grub_uint64_t and grub_disk_addr_t, respectively.
44828 (grub_partition_get_start): Return grub_disk_addr_t.
44829 (grub_partition_get_len): Return grub_uint64_t.
44830
44831 * include/grub/misc.h (grub_strtoull): New prototype.
44832 (grub_divmod64): Likewise.
44833
44834 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44835 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44836 grub_off_t, respectively.
44837 All callers and references changed.
44838
44839 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44840 grub_size_t in "read".
44841 All callers and references changed.
44842
44843 * include/grub/file.h (struct grub_file): Change the types of
44844 "offset" and "size" to grub_off_t and grub_off_t,
44845 respectively. Change the type of SECTOR to grub_disk_addr_t in
44846 "read_hook".
44847 (grub_file_read): Change the type of LEN to grub_size_t.
44848 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44849 grub_off_t.
44850 (grub_file_size): Return grub_off_t.
44851 (grub_file_tell): Likewise.
44852 All callers and references changed.
44853
44854 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44855 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44856 "write".
44857 (struct grub_disk): Change the type of "total_sectors" to
44858 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44859 "read_hook".
524a1e6a 44860 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44861 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44862 (grub_disk_write): Likewise.
44863 All callers and references changed.
44864
44865 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44866 char * for grub_strncmp to silence gcc.
44867 (grub_iso9660_mount): Likewise.
44868 (grub_iso9660_mount): Likewise.
44869 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44870 return statement.
44871 (grub_iso9660_iterate_dir): Likewise.
44872 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44873
44874 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44875 LEN to grub_disk_addr_t and grub_size_t, respectively.
44876
44877 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44878
44879 * fs/jfs.c (grub_jfs_read_file): Likewise.
44880
44881 * fs/minix.c (grub_jfs_read_file): Likewise.
44882
44883 * fs/sfs.c (grub_jfs_read_file): Likewise.
44884
44885 * fs/ufs.c (grub_jfs_read_file): Likewise.
44886
44887 * fs/xfs.c (grub_jfs_read_file): Likewise.
44888
44889 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44890 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44891 respectively.
44892
44893 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44894 BLKNR to -1 instead of returning GRUB_ERRNO.
44895 (grub_ext2_read_file): Change the types of SECTOR and
44896 LEN to grub_disk_addr_t and grub_size_t, respectively.
44897
44898 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44899 LEN to grub_disk_addr_t and grub_size_t, respectively.
44900
44901 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44902 grub_file_read.
44903
44904 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44905 string. Do not cast SECTOR explicitly.
44906
44907 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44908 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44909 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44910 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44911 over 2TB and LBA mode is not supported, raise an error.
44912 (get_safe_sectors): New function.
44913 (grub_biosdisk_read): Use get_safe_sectors.
44914 (grub_biosdisk_write): Likewise.
44915
44916 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44917 (grub_efidisk_write): Likewise.
44918
44919 * disk/loopback.c (delete_loopback): Cosmetic changes.
44920 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44921 correctly.
44922 (grub_loopback_open): Likewise.
44923 (grub_loopback_read): Likewise. Also, change the type of POS to
44924 grub_off_t, and fix the usage of grub_memset.
44925
44926 * commands/i386/pc/play.c: Include grub/machine/time.h.
44927
44928 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44929 print FILE->SIZE.
44930
44931 * commands/configfile.c: Include grub/env.h.
44932
44933 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44934 GRUB_ERRNO directly instead. Change the type of POS to
44935 grub_off_t. Follow the coding standard.
44936
44937 * commands/blocklist.c: Include grub/partition.h.
44938 (grub_cmd_blocklist): Return an error if the underlying device is
44939 not a disk. Take the starting sector of a partition into account,
44940 if a partition is used.
44941
44942 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44943 a length field.
44944 (lba_mode): Support 64-bit addresses.
44945 (chs_mode): Likewise.
44946 (copy_buffer): Adapted to the new offsets of a length field and a
44947 segment field.
44948 (blocklist_default_start): Allocate 64-bit space.
44949
44950 * boot/i386/pc/boot.S (force_lba): Removed.
44951 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44952 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44953 space.
44954 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44955 is useless.
44956 (lba_mode): Refactored to support a 64-bit address. More size
44957 optimization.
44958 (setup_sectors): Likewise.
44959
53af98ad 449602006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44961
44962 * DISTLIST: Added include/grub/i386/linux.h. Removed
44963 include/grub/i386/pc/linux.h
44964
44965 * configure.ac (AC_INIT): Bumped to 1.94.
44966
44967 * config.guess: Updated from gnulib.
44968 * config.sub: Likewise.
44969 * install-sh: Likewise.
44970 * mkinstalldirs: Likewise.
44971
b4c1940a 449722006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44973
44974 * conf/common.rmk (grub_modules_init.lst): Depended on
44975 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44976 MODSRCFILES.
44977
44978 * genmk.rb (PModule::rule): Reverted the previous change.
44979
cfca1cfd 449802006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44981
44982 * conf/common.rmk (grub_modules_init.lst): Depends on
44983 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44984 that the target does not exist before producing.
44985 (grub_modules_init.h): Remove the target before generating.
44986 (grub_emu_init.c): Likewise.
44987
44988 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44989
aa6d7826 449902006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44991
44992 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44993 for the target-specific tests. Make sure that we also have the
44994 up-to-date target variables for those tests.
44995
26c607b9 449962006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44997
44998 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44999 (PModule::rule): Likewise.
45000
0162321a 450012006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45002
45003 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45004 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45005 target-specific flags should be prefixed.
45006 (PModule::rule): Likewise.
45007
6c826348 450082006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45009
45010 * configure.ac (CMP): Check if cmp is available explicitly.
45011
b977bf01 450122006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45013
45014 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45015 (target_cpu): New variable.
45016 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45017
b977bf01 45018 * util/i386/pc/grub-install.in (host_cpu): Removed.
45019 (target_cpu): New variable.
45020 (pkglibdir): Use target_cpu instead of host_cpu.
45021
45022 * util/genmoddep.c: Removed.
f19dbdb7 45023
b977bf01 45024 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45025 instead of GRUB_HOST_SIZEOF_VOID_P.
45026 * kern/dl.c: Likewise.
45027
45028 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45029 ...
45030 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45031 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45032 (GRUB_TARGET_SIZEOF_LONG): ... this.
45033 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45034 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45035 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45036 to ...
45037 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45038 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45039 (GRUB_TARGET_SIZEOF_LONG): ... this.
45040 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45041 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45042 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45043 to ...
45044 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45045 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45046 (GRUB_TARGET_SIZEOF_LONG): ... this.
45047 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45048 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45049
45050 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45051 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45052 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45053 instead of GRUB_HOST_SIZEOF_LONG.
45054 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45055 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45056 GRUB_CPU_WORDS_BIGENDIAN.
45057 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45058 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45059 grub_host_ssize_t.
45060
45061 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45062 (genmoddep_SOURCES): Likewise.
45063 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45064 (genmoddep_SOURCES): Likewise.
45065 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45066 (genmoddep_SOURCES): Likewise.
45067 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45068 Likewise.
45069 (genmoddep_SOURCES): Likewise.
45070
45071 * genmoddep.awk: New file.
45072
45073 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45074 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45075 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45076 (PModule::rule): Likewise.
45077 (Program::rule): Likewise.
45078 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45079 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45080 respectively.
45081
45082 * configure.ac: Rewritten intensively to use host and target
45083 instead of build and host, respectively.
45084
45085 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45086 (host_cpu): Removed.
45087 (target_cpu): New variable.
45088 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45089 (BUILD_CC): Removed.
45090 (BUILD_CFLAGS): Likewise.
45091 (BUILD_CPPFLAGS): Likewise.
45092 (TARGET_CC): New variable.
45093 (TARGET_CFLAGS): Likewise.
45094 (TARGET_CPPFLAGS): Likewise.
45095 (TARGET_LDFLAGS): Likewise.
45096 (AWK): Likewise.
45097 (include): Use target_cpu instead of host_cpu.
45098 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45099
b977bf01 45100 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45101
f09771a1 451022006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45103
45104 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45105 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45106 field 'false' to 'exec_on_false'.
45107 (grub_script_create_cmdif): Renamed argument names to reflect above
45108 changes.
45109
45110 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45111
45112 * normal/script.c (grub_script_create_cmdif): Likewise.
45113
118f4fb3 451142006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45115
45116 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45117 top.
45118 (grub_hfsplus_btree_recptr): Likewise.
45119 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45120 FILEBLOCK both to pass a block number and store next block
45121 number.
45122 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45123 overflow file correctly. Specify errors appropriately, because
45124 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45125 grub_hfsplus_btree_recptr to get the pointer to a found key.
45126 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45127 is found.
45128
45129 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45130 linux.mod.
45131 (_linux_mod_SOURCES): New variable.
45132 (_linux_mod_CFLAGS): Likewise.
45133 (_linux_mod_LDFLAGS): Likewise.
45134 (linux_mod_SOURCES): Likewise.
45135 (linux_mod_CFLAGS): Likewise.
45136 (linux_mod_LDFLAGS): Likewise.
45137
45138 * DISTLIST: Added loader/i386/efi/linux.c,
45139 loader/i386/efi/linux_normal.c and
45140 include/grub/i386/efi/loader.h.
45141
45142 * loader/i386/efi/linux.c: New file.
45143 * loader/i386/efi/linux_normal.c: Likewise.
45144 * include/grub/i386/efi/loader.h: Likewise.
45145
89a7d726 451462006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45147
45148 * commands/blocklist.c: New file.
45149
45150 * DISTLIST: Added commands/blocklist.c.
45151
45152 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45153 color for the background, and a darker color for the foreground.
89a7d726 45154 (grub_console_checkkey): Return READ_KEY.
45155 (grub_console_cls): Set the background to
45156 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45157
45158 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45159
45160 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45161 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45162
45163 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45164 prototype.
45165
45166 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45167 BG. The spec is wrong again.
45168
45169 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45170 prototype.
45171 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45172
45173 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45174 commands/blocklist.c.
45175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45176
89a7d726 45177 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45178 (blocklist_mod_SOURCES): New variable.
45179 (blocklist_mod_CFLAGS): Likewise.
45180 (blocklist_mod_LDFLAGS): Likewise.
45181
75c8f258 451822006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45183
45184 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45185 duplication.
45186 (lba_mode): Use %eax more intensively to reduce the code size.
45187
da2eb181 451882006-05-20 Marco Gerards <marco@gnu.org>
45189
45190 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45191
45192 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45193 for `menuentry'.
45194 (script): Accept leading newlines.
45195 (newlines): New rule to describe 0 or more newlines.
45196 (commands): Accept `command' with trailing newline. Fixed the
45197 order in which arguments were passed to `grub_script_add_cmd'.
45198 Accept commands separated by newlines.
45199 (function): Changed to accept newlines.
45200 (menuentry) Rewritten.
45201
45202 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45203 front of the list, instead of to the end.
45204
577b4050 452052006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45206
45207 * util/i386/pc/grub-install.in (bindir): New variable.
45208 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45209 Shaver <lbgwjl@gmail.com>.
45210
0d6e1189 452112006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45212
45213 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45214 grub/machine/linux.h
45215 * loader/i386/pc/linux.c: Likewise.
45216
45217 * include/grub/i386/pc/linux.h: Moved to ...
45218 * include/grub/i386/linux.h: ... here.
45219
45220 * include/grub/i386/linux.h (struct linux_kernel_params): New
45221 struct.
f19dbdb7 45222
31b86e9f 452232006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45224
45225 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45226 checking.
45227 (grub_video_vbe_blit_glyph): Likewise.
45228 (grub_video_vbe_blit_bitmap): Likewise.
45229 (grub_video_vbe_blit_render_target): Likewise.
45230
83b984de 452312006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45232
45233 * configure.ac (--with-platform): Properly quote the square
45234 brackets.
45235
5f0413bd 452362006-05-08 Marco Gerards <marco@gnu.org>
45237
45238 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45239 this...
45240 (kernel_elf_HEADERS): ...to this. Updated all users.
45241 (grubof_symlist.c): Renamed from this...
45242 (kernel_elf_symlist.c): ...to this. Updated all users.
45243 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45244 (grubof_SOURCES): Renamed from this...
45245 (kernel_elf_SOURCES): ...to this.
45246 (grubof_HEADERS): Renamed from this...
45247 (kernel_elf_HEADERS): ...to this.
45248 (grubof_CFLAGS): Renamed from this...
45249 (kernel_elf_CFLAGS): ...to this.
45250 (grubof_ASFLAGS): Renamed from this...
45251 (kernel_elf_ASFLAGS): ...to this.
45252 (grubof_LDFLAGS): Renamed from this...
45253 (kernel_elf_LDFLAGS): ...to this.
45254
45255 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45256 this...
45257 (kernel_elf_HEADERS): ...to this. Updated all users.
45258 (grubof_symlist.c): Renamed from this...
45259 (kernel_elf_symlist.c): ...to this. Updated all users.
45260 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45261 (grubof_SOURCES): Renamed from this...
45262 (kernel_elf_SOURCES): ...to this.
45263 (grubof_HEADERS): Renamed from this...
45264 (kernel_elf_HEADERS): ...to this.
45265 (grubof_CFLAGS): Renamed from this...
45266 (kernel_elf_CFLAGS): ...to this.
45267 (grubof_ASFLAGS): Renamed from this...
45268 (kernel_elf_ASFLAGS): ...to this.
45269 (grubof_LDFLAGS): Renamed from this...
45270 (kernel_elf_LDFLAGS): ...to this.
45271
45272 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45273 `kernel.elf' instead of `grubof'.
45274
05568c2e 452752006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45276
45277 Add --with-platform to configure. Use pkglibdir instead of
45278 pkgdatadir. This is reported by Roger Leigh.
45279
45280 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45281 (host_vendor): Likewise.
45282 (host_os): Likewise.
45283 (pkgdatadir): Likewise.
45284 (platform): New variable.
45285 (pkglibdir): Likewise.
45286 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45287
05568c2e 45288 * util/i386/pc/grub-install.in (datadir): Removed.
45289 (host_vendor): Likewise.
45290 (host_os): Likewise.
45291 (pkgdatadir): Likewise.
45292 (platform): New variable.
45293 (pkglibdir): Likewise.
45294 Use PKGLIBDIR instead of PKGDATADIR.
45295
45296 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45297 instead of GRUB_DATADIR.
45298 (main): Likewise.
45299 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45300 (main): Likewise.
45301 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45302 (main): Likewise.
45303
45304 * configure.ac (--with-platform): New option.
45305 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45306
45307 * Makefile.in: Include a makefile based on PLATFORM instead of
45308 HOST_VENDOR.
45309 (pkgdatadir): Not appended by the machine type.
45310 (pkglibdir): Appended by the machine type.
45311 (host_vendor): Removed.
45312 (platform): New variable.
45313 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45314 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45315 (uninstall): Likewise.
45316
4e93851c 453172006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45318
45319 Use the environment context in the menu. Remove the commands
45320 "default" and "timeout", and use variables instead.
f19dbdb7 45321
4e93851c 45322 * normal/menu.c: Include grub/env.h.
45323 (print_entry): Cast TITLE to silence gcc.
45324 (get_timeout): New function.
45325 (set_timeout): Likewise.
45326 (get_entry_number): Likewise.
45327 (run_menu): Use a default entry, a fallback entry and a timeout
45328 in the environment variables "default", "fallback" and
45329 "timeout". Also, tweak the default entry if it is not within the
45330 current menu entries.
45331 (grub_menu_run): Use a fallback entry in the environment variable
45332 "fallback".
45333
45334 * normal/main.c (read_config_file): Do not initialize
45335 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45336 NEWMENU->TIMEOUT.
45337 (grub_normal_execute): Use a data slot to store the menu.
45338
45339 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45340 fallback_entry and timeout.
45341 (struct grub_menu_list): Removed.
45342 (grub_menu_list_t): Likewise.
45343 (struct grub_context): Likewise.
45344 (grub_context_t): Likewise.
45345 (grub_context_get): Likewise.
45346 (grub_context_get_current_menu): Likewise.
45347 (grub_context_push_menu): Likewise.
45348 (grub_context_pop_menu): Likewise.
45349 (grub_default_init): Likewise.
45350 (grub_default_fini): Likewise.
45351 (grub_timeout_init): Likewise.
45352 (grub_timeout_fini): Likewise.
45353
45354 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45355 and timeout.mod.
45356 (normal_mod_SOURCES): Removed normal/context.c.
45357
45358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45359 commands/default.c, commands/timeout.c and normal/context.c.
45360 (normal_mod_SOURCES): Removed normal/context.c.
45361
45362 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45363 commands/timeout.c and normal/context.c.
45364 (normal_mod_SOURCES): Removed normal/context.c.
45365
45366 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45367 commands/default.c, commands/timeout.c and normal/context.c.
45368 (normal_mod_SOURCES): Removed normal/context.c.
45369
45370 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45371 timeout.mod.
45372 (default_mod_SOURCES): Removed.
45373 (default_mod_CFLAGS): Likewise.
45374 (default_mod_LDFLAGS): Likewise.
45375 (timeout_mod_SOURCES): Removed.
45376 (timeout_mod_CFLAGS): Likewise.
45377 (timeout_mod_LDFLAGS): Likewise.
45378
45379 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45380 normal/context.c.
45381
45382 * commands/default.c: Removed.
45383 * commands/timeout.c: Likewise.
45384 * normal/context.c: Likewise.
45385
1eb9cc1d 453862006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45387
45388 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45389
385bd9c1 453902006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45391
45392 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45393 "next" to "prev" for readability.
45394 (struct grub_env_sorted_var): New struct.
45395 (grub_env_context): Renamed to ...
45396 (initial_context): ... this.
45397 (grub_env_var_context): Renamed to ...
45398 (current_context): ... this.
45399 (grub_env_find): Look only at CURRENT_CONTEXT.
45400 (grub_env_context_open): Rewritten to copy exported variables from
45401 previous context.
45402 (grub_env_context_close): Rewritten according to the new
45403 scheme. Also, add an assertion to prevent the initial context from
45404 removed.
45405 (grub_env_insert): Removed the code for the sorted list.
45406 (grub_env_remove): Likewise.
45407 (grub_env_export): Simply mark the variable with
45408 GRUB_ENV_VAR_GLOBAL.
45409 (grub_env_set): A cosmetic change for naming consistency.
45410 (grub_env_get): Likewise.
45411 (grub_env_unset): Likewise.
45412 (grub_env_iterate): Rewritten to sort variables within this
45413 function.
45414 (grub_register_variable_hook): Fixed for naming consistency. Call
45415 grub_env_find again, only if NAME is not found at the first time.
45416 (mangle_data_slot_name): New function.
45417 (grub_env_set_data_slot): Likewise.
45418 (grub_env_get_data_slot): Likewise.
45419 (grub_env_unset_data_slot): Likewise.
45420
45421 * include/grub/env.h (grub_env_var_type): New enum.
45422 (GRUB_ENV_VAR_LOCAL): New constant.
45423 (GRUB_ENV_VAR_GLOBAL): Likewise.
45424 (GRUB_ENV_VAR_DATA): Likewise.
45425 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45426 "type".
45427 (grub_env_set): Replace VAR with NAME for consistency.
45428 (grub_register_variable_hook): Likewise.
45429 (grub_env_export): Specify the name of the argument.
45430 (grub_env_set_data_slot): New prototype.
45431 (grub_env_get_data_slot): Likewise.
45432 (grub_env_unset_data_slot): Likewise.
45433
7f362539 454342006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45435
45436 Extend the loader so that GRUB can accept a loader which comes
45437 back to GRUB when a loaded image exits. Also, this change adds
45438 support for a chainloader on EFI.
f19dbdb7 45439
7f362539 45440 * term/efi/console.c: Include grub/misc.h.
45441 (grub_console_checkkey): Display a scan code on the top for
45442 debugging. This will be removed once the EFI port gets stable.
45443 Correct the scan code mapping.
45444
45445 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45446 allocate memory from larger regions, in order to reduce the number
45447 of allocated regions. Otherwise, the MacOSX loader panics.
45448 (filter_memory_map): Avoid less than 1MB for compatibility with
45449 other loaders.
45450 (add_memory_regions): Allocate from the tail of a region, if
45451 possible, to avoid allocating a region near to 1MB, for the MacOSX
45452 loader.
45453
45454 * kern/efi/init.c (grub_efi_set_prefix): Specify
45455 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45456
45457 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45458 argument IMAGE_HANDLE and specify it to get a loaded image.
45459 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45460 grub_efi_get_loaded_image.
fe6b695a 45461 (grub_efi_get_filename): Divide the length by the size of
7f362539 45462 grub_efi_char16_t.
45463 (grub_efi_get_device_path): New function.
45464 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45465 the length by the size of grub_efi_char16_t for a file path device
45466 path node.
45467
45468 * kern/loader.c (grub_loader_noreturn): New variable.
45469 (grub_loader_set): Accept a new argument NORETURN. Set
45470 GRUB_LOADER_NORETURN to NORETURN.
45471 All callers changed.
45472 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45473 grub_machine_fini.
45474
45475 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45476 prototype.
45477 (grub_efi_get_loaded_image): Take an argument to specify an image
45478 handle.
45479
45480 * include/grub/loader.h (grub_loader_set): Added one more argument
45481 NORETURN.
45482
45483 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45484 instead of grub_efi_open_protocol.
45485 (grub_efidisk_get_device_name): Likewise.
45486 (grub_efidisk_close): Print a newline.
45487 (grub_efidisk_get_device_handle): Fixed to use
45488 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45489 GRUB_EFI_DEVICE_PATH_TYPE.
45490
45491 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45492 * kern/efi/efi.c (device_path_guid): ... here.
45493
45494 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45495 chain.mod.
45496 (kernel_mod_HEADERS): Added efi/disk.h.
45497 (_chain_mod_SOURCES): New variable.
45498 (_chain_mod_CFLAGS): Likewise.
45499 (_chain_mod_LDFLAGS): Likewise.
45500 (chain_mod_SOURCES): Likewise.
45501 (chain_mod_CFLAGS): Likewise.
45502 (chain_mod_LDFLAGS): Likewise.
45503
45504 * DISTLIST: Added include/grub/efi/chainloader.h,
45505 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45506
45507 * include/grub/efi/chainloader.h: New file.
45508 * loader/efi/chainloader.c: Likewise.
45509 * loader/efi/chainloader_normal.c: Likewise.
45510
c0111d6e 455112006-04-30 Marco Gerards <marco@gnu.org>
45512
45513 * commands/configfile.c (grub_cmd_source): New function.
45514 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45515 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45516
df5341da 455172006-04-30 Marco Gerards <marco@gnu.org>
45518
45519 * normal/execute.c (grub_script_execute_cmd): Change the return
45520 type to `grub_err_t'. Correctly return the error.
45521 (grub_script_execute_cmdline): In case a command line is not a
45522 command or a function, try to interpret it as an assignment.
45523
f85934bd 455242006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45525
45526 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45527 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45528 skip a node whose name is obviously invalid as UTF-16,
45529 i.e. contains a NUL character. Stop the iteration when the last
45530 directory entry is found. Instead of using the return value of
45531 grub_hfsplus_btree_iterate_node, store the value in RET and use
45532 it, because the iterator can be stopped by the last directory
45533 entry.
45534
8f8a2cf8 455352006-04-30 Marco Gerards <marco@gnu.org>
45536
45537 * include/grub/env.h (grub_env_export): New prototype. Reported
45538 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45539
a27e84ce 455402006-04-30 Marco Gerards <marco@gnu.org>
45541
45542 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45543 size of the extents in a catalog file record.
45544
eaef0553 455452006-04-29 Marco Gerards <marco@gnu.org>
45546
45547 * commands/configfile.c (grub_cmd_configfile): Execute the
45548 configfile within its own context.
45549
45550 * include/grub/env.h (grub_env_context_open): New prototype.
45551 (grub_env_context_close): Likewise.
45552
45553 * kern/env.c (grub_env): Removed.
45554 (grub_env_sorted): Likewise.
45555 (grub_env_context): New variable.
45556 (grub_env_var_context): Likewise.
45557 (grub_env_find): Search both the active context and the global
45558 context.
45559 (grub_env_context_open): New function.
45560 (grub_env_context_close): Likewise.
45561 (grub_env_insert): Likewise.
45562 (grub_env_remove): Likewise.
45563 (grub_env_export): Likewise.
45564 (grub_env_set): Changed to use helper functions to avoid code
45565 duplication.
45566 (grub_env_iterate): Rewritten so both the current context and the
45567 global context are being used.
45568
45569 * normal/command.c (export_command): New function.
45570 (grub_command_init): Register the `export' function.
45571
7b455f4d 455722006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45573
45574 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45575 explicitly to suppress gcc's warnings.
45576 * fs/fat.c (grub_fat_find_dir): Likewise.
45577 (grub_fat_label): Likewise.
45578 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45579 (grub_xfs_mount): Likewise.
45580 (grub_xfs_label): Likewise.
45581 * fs/affs.c (grub_affs_mount): Likewise.
45582 (grub_affs_label): Likewise.
45583 (grub_affs_iterate_dir): Likewise.
45584 * fs/sfs.c (grub_sfs_mount): Likewise.
45585 (grub_sfs_iterate_dir): Likewise.
45586 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45587 * fs/hfs.c (grub_hfs_mount): Likewise.
45588 (grub_hfs_cmp_catkeys): Likewise.
45589 (grub_hfs_find_dir): Likewise.
45590 (grub_hfs_dir): Likewise.
45591 (grub_hfs_label): Likewise.
45592 * fs/jfs.c (grub_jfs_mount): Likewise.
45593 (grub_jfs_opendir): Likewise.
45594 (grub_jfs_getent): Likewise.
45595 (grub_jfs_lookup_symlink): Likewise.
45596 (grub_jfs_label): Likewise.
45597 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45598 (grub_hfsplus_iterate_dir): Likewise.
45599 (grub_hfsplus_btree_iterate_node): Made static.
45600
45601 * util/grub-emu.c (prefix): New variable.
45602 (grub_machine_set_prefix): New function.
45603 (main): Do not set the environment variable "prefix" here. Only
45604 set PREFIX, which is used later by grub_machine_set_prefix.
45605
45606 * include/grub/video.h: Do not include grub/symbol.h.
45607 (grub_video_register): Not exported. This symbol is not defined in
45608 the kernel.
45609 (grub_video_unregister): Likewise.
45610 (grub_video_iterate): Likewise.
45611 (grub_video_setup): Likewise.
45612 (grub_video_restore): Likewise.
45613 (grub_video_get_info): Likewise.
45614 (grub_video_get_blit_format): Likewise.
45615 (grub_video_set_palette): Likewise.
45616 (grub_video_get_palette): Likewise.
45617 (grub_video_set_viewport): Likewise.
45618 (grub_video_get_viewport): Likewise.
45619 (grub_video_map_color): Likewise.
45620 (grub_video_map_rgb): Likewise.
45621 (grub_video_map_rgba): Likewise.
45622 (grub_video_fill_rect): Likewise.
45623 (grub_video_blit_glyph): Likewise.
45624 (grub_video_blit_bitmap): Likewise.
45625 (grub_video_blit_render_target): Likewise.
45626 (grub_video_scroll): Likewise.
45627 (grub_video_swap_buffers): Likewise.
45628 (grub_video_create_render_target): Likewise.
45629 (grub_video_delete_render_target): Likewise.
45630 (grub_video_set_active_render_target): Likewise.
45631
45632 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45633 Undefined.
45634 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45635
45636 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45637 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45638 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45639 instead of $(srcdir)/genkernsyms.sh.
45640
45641 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45642 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45643 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45644 instead of $(srcdir)/genkernsyms.sh.
45645
45646 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45647 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45648 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45649 instead of $(srcdir)/genkernsyms.sh.
45650
45651 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45652 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45653 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45654 instead of $(srcdir)/genkernsyms.sh.
45655
45656 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45657 genkernsyms.sh.
45658
45659 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45660 genkernsyms.sh.
45661 (gensymlist.sh): New target.
45662 (genkernsyms.sh): Likewise.
45663
45664 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45665 genkernsyms.sh.in and gensymlist.sh.in.
45666
45667 * genkernsyms.sh: Removed.
45668 * gensymlist.sh: Likewise.
f19dbdb7 45669
7b455f4d 45670 * genkernsyms.sh.in: New file.
45671 * gensymlist.sh.in: Likewise.
45672
1885bb27 456732006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45674
45675 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45676 clobber "prefix", since we may have already set it manually.
45677
71538dff 456782006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45679
45680 * kern/misc.c (abort): New alias for grub_abort.
45681
2965c7cc 456822006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45683
45684 A new machine-specific function "grub_machine_set_prefix" is
45685 defined. This is called after loading modules, so that a prefix
45686 initialization can use modules. Also, this change adds an
45687 intensive debugging feature for the memory manager via the
45688 configure option "--enable-mm-debug".
f19dbdb7 45689
2965c7cc 45690 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45691 PART.LEN.
45692
45693 * kern/sparc64/ieee1275/init.c (abort): Removed.
45694 (grub_stop): Likewise.
45695 (grub_exit): New function.
45696 (grub_set_prefix): Renamed to ...
45697 (grub_machine_set_prefix): ... this.
45698 (grub_machine_init): Do not call grub_set_prefix.
45699
45700 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45701 (grub_machine_set_prefix): ... this.
45702 (grub_machine_init): Do not call grub_set_prefix.
45703
45704 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45705 (grub_machine_init): Do not set the prefix here.
45706
45707 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45708
45709 * kern/efi/init.c: Include grub/mm.h.
45710 (grub_efi_set_prefix): New function.
45711
45712 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45713 (grub_efi_get_filename): New function.
45714 (grub_print_device_path): Renamed to ...
45715 (grub_efi_print_device_path): ... this.
45716
45717 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45718 [MM_DEBUG] (grub_realloc): Likewise.
45719 [MM_DEBUG] (grub_free): Likewise.
45720 [MM_DEBUG] (grub_memalign): Likewise.
45721 [MM_DEBUG] (grub_mm_debug): New variable.
45722 [MM_DEBUG] (grub_debug_malloc): New function.
45723 [MM_DEBUG] (grub_debug_free): New function.
45724 [MM_DEBUG] (grub_debug_realloc): New function.
45725 [MM_DEBUG] (grub_debug_memalign): New function.
45726
45727 * kern/misc.c (grub_abort): Print a newline to distinguish
45728 the message.
45729
45730 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45731 grub_set_root_dev after loading modules. This is necessary when
45732 setting a prefix depends on modules.
45733
45734 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45735 (grub_efi_print_device_path): ... this.
45736 (grub_efi_get_filename): New prototype.
45737 (grub_efi_set_prefix): Likewise.
45738
45739 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45740 and grub/disk.h.
45741 (grub_efidisk_get_device_handle): New prototype.
45742 (grub_efidisk_get_device_name): Likewise.
45743
45744 * include/grub/mm.h: Include config.h.
45745 (MM_DEBUG): Removed.
45746 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45747 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45748 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45749 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45750 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45751 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45752 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45753 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45754 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45755
45756 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45757
45758 * disk/efi/efidisk.c: Include grub/partition.h.
45759 (iterate_child_devices): New function.
45760 (add_device): First, compare only last device path nodes, so that
45761 devices are sorted by the types.
45762 (grub_efidisk_get_device_handle): New function.
45763 (grub_efidisk_get_device_name): Likewise.
45764
45765 * configure.ac (--enable-mm-debug): New option to enable the
45766 memory manager debugging feature. This makes the binary much
45767 bigger, so is disabled by default.
45768
9cacaa17 457692006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45770
45771 Use grub_abort instead of grub_stop, and grub_exit must be
45772 define in each architecture now. Also, this change adds support
45773 for EFI disks.
f19dbdb7 45774
9cacaa17 45775 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45776 (grub_getkey): New function.
45777 (grub_term_get_current): Likewise.
45778
45779 * util/i386/pc/grub-setup.c: Include grub/term.h.
45780 (grub_getkey): New function.
45781 (grub_term_get_current): Likewise.
45782
45783 * util/misc.c (grub_stop): Renamed to ...
45784 (grub_exit): ... this.
45785
45786 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45787 (grub_exit): ... this.
45788 (grub_machine_init): Use grub_abort instead of abort.
45789 (grub_stop): Removed.
45790
45791 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45792 abort.
45793
45794 * kern/i386/pc/startup.S (grub_exit): New function.
45795 (cold_reboot): New label.
45796
45797 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45798 (grub_efi_init): Call grub_efidisk_init.
45799 (grub_efi_fini): Call grub_efidisk_fini.
45800
45801 * kern/efi/efi.c: Include grub/mm.h.
45802 (grub_efi_console_control_guid): Renamed to ...
45803 (console_control_guid): ... this.
45804 (grub_efi_loaded_image_guid): Renamed to ...
45805 (loaded_image_guid): ... this.
45806 (grub_efi_locate_handle): New function.
45807 (grub_efi_open_protocol): Likewise.
45808 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45809 GRUB_EFI_CONSOLE_CONTROL_GUID.
45810 (grub_efi_exit): Removed.
45811 (grub_stop): Likewise.
45812 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45813 (grub_exit): New function.
45814 (grub_print_device_path): Likewise.
45815
45816 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45817 (grub_enter_rescue_mode): Register "exit".
45818
45819 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45820 (grub_abort): New function.
45821
45822 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45823
45824 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45825
45826 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45827
45828 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45829 (grub_print_device_path): New prototype.
45830 (grub_efi_locate_handle): Likewise.
45831 (grub_efi_open_protocol): Likewise.
45832
45833 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45834 * disk/efi/efidisk.c: Likewise.
45835
45836 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45837
45838 * include/grub/efi/console_control.h
45839 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45840
45841 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45842 last 8 bytes as an array.
45843 (GRUB_EFI_DISK_IO_GUID): New macro.
45844 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45845 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45846 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45847 grub_uint8_t.
45848 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45849 (struct grub_efi_device_path): Rename the member "sub_type" to
45850 "subtype".
45851 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45852 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45853 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45854 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45855 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45856 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45857 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45858 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45859 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45860 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45861 (struct grub_efi_pci_device_path): New structure.
45862 (grub_efi_pci_device_path_t): New type.
45863 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45864 (struct grub_efi_pccard_device_path): New structure.
45865 (grub_efi_pccard_device_path_t): New type.
45866 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45867 (struct grub_efi_memory_mapped_device_path): New structure.
45868 (grub_efi_memory_mapped_device_path_t): New type.
45869 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45870 (struct grub_efi_vendor_device_path): New structure.
45871 (grub_efi_vendor_device_path_t): New type.
45872 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45873 (struct grub_efi_controller_device_path): New structure.
45874 (grub_efi_controller_device_path_t): New type.
45875 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45876 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45877 (struct grub_efi_acpi_device_path): New structure.
45878 (grub_efi_acpi_device_path_t): New type.
45879 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45880 (struct grub_efi_expanded_acpi_device_path): New structure.
45881 (grub_efi_expanded_acpi_device_path_t): New type.
45882 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45883 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45884 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45885 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45886 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45887 (struct grub_efi_atapi_device_path): New structure.
45888 (grub_efi_atapi_device_path_t): New type.
45889 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45890 (struct grub_efi_fibre_channel_device_path): New structure.
45891 (grub_efi_fibre_channel_device_path_t): New type.
45892 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45893 (struct grub_efi_1394_device_path): New structure.
45894 (grub_efi_1394_device_path_t): New type.
45895 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45896 (struct grub_efi_usb_device_path): New structure.
45897 (grub_efi_usb_device_path_t): New type.
45898 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45899 (struct grub_efi_usb_class_device_path): New structure.
45900 (grub_efi_usb_class_device_path_t): New type.
45901 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45902 (struct grub_efi_i2o_device_path): New structure.
45903 (grub_efi_i2o_device_path_t): New type.
45904 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45905 (struct grub_efi_mac_address_device_path): New structure.
45906 (grub_efi_mac_address_device_path_t): New type.
45907 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45908 (struct grub_efi_ipv4_device_path): New structure.
45909 (grub_efi_ipv4_device_path_t): New type.
45910 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45911 (struct grub_efi_ipv6_device_path): New structure.
45912 (grub_efi_ipv6_device_path_t): New type.
45913 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45914 (struct grub_efi_infiniband_device_path): New structure.
45915 (grub_efi_infiniband_device_path_t): New type.
45916 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45917 (struct grub_efi_uart_device_path): New structure.
45918 (grub_efi_uart_device_path_t): New type.
45919 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45920 (struct grub_efi_vendor_messaging_device_path): New structure.
45921 (grub_efi_vendor_messaging_device_path_t): New type.
45922 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45923 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45924 (struct grub_efi_hard_drive_device_path): New structure.
45925 (grub_efi_hard_drive_device_path_t): New type.
45926 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45927 (struct grub_efi_cdrom_device_path): New structure.
45928 (grub_efi_cdrom_device_path_t): New type.
45929 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45930 (struct grub_efi_vendor_media_device_path): New structure.
45931 (grub_efi_vendor_media_device_path_t): New type.
45932 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45933 (struct grub_efi_file_path_device_path): New structure.
45934 (grub_efi_file_path_device_path_t): New type.
45935 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45936 (struct grub_efi_protocol_device_path): New structure.
45937 (grub_efi_protocol_device_path_t): New type.
45938 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45939 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45940 (struct grub_efi_bios_device_path): New structure.
45941 (grub_efi_bios_device_path_t): New type.
45942 (struct grub_efi_disk_io): New structure.
45943 (grub_efi_disk_io_t): New type.
45944 (struct grub_efi_block_io_media): New structure.
45945 (grub_efi_block_io_media_t): New type.
45946 (struct grub_efi_block_io): New structure.
45947 (grub_efi_block_io_t): New type.
45948
45949 * include/grub/misc.h (grub_stop): Removed.
45950 (grub_exit): New prototype.
45951 (grub_abort): Likewise.
45952
45953 * include/grub/disk.h (enum grub_disk_dev_id): Added
45954 GRUB_DISK_DEVICE_EFIDISK_ID.
45955
45956 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45957 disk/efi/efidisk.c.
45958 (kernel_syms.lst): Remove the target if an error occurs.
45959
49986a9f 459602006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45961
45962 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45963 as it was simply too buggy.
45964
970d3b8a 459652006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45966
45967 * kern/misc.c (grub_lltoa): New function.
45968 (grub_vsprintf): Added support for the long long suffix,
45969 i.e. "ll".
45970
ff04ec24 459712006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45972
45973 * Makefile.in (LDFLAGS): Add variable.
45974 (LD): Remove variable.
45975 * configure.ac: Add -m32 to LDFLAGS.
45976 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45977 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45978 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45979 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45980 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45981 variables.
45982 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45983 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45984 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45985
37e5e1a4 459862006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45987
45988 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45989 length for unknown glyph.
45990
c352d8dd 459912006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45992
2eab1c0d 45993 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45994
2eab1c0d 45995 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45996 completely. Accept one more argument DIR. The caller has changed.
45997
45998 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45999
46000 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46001 (grub_efi_loaded_image_guid): New variable.
46002 (grub_efi_get_loaded_image): New function.
46003 (grub_arch_modules_addr): Likewise.
46004
46005 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46006 prototype.
46007
46008 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46009 (struct grub_efi_loaded_image): New structure.
46010 (grub_efi_loaded_image_t): New type.
46011
460122006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46013
c352d8dd 46014 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46015 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46016 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46017
6d01d6b4 460182006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46019
46020 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46021
976a4ea0 460222006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46023
46024 * DISTLIST: Added include/grub/efi/console.h,
46025 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46026 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46027
46028 * include/grub/efi/console.h: New file.
46029 * include/grub/efi/time.h: Likewise.
46030 * include/grub/i386/efi/kernel.h: Likewise.
46031 * kern/efi/init.c: Likewise.
46032 * kern/efi/mm.c: Likewise.
46033 * term/efi/console.c: Likewise.
f19dbdb7 46034
976a4ea0 46035 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46036 (grub_stop): Removed.
46037 (grub_get_rtc): Likewise.
46038 (grub_machine_init): Simply call grub_efi_init.
46039 (grub_machine_fini): Call grub_efi_fini.
46040
46041 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46042 (grub_efi_output_string): Removed.
46043 (grub_efi_stall): New function.
46044 (grub_stop): Likewise.
46045 (grub_get_rtc): Likewise.
46046
46047 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46048 (grub_efi_stall): New prototype.
46049 (grub_efi_allocate_pages): Likewise.
46050 (grub_efi_free_pages): Likewise.
46051 (grub_efi_get_memory_map): Likewise.
46052 (grub_efi_mm_init): Likewise.
46053 (grub_efi_mm_fini): Likewise.
46054 (grub_efi_init): Likewise.
46055 (grub_efi_fini): Likewise.
46056
46057 * include/grub/i386/efi/time.h: Do not include
46058 grub/symbol.h. Include grub/efi/time.h.
46059 (GRUB_TICKS_PER_SECOND): Removed.
46060 (grub_get_rtc): Likewise.
46061
46062 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46063 Added padding. The EFI spec is buggy.
46064 (GRUB_EFI_BLACK): New macro.
46065 (GRUB_EFI_BLUE): Likewise.
46066 (GRUB_EFI_GREEN): Likewise.
46067 (GRUB_EFI_CYAN): Likewise.
46068 (GRUB_EFI_RED): Likewise.
46069 (GRUB_EFI_MAGENTA): Likewise.
46070 (GRUB_EFI_BROWN): Likewise.
46071 (GRUB_EFI_LIGHTGRAY): Likewise.
46072 (GRUB_EFI_BRIGHT): Likewise.
46073 (GRUB_EFI_DARKGRAY): Likewise.
46074 (GRUB_EFI_LIGHTBLUE): Likewise.
46075 (GRUB_EFI_LIGHTGREEN): Likewise.
46076 (GRUB_EFI_LIGHTCYAN): Likewise.
46077 (GRUB_EFI_LIGHTRED): Likewise.
46078 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46079 (GRUB_EFI_YELLOW): Likewise.
46080 (GRUB_EFI_WHITE): Likewise.
46081 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46082 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46083 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46084 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46085 (GRUB_EFI_BACKGROUND_RED): Likewise.
46086 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46087 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46088 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46089 (GRUB_EFI_TEXT_ATTR): Likewise.
46090
46091 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46092 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46093 (kernel_mod_HEADERS): Added efi/time.h.
46094
83709125 460952006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46096
46097 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46098 include/grub/efi/api.h, include/grub/efi/console_control.h,
46099 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46100 include/grub/i386/efi/time.h, kern/efi/efi.c,
46101 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46102 and util/i386/efi/grub-mkimage.c.
46103
46104 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46105
46106 * genmk.rb (PModule#rule): Do not export symbols if
46107 #{prefix}_EXPORTS is set to "no".
46108
46109 * conf/i386-efi.mk: New file.
46110 * conf/i386-efi.rmk: Likewise.
46111 * include/grub/efi/api.h: Likewise.
46112 * include/grub/efi/console_control.h: Likewise.
46113 * include/grub/efi/efi.h: Likewise.
46114 * include/grub/efi/pe32.h: Likewise.
46115 * include/grub/i386/efi/time.h: Likewise.
46116 * kern/efi/efi.c: Likewise.
46117 * kern/i386/efi/init.c: Likewise.
46118 * kern/i386/efi/startup.S: Likewise.
46119 * util/i386/efi/grub-mkimage.c: Likewise.
46120
461212006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46122
46123 * include/grub/script.h: Include <grub/parser.h> and
46124 "grub_script.tab.h".
46125 (struct grub_lexer_param): New struct.
46126 (struct grub_parser_param): Likewise.
46127 (grub_script_create_arglist): Pass the state in an argument.
46128 (grub_script_add_arglist): Likewise.
46129 (grub_script_create_cmdline): Likewise.
46130 (grub_script_create_cmdblock): Likewise.
46131 (grub_script_create_cmdif): Likewise.
46132 (grub_script_create_cmdmenu): Likewise.
46133 (grub_script_add_cmd): Likewise.
46134 (grub_script_arg_add): Likewise.
46135 (grub_script_lexer_ref): Likewise.
46136 (grub_script_lexer_deref): Likewise.
46137 (grub_script_lexer_record_start): Likewise.
46138 (grub_script_lexer_record_stop): Likewise.
46139 (grub_script_mem_record): Likewise.
46140 (grub_script_mem_record_stop): Likewise.
46141 (grub_script_malloc): Likewise.
46142 (grub_script_yylex): Likewise.
46143 (grub_script_yyparse): Likewise.
46144 (grub_script_yyerror): Likewise.
46145 (grub_script_yylex): Likewise.
46146 (grub_script_lexer_init): Return the state.
46147
46148 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46149 (grub_script_lexer_done): Likewise.
46150 (grub_script_lexer_getline): Likewise.
46151 (grub_script_lexer_refs): Likewise.
46152 (script): Likewise.
46153 (newscript): Likewise.
46154 (record): Likewise.
46155 (recording): Likewise.
46156 (recordpos): Likewise.
46157 (recordlen): Likewise.
46158 (grub_script_lexer_init): Return the state instead of setting
46159 global variables.
46160 (grub_script_lexer_ref): Use the newly added argument for state
46161 instead of globals.
46162 (grub_script_lexer_deref): Likewise.
46163 (grub_script_lexer_record_start): Likewise.
46164 (grub_script_lexer_record_stop): Likewise.
46165 (recordchar): Likewise.
46166 (nextchar): Likewise.
46167 (grub_script_yylex2): Likewise.
46168 (grub_script_yylex): Likewise.
46169 (grub_script_yyerror): Likewise.
46170
46171 * normal/parser.y (func_mem): Removed variable.
46172 (menu_entry): Likewise.
46173 (err): Likewise.
46174 (%lex-param): New parser option.
46175 (%parse-param): Likewise.
46176 (script): Always return the AST.
46177 (argument): Pass the state around.
46178 (arguments): Likewise.
46179 (grubcmd): Likewise.
46180 (commands): Likewise.
46181 (function): Likewise.
46182 (menuentry): Likewise.
46183 (if_statement): Likewise.
46184 (if): Likewise.
46185
46186 * normal/script.c (grub_script_memused): Removed variable.
46187 (grub_script_parsed): Likewise.
46188 (grub_script_malloc): Added a state argument. Use that instead of
46189 global variables.
46190 (grub_script_mem_record): Likewise.
46191 (grub_script_mem_record_stop): Likewise.
46192 (grub_script_arg_add): Likewise.
46193 (grub_script_add_arglist): Likewise.
46194 (grub_script_create_cmdline): Likewise.
46195 (grub_script_create_cmdif): Likewise.
46196 (grub_script_create_cmdmenu): Likewise.
46197 (grub_script_add_cmd): Likewise.
46198 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46199
e2a8c904 462002006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46201
46202 * normal/command.c (grub_command_init): Remove the title command.
46203
46204 * normal/lexer.c (grub_script_yylex): Renamed from this...
46205 (grub_script_yylex2): ... to this.
46206 (grub_script_yylex): New function. Temporary
46207 introduced to filter some tokens.
46208 (grub_script_yyerror): Print a newline.
46209
46210 * normal/main.c (read_config_file): Output information about the
46211 lines that contain errors. Wait for a key after all lines have
46212 been processed. Don't return an empty menu.
46213
46214 * normal/parser.y (func_mem): Don't initialize.
46215 (menu_entry): Likewise.
46216 (err): New variable.
46217 (script): Don't return anything when an error was encountered.
46218 (ws, returns): Removed rules.
46219 (argument): Disabled concatenated variable support.
46220 (arguments): Remove explicit separators.
46221 (grubcmd): Likewise.
46222 (function): Likewise.
46223 (menuentry): Likewise.
46224 (if): Likewise.
46225 (commands): Likewise. Add error handling.
46226
46227 * normal/script.c (grub_script_create_cmdline): If
46228 `grub_script_parsed' is 0, assume the parser encountered an error.
46229
c9a86192 462302006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46231
46232 * configure.ac: Add support for EFI. Fix the typo
46233 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46234
70f3b243 462352006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46236
46237 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46238 foreign multibyte characters should be shown correctly.
46239
65f201ad 462402006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46241
46242 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46243 calculation.
46244 (read_config_file): Made it to close file before returning.
46245
b4b93674 462462006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46247
46248 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46249 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46250 video/i386/pc/vbefill.c.
46251
46252 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46253 video/i386/pc/vbefill.c.
46254
46255 * include/grub/video.h (grub_video_blit_format): New enum.
46256 (grub_video_mode_info): Added new member blit_format.
46257 (grub_video_get_blit_format): New function prototype.
46258
46259 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46260 function prototype.
46261 (grub_video_vbe_map_rgb): Likewise.
46262 (grub_video_vbe_unmap_color): Likewise.
46263
46264 * include/grub/i386/pc/vbeblit.h: New file.
46265
46266 * include/grub/i386/pc/vbefill.h: New file.
46267
46268 * video/video.c (grub_video_get_blit_format): New function.
46269 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46270 (grub_video_vbe_map_rgb): Likewise.
46271 (grub_video_vbe_unmap_color): Likewise.
46272
46273 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46274 optimized fills.
46275 (grub_video_vbe_blit_render_target): Changed to use more optimized
46276 blits.
46277 (grub_video_vbe_setup): Added detection for optimized settings.
46278 (grub_video_vbe_create_render_target): Likewise.
46279
46280 * video/i386/pc/vbeblit.c: New file.
46281
46282 * video/i386/pc/vbefill.c: New file.
46283
c2379b9c 462842006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46285
46286 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46287 here...
46288
46289 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46290 parsing to support both hex and dec ranges. If filename was missing
46291 show usage information.
46292
bd0d7896 462932006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46294
46295 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46296 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46297
46298 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46299 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46300 (video_mod_SOURCES): Added.
46301 (video_mod_CFLAGS): Likewise.
46302 (video_mod_LDFLAGS): Likewise.
46303 (gfxterm_mod_SOURCES): Likewise.
46304 (gfxterm_mod_CFLAGS): Likewise.
46305 (gfxterm_mod_LDFLAGS): Likewise.
46306 (videotest_mod_SOURCES): Likewise.
46307 (videotest_mod_CFLAGS): Likewise.
46308 (videotest_mod_LDFLAGS): Likewise.
46309 (vesafb_mod_SOURCES): Removed.
46310 (vesafb_mod_CFLAGS): Likewise.
46311 (vesafb_mod_LDFLAGS): Likewise.
46312 (vga_mod_SOURCES): Likewise.
46313 (vga_mod_CFLAGS): Likewise.
46314 (vga_mod_LDFLAGS): Likewise.
46315
46316 * commands/videotest.c: New file.
46317
46318 * font/manager.c (fill_with_default_glyph): Modified to use
46319 grub_font_glyph.
46320 (grub_font_get_glyph): Likewise.
46321 (fontmanager): Renamed from this...
46322 (font_manager): ... to this.
46323
46324 * include/grub/font.h (grub_font_glyph): Added new structure.
46325 (grub_font_get_glyph): Modified to use grub_font_glyph.
46326
46327 * include/grub/misc.h (grub_abs): Added as inline function.
46328
46329 * include/grub/video.h: New file.
46330
46331 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46332 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46333 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46334 (grub_vbe_get_controller_info): Renamed from this...
46335 (grub_vbe_bios_get_controller_info): ... to this.
46336 (grub_vbe_get_mode_info): Renamed from this...
46337 (grub_vbe_bios_get_mode_info): ... to this.
46338 (grub_vbe_set_mode): Renamed from this...
46339 (grub_vbe_bios_set_mode): ... to this.
46340 (grub_vbe_get_mode): Renamed from this...
46341 (grub_vbe_bios_get_mode): ... to this.
46342 (grub_vbe_set_memory_window): Renamed from this...
46343 (grub_vbe_bios_set_memory_window): ... to this.
46344 (grub_vbe_get_memory_window): Renamed from this...
46345 (grub_vbe_bios_get_memory_window): ... to this.
46346 (grub_vbe_set_scanline_length): Renamed from this...
46347 (grub_vbe_set_scanline_length): ... to this.
46348 (grub_vbe_get_scanline_length): Renamed from this...
46349 (grub_vbe_bios_get_scanline_length): ... to this.
46350 (grub_vbe_set_display_start): Renamed from this...
46351 (grub_vbe_bios_set_display_start): ... to this.
46352 (grub_vbe_get_display_start): Renamed from this...
46353 (grub_vbe_bios_get_display_start): ... to this.
46354 (grub_vbe_set_palette_data): Renamed from this...
46355 (grub_vbe_bios_set_palette_data): ... to this.
46356 (grub_vbe_set_pixel_rgb): Removed.
46357 (grub_vbe_set_pixel_index): Likewise.
46358
46359 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46360 from this...
46361 (grub_vbe_bios_get_controller_info): ... to this.
46362 (grub_vbe_get_mode_info): Renamed from this...
46363 (grub_vbe_bios_get_mode_info): ... to this.
46364 (grub_vbe_set_mode): Renamed from this...
46365 (grub_vbe_bios_set_mode): ... to this.
46366 (grub_vbe_get_mode): Renamed from this...
46367 (grub_vbe_bios_get_mode): ... to this.
46368 (grub_vbe_set_memory_window): Renamed from this...
46369 (grub_vbe_bios_set_memory_window): ... to this.
46370 (grub_vbe_get_memory_window): Renamed from this...
46371 (grub_vbe_bios_get_memory_window): ... to this.
46372 (grub_vbe_set_scanline_length): Renamed from this...
46373 (grub_vbe_set_scanline_length): ... to this.
46374 (grub_vbe_get_scanline_length): Renamed from this...
46375 (grub_vbe_bios_get_scanline_length): ... to this.
46376 (grub_vbe_set_display_start): Renamed from this...
46377 (grub_vbe_bios_set_display_start): ... to this.
46378 (grub_vbe_get_display_start): Renamed from this...
46379 (grub_vbe_bios_get_display_start): ... to this.
46380 (grub_vbe_set_palette_data): Renamed from this...
46381 (grub_vbe_bios_set_palette_data): ... to this.
46382 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46383 getting corrupted after calling it. Added more pushes and pops.
46384 (grub_vbe_bios_set_mode): Likewise.
46385 (grub_vbe_bios_get_mode): Likewise.
46386 (grub_vbe_bios_get_memory_window): Likewise.
46387 (grub_vbe_bios_set_scanline_length): Likewise.
46388 (grub_vbe_bios_get_scanline_length): Likewise.
46389 (grub_vbe_bios_get_display_start): Likewise.
46390 (grub_vbe_bios_set_palette_data): Likewise.
46391
46392 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46393 (cl_insert): Likewise.
46394 (cl_delete): Likewise.
46395
46396 * term/gfxterm.c: New file.
46397
46398 * term/i386/pc/vesafb.c: Removed file.
46399
46400 * video/video.c: New file.
46401
46402 * video/i386/pc/vbe.c (real2pm): Added new function.
46403 (grub_video_vbe_draw_pixel): Likewise.
46404 (grub_video_vbe_get_video_ptr): Likewise.
46405 (grub_video_vbe_get_pixel): Likewise
46406 (grub_video_vbe_init): Likewise.
46407 (grub_video_vbe_fini): Likewise.
46408 (grub_video_vbe_setup): Likewise.
46409 (grub_video_vbe_get_info): Likewise.
46410 (grub_video_vbe_set_palette): Likewise.
46411 (grub_video_vbe_get_palette): Likewise.
46412 (grub_video_vbe_set_viewport): Likewise.
46413 (grub_video_vbe_get_viewport): Likewise.
46414 (grub_video_vbe_map_color): Likewise.
46415 (grub_video_vbe_map_rgb): Likewise.
46416 (grub_video_vbe_map_rgba): Likewise.
46417 (grub_video_vbe_unmap_color): Likewise.
46418 (grub_video_vbe_fill_rect): Likewise.
46419 (grub_video_vbe_blit_glyph): Likewise.
46420 (grub_video_vbe_blit_bitmap): Likewise.
46421 (grub_video_vbe_blit_render_target): Likewise.
46422 (grub_video_vbe_scroll): Likewise.
46423 (grub_video_vbe_swap_buffers): Likewise.
46424 (grub_video_vbe_create_render_target): Likewise.
46425 (grub_video_vbe_delete_render_target): Likewise.
46426 (grub_video_vbe_set_active_render_target): Likewise.
46427 (grub_vbe_set_pixel_rgb): Remove function.
46428 (grub_vbe_set_pixel_index): Likewise.
46429 (index_color_mode): Remove static variable.
46430 (active_mode): Likewise.
46431 (framebuffer): Likewise.
46432 (bytes_per_scan_line): Likewise.
46433 (grub_video_vbe_adapter): Added new static variable.
46434 (framebuffer): Likewise.
46435 (render_target): Likewise.
46436 (initial_mode): Likewise.
46437 (mode_in_use): Likewise.
46438 (mode_list): Likewise.
46439
5f97350b 464402006-03-10 Marco Gerards <marco@gnu.org>
46441
46442 * configure.ac (AC_INIT): Bumped to 1.93.
46443
46444 * DISTLIST: Added `include/grub/hfs.h'.
46445
a3c5c6f8 464462006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46447
46448 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46449 18H, which might help the BIOS falling back to next boot media.
46450
6de53d26 464512006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46452
46453 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46454 Poe Chen <poe.poechen@gmail.com>.
46455
77c4a393 464562006-01-17 Marco Gerards <marco@gnu.org>
46457
46458 * include/grub/normal.h: Include <grub/script.h>.
46459 (grub_command_list): Removed struct.
46460 (grub_command_list_t): Removed type.
46461 (grub_menu_entry): Remove members `num' and `command_list'. Add
46462 members `commands' and `sourcecode'.
46463 * include/grub/script.h: Add inclusion guards.
46464 (grub_script_cmd_menuentry): New struct.
46465 (grub_script_execute_menuentry): New prototype.
46466 (grub_script_lexer_record_start): Likewise.
46467 (grub_script_lexer_record_stop): Likewise.
46468 * normal/execute.c (grub_script_execute_menuentry): New function.
46469 * normal/lexer.c (record, recording, recordpos, recordlen): New
46470 variables.
46471 (grub_script_lexer_record_start): New function.
46472 (grub_script_lexer_record_stop): Likewise.
46473 (recordchar): Likewise.
46474 (nextchar): Likewise.
46475 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46476 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46477 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46478 (current_menu): New variable.
46479 (free_menu): Mainly rewritten.
46480 (grub_normal_menu_addentry): New function.
46481 (read_config_file): Rewritten.
46482 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46483 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46484 the menu entry.
46485 (run): Mainly rewritten.
46486 * normal/parser.y (menu_entry): New variable.
46487 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46488 (menuentry): New rule.
46489 (command): Add `menuentry'.
46490 (if_statement): Allow additional returns before `fi'.
46491 * normal/script.c (grub_script_create_cmdmenu): New function.
46492
144f1f98 464932006-01-03 Marco Gerards <marco@gnu.org>
46494
46495 * INSTALL: GNU Bison is required.
46496 * configure.ac: Rewritten the test to detect Bison.
46497 * Makefile.in (YACC): New variable. Reported by Xun Sun
46498 <xun.sun.cn@gmail.com>.
46499
af4b2d89 465002006-01-03 Marco Gerards <marco@gnu.org>
46501
46502 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46503 the HFS+ filesystem to filesystem blocks.
46504 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46505 GCC warning is silenced.
46506
15643b71 465072006-01-03 Marco Gerards <marco@gnu.org>
46508
46509 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46510 read from disk from big endian to host byte order.
46511
00905879 465122006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46513
46514 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46515 documentation.
46516 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46517 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46518 embedded HFS+ filesystem.
46519 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46520 (grub_hfs_sblock): Move from here...
46521 * include/grub/hfs.h: To here... New file.
46522 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46523 documentation.
46524 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46525 New macros.
46526 (grub_hfsplus_volheader): Change type of member `magic' to
46527 `grub_uint16_t'.
46528 (grub_hfsplus_data): Add new member `embedded_offset'.
46529 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46530 returned block.
46531 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46532 Calculate the offset.
46533
8899bc3e 465342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46535
46536 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46537 Removed.
46538 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46539
ae8c0277 465402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46541
46542 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46543 ENV->NAME is NULL after allocating ENV->VALUE.
46544
07084456 465452005-12-25 Marco Gerards <marco@gnu.org>
46546
46547 * kern/env.c (grub_env_set): Rewritten the error handling code.
46548
4750f5f1 465492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46550
46551 * geninit.sh: Made more robust, and more portable.
46552
50214199 465532005-12-25 Marco Gerards <marco@gnu.org>
46554
46555 Add support for Apple HFS+ filesystems.
f19dbdb7 46556
50214199 46557 * fs/hfsplus.c: New file.
46558
46559 * DISTLIST: Added `fs/hfsplus.c'.
46560
46561 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46562 (hfsplus_mod_SOURCES): New variable.
46563 (hfsplus_mod_CFLAGS): Likewise.
46564 (hfsplus_mod_LDFLAGS): Likewise.
46565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46566 (grub_setup_SOURCES): Likewise.
46567 (grub_mkdevicemap_SOURCES): Likewise.
46568 (grub_emu_SOURCES): Likewise.
46569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46570
46571 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46572
46573 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46574
befaed6c 465752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46576
46577 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46578 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46579 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46580 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46581 normal/lexer.c, normal/parser.y, normal/script.c, and
46582 partmap/gpt.c.
46583 Removed kern/sparc64/cache.c.
46584
46585 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46586 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46587 grub_emu_init.c.
46588
46589 * configure.ac (AC_INIT): Bumped to 1.92.
46590
6a124103 465912005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46592
46593 * kern/err.c (grub_error_push): Added new function to support error
46594 stacks.
46595 (grub_error_pop): Likewise.
46596 (grub_error_stack_items): New local variable to support error stacks.
46597 (grub_error_stack_pos): Likewise.
46598 (grub_error_stack_assert): Likewise.
46599 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46600 stack depth.
46601 (grub_print_error): Added support to print errors from error stack.
46602
46603 * include/grub/err.h (grub_error_push): Added function prototype.
46604 (grub_error_pop): Likewise.
46605
be973c1b 466062005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46607
46608 * configure.ac: Accept `powerpc64' as host_cpu.
46609 (amd64): Rename to `biarch32'.
46610
46611 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46612 non-cacheline-aligned addresses.
46613
46614 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46615 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46616 if `size' is non-zero.
46617
b04216ab 466182005-12-03 Marco Gerards <mgerards@xs4all.nl>
46619
46620 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46621 and `cd' to make sure the filename is not prefixed with a
46622 directory name.
46623 (pkgdata_MODULES): Add `gpt.mod'.
46624 (gpt_mod_SOURCES): New variable.
46625 (gpt_mod_CFLAGS): Likewise.
46626 (gpt_mod_LDFLAGS): Likewise.
46627
46628 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46629
46630 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46631 New macro.
46632
46633 * partmap/gpt.c: New file.
46634
46635 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46636 GPT partition map is detected.
46637
41730ed9 466382005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46639
46640 * commands/i386/pc/play.c: New file.
46641 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46642 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46643 macros.
f19dbdb7 46644
95dc3643 466452005-11-27 Marco Gerards <mgerards@xs4all.nl>
46646
46647 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46648 ((unused))' to silence gcc warning.
46649
1569ec51 466502005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46651
46652 * configure.ac: Correct `AC_PROG_YACC' test.
46653
9abde152 466542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46655
46656 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46657 check before installing files.
46658
44b83271 466592005-11-22 Mike Small <smallm@panix.com>
46660
46661 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46662 number regex so multidigit numbers are recognized correctly.
46663
466642005-11-22 Mike Small <smallm@panix.com>
46665
46666 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46667 debugging message before attempting to claim memory.
46668 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46669 multiple addresses in case of failure.
46670
9c12956b 466712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46672
46673 * term/tparm.c (get_space): Remove empty `if' statement.
46674
46675 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46676
46677 * kern/parser.c (check_varstate): Rename `state' to 's'.
46678
aeaf81d9 466792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46680
46681 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46682 variable definitions to the beginning of each function. Sort stack
46683 variables by size.
46684 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46685 `buf' argument to `char *'.
46686
79bbb63f 466872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46688
46689 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46690 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46691 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46692 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46693 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46694 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46695 configfile.mod, search.mod, gzio.mod and test.mod.
46696 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46697 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46698 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46699 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46700 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46701 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46702 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46703 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46704 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46705 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46706 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46707 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46708 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46709 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46710 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46711 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46712 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46713 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46714 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46715 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46716 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46717 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46718 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46719
46720 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46721 `grep --include'.
46722 (pkgdata_MODULES): Add test.mod.
46723
233b1628 467242005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46725
46726 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46727 appending to variables with "+=".
46728 (PModule): Use full pathname to generate *.lst filenames.
46729
46730 * Makefile.in: Fixed list rules moved from genmk.rb.
46731 (.DELETE_ON_ERROR): New special target.
46732 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46733
46734 * conf/i386-pc.rmk: Include conf/common.mk.
46735 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46736 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46737 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46738 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46739 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46740 configfile.mod, search.mod, gzio.mod and test.mod.
46741 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46742 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46743 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46744 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46745 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46746 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46747 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46748 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46749 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46750 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46751 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46752 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46753 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46754 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46755 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46756 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46757 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46758 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46759 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46760 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46761 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46762 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46763 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46764 here...
46765 * conf/common.rmk: ... to here. New file.
46766
46767 * conf/common.mk: New file.
46768
16f820c8 467692005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46770
46771 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46772 (grub_script.tab.c): ... here.
46773
46774 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46775 (grub_script.tab.c): ... here.
46776
46777 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46778 (grub_script.tab.c): ... here.
46779
46780 * normal/command.c (grub_command_find): Fixed a memory leak of
46781 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46782
63ba1554 467832005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46784
46785 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46786 "@" which marks the start of a comment on ARM.
46787 (VARIABLE): Likewise.
46788
7f67dc13 467892005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46790
79bbb63f 46791 Add support for Linux/ADFS partition tables.
7f67dc13 46792
46793 * partmap/acorn.c: New file.
46794
46795 * include/grub/acorn_filecore.h: Likewise.
46796
46797 * DISTLIST: Added `partmap/acorn.c' and
46798 `include/grub/acorn_filecore.h'.
f19dbdb7 46799
7f67dc13 46800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46801 `partmap/acorn.c'.
46802 (pkgdata_MODULES): Add `acorn.mod'.
46803 (acorn_mod_SOURCES): New variable.
46804 (acorn_mod_CFLAGS): Likewise.
46805
46806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46807 `partmap/acorn.c'.
46808 (pkgdata_MODULES): Add `acorn.mod'.
46809 (acorn_mod_SOURCES): New variable.
46810 (acorn_mod_CFLAGS): Likewise.
46811
46812 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46813 (pkgdata_MODULES): Add `acorn.mod'.
46814 (acorn_mod_SOURCES): New variable.
46815 (acorn_mod_CFLAGS): Likewise.
46816 (acorn_mod_LDFLAGS): Likewise.
46817
46818 * include/types.h (grub_disk_addr_t): New typedef.
46819
6d099807 468202005-11-13 Marco Gerards <mgerards@xs4all.nl>
46821
46822 * geninit.sh: New file.
46823
46824 * geninitheader.sh: Likewise.
46825
46826 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46827 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46828 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46829 * commands/configfile.c (grub_configfile_init)
46830 (grub_configfile_fini): Likewise.
46831 * commands/default.c (grub_default_init, grub_default_fini):
46832 Likewise.
46833 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46834 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46835 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46836 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46837 Likewise.
46838 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46839 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46840 Likewise.
46841 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46842 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46843 Likewise.
46844 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46845 Likewise.
fe6b695a 46846 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46847 Likewise.
46848 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46849 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46850 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46851 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46852 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46853 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46854 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46855 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46856 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46857 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46858 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46859 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46860 * partmap/amiga.c (grub_amiga_partition_map_init)
46861 (grub_amiga_partition_map_fini): Likewise.
46862 * partmap/apple.c (grub_apple_partition_map_init)
46863 (grub_apple_partition_map_fini): Likewise.
46864 * partmap/pc.c (grub_pc_partition_map_init)
46865 (grub_pc_partition_map_fini): Likewise.
46866 * partmap/sun.c (grub_sun_partition_map_init,
46867 grub_sun_partition_map_fini): Likewise.
46868 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46869 Likewise.
46870
46871 * util/grub-emu.c: Include <grub_modules_init.h>.
46872 (main): Don't initialize and de-initialize any modules directly,
46873 use `grub_init_all' and `grub_fini_all' instead.
46874
46875 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46876 `grub_vesafb_mod_init'.
46877 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46878 all users.
46879 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46880 `grub_vga_mod_init'. Updated all users.
46881 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46882
6d099807 46883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46884 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46885 rules.
46886
46887 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46888 Generate a function to initialize the module in utilities.
46889 Updated all callers.
46890 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46891 initialize the module in utilities. Updated all callers.
46892
9046bcf0 468932005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46894
46895 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46896 escape sequence and a literal ^L to clear the screen.
46897
46898 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46899 when returning from Open Firmware.
46900
d13ea639 469012005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46902
46903 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46904 (grub_ofconsole_height): Likewise.
46905 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46906 manually insert a '\n'.
46907 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46908 `grub_ofconsole_height'. Return early if these are already set.
46909
a8fcf206 469102005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46911
46912 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46913 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46914 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46915 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46916 and `normal/script.c'.
46917 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46918 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46919 (test_mod_SOURCES): New variable.
46920 (test_mod_CFLAGS): Likewise.
46921 (test_mod_LDFLAGS): Likewise.
46922 (pkgdata_MODULES): Add `test.mod'.
46923 (grub_script.tab.c): New rule.
46924 (grub_script.tab.h): Likewise.
46925
b6b32745 469262005-11-07 Marco Gerards <mgerards@xs4all.nl>
46927
46928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46929 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46930 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46931 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46932 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46933 (test_mod_SOURCES): New variable.
46934 (test_mod_CFLAGS): Likewise.
46935 (pkgdata_MODULES): Add `test.mod'.
46936 (grub_script.tab.c): New rule.
46937 (grub_script.tab.h): Likewise.
46938
daac212a 469392005-11-06 Marco Gerards <mgerards@xs4all.nl>
46940
46941 Add initial scripting support.
46942
46943 * commands/test.c: New file.
46944 * include/grub/script.h: Likewise.
46945 * normal/execute.c: Likewise.
46946 * normal/function.c: Likewise.
46947 * normal/lexer.c: Likewise.
46948 * normal/parser.y: Likewise.
46949 * normal/script.c: Likewise.
46950
46951 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46952
daac212a 46953 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46954 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46955 `normal/function.c' and `normal/script.c'.
46956 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46957 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46958 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46959 variables.
daac212a 46960 (pkgdata_MODULES): Add `test.mod'.
46961 (grub_script.tab.c): New rule.
46962 (grub_script.tab.h): Likewise.
46963
46964 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46965
46966 * include/grub/normal.h (grub_test_init): New prototype.
46967 (grub_test_fini): Likewise.
f19dbdb7 46968
daac212a 46969 * normal/command.c: Include <grub/script.h>.
46970 (grub_command_execute): Rewritten.
f19dbdb7 46971
daac212a 46972 * util/grub-emu.c (main): Call `grub_test_init' and
46973 `grub_test_fini'.
46974
77500b2b 469752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46976
46977 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46978 to 0.
46979 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46980 there are no pending characters.
46981
e45deb9e 469822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46983
46984 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46985 `grub_strndup' to drop device arguments. Replace unnecessary
46986 `grub_strndup' with `grub_strdup'.
46987
4ce32619 469882005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46989
46990 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46991 `debug' environment variable has been set.
46992
469932005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46994
4ce32619 46995 * Makefile.in (install-local): Use $(DATA).
46996 (uninstall): Likewise.
46997 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46998 (sbin_UTILITIES): ... to here.
46999 (sbin_SCRIPTS): New variable.
47000 (grub_install_SOURCES): New variable.
47001 * util/powerpc/ieee1275/grub-install.in: New file.
47002 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47003 variable.
47004 (add_segments): Call `grub_util_get_path'.
47005
25fe6f03 470062005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47007
47008 From Timothy Baldwin:
47009 * commands/ls.c (grub_ls_list_files): Close FILE with
47010 grub_file_close.
47011 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47012
04ccf3ec 470132005-10-24 Marco Gerards <mgerards@xs4all.nl>
47014
47015 * include/grub/parser.h: New file.
47016
47017 * kern/parser.c: Likewise.
47018
47019 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47020 (grub_setup_SOURCES): Likewise.
47021 (grub_probefs_SOURCES): Likewise.
47022 (grub_emu_SOURCES): Likewise.
47023 (kernel_img_HEADERS): Add `parser.h'.
47024
47025 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47026 (grub_emu_SOURCES): Add `kern/parser.c'.
47027 (grubof_SOURCES): Likewise.
47028
47029 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47030 (grubof_SOURCES): Add `kern/parser.c'.
47031
47032 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47033
47034 * kern/misc.c (grub_split_cmdline): Removed function.
47035
47036 * kern/rescue.c: Include <grub/parser.h>.
47037 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47038 of `grub_split_cmdline'.
47039
47040 * normal/command.c: Include <grub/parser.h>.
47041 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47042 of `grub_split_cmdline'.
47043
47044 * normal/completion.c: Include <grub/parser.h>.
47045 (cmdline_state): New variable.
47046 (iterate_dir): End the filename with a quote depending on the
47047 command line state.
47048 (get_state): new function.
47049 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47050 split the arguments and determine the current argument. When the
47051 argument string is not quoted, escape all spaces.
47052
6d8f4b0e 470532005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47054
47055 * normal/sparc64/setjmp.S: New file.
47056
15cf03ed 470572005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47058
47059 * include/grub/sparc64/libgcc.h: New file.
47060 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47061 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47062 normal/sparc64/setjmp.c.
47063
03e8661a 470642005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47065
47066 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47067 * kern/sparc64/cache.S: New file.
47068 * kern/sparc64/cache.c: Removed.
47069 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47070 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47071 -mtune=ultrasparc.
47072 (COMMON_LDFLAGS): Add -melf64_sparc.
47073 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47074 (grubof_SOURCES): Use cache.S instead of cache.c.
47075 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47076 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47077 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47078 commented though.
47079 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47080 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47081 (linux_mod_CFLAGS): Commented out.
47082 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47083 out because module isn't built.
47084 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47085 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47086 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47087 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47088 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47089 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47090 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47091 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47092 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47093 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47094 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47095 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47096 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47097 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47098
34eeec8a 470992005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47100
47101 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47102 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47103 longer, because HFS should not be used on PC.
47104
708367a3 471052005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47106
47107 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47108 consistently within the loop.
47109
6fa1251a 471102005-10-15 Marco Gerards <mgerards@xs4all.nl>
47111
47112 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47113 directory can not be read.
47114
4801580b 471152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47116
47117 * configure.ac (AC_INIT): Increase the version number to 1.91.
47118
47119 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47120 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47121 term/i386/pc/serial.c.
47122
219ad426 471232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47124
47125 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47126 file size must be permitted.
47127
47128 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47129 between %ah and %al.
47130
688e5699 471312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47132
47133 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47134 grub_uint64_t.
47135 Call the hook with a NUL-terminated filename.
47136 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47137 grub_cpu_to_be32.
47138
47139 * kern/term.c (cursor_state): New variable.
47140 (grub_term_set_current): Reset the cursor state on a new
47141 terminal.
47142 (grub_setcursor): Rewritten to use CURSOR_STATE.
47143 (grub_getcursor): New function.
47144
47145 * include/grub/term.h (grub_getcursor): New prototype.
47146
47147 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47148 integers on ARM. Reported by Timothy Baldwin
47149 <T.E.Baldwin99@members.leeds.ac.uk>.
47150
bb34586c 471512005-10-11 Marco Gerards <mgerards@xs4all.nl>
47152
47153 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47154 allocated.
47155 (grub_sfs_dir): Likewise.
47156
9a909877 471572005-10-09 Marco Gerards <mgerards@xs4all.nl>
47158
47159 Add support for the SFS filesystem.
47160
47161 * fs/sfs.c: New file.
47162
47163 * DISTLIST: Added `fs/sfs.c'.
47164
47165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47166 (grub_probefs_SOURCES): Likewise.
47167 (grub_emu_SOURCES): Likewise.
47168 (pkgdata_MODULES): Add `sfs.mod'.
47169 (sfs_mod_SOURCES): New variable.
47170 (sfs_mod_CFLAGS): Likewise.
47171 (sfs_mod_LDFLAGS): Likewise.
47172
47173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47174 (pkgdata_MODULES): Add `sfs.mod'.
47175 (sfs_mod_SOURCES): New variable.
47176 (sfs_mod_CFLAGS): Likewise.
47177
47178 * util/grub-emu.c (main): Call `grub_sfs_init' and
47179 `grub_sfs_fini'.
47180
47181 * include/grub/fs.h (grub_sfs_init): New prototype.
47182 (grub_sfs_fini): Likewise.
47183
57bdbde3 471842005-10-07 Marco Gerards <mgerards@xs4all.nl>
47185
47186 Add support for the AFFS filesystem.
47187
47188 * fs/affs.c: New file.
47189
47190 * DISTLIST: Added `fs/affs.c'.
47191
47192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47193 (grub_probefs_SOURCES): Likewise.
47194 (grub_emu_SOURCES): Likewise.
47195 (pkgdata_MODULES): Add `affs.mod'.
47196 (affs_mod_SOURCES): New variable.
47197 (affs_mod_CFLAGS): Likewise.
47198 (affs_mod_LDFLAGS): Likewise.
47199
47200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47201 (pkgdata_MODULES): Add `affs.mod'.
47202 (affs_mod_SOURCES): New variable.
47203 (affs_mod_CFLAGS): Likewise.
47204
47205 * util/grub-emu.c (main): Call `grub_affs_init' and
47206 `grub_affs_fini'.
47207
47208 * include/grub/fs.h (grub_affs_init): New prototype.
47209 (grub_affs_fini): Likewise.
47210
047b67e0 472112005-10-01 Marco Gerards <mgerards@xs4all.nl>
47212
47213 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47214
59b8208a 472152005-10-01 Marco Gerards <mgerards@xs4all.nl>
47216
47217 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47218 `-m32' to CFLAGS.
47219
47220 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47221 linking.
f19dbdb7 47222
59b8208a 47223 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47224 (COMMON_LDFLAGS): New variable.
47225 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47226 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47227 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47228 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47229 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47230 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47231 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47232 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47233 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47234 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47235 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47236 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47237 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47238 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47239 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47240 variables.
47241 (normal_mod_ASFLAGS): Add `-m32'.
47242
47243 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47244 (grub_host_size_t, grub_host_ssize_t): New types.
47245 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47246 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47247 `GRUB_HOST_SIZEOF_VOID_P'.
47248
47249 * include/grub/kernel.h (struct grub_module_header): Type of
47250 member offset changed to `grub_host_off_t'. Type of member size
47251 changed to `grub_host_size_t'.
47252 (struct grub_module_info): Type of member offset changed to
47253 `grub_host_off_t'. Type of member size changed to
47254 `grub_host_size_t'.
47255
b4093103 472562005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47257
47258 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47259
b4093103 47260 * kern/i386/pc/startup.S (multiboot_header): New label.
47261 (multiboot_entry): Likewise.
47262 (multiboot_trampoline): Likewise.
47263
47264 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47265 Increased to 0x4A0.
47266
47267 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47268 put parentheses after a question mark.
47269 [!GRUB_UTIL] (my_mod): New variable.
47270
47271 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47272
b2499b29 472732005-09-28 Marco Gerards <mgerards@xs4all.nl>
47274
47275 Adds support for the XFS filesystem. Btrees are not supported
47276 yet.
47277
47278 * fs/xfs.c: New file.
47279
47280 * DISTLIST: Added `fs/xfs.c'.
47281
47282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47283 (grub_probefs_SOURCES): Likewise.
47284 (grub_emu_SOURCES): Likewise.
47285 (pkgdata_MODULES): Add `xfs.mod'.
47286 (xfs_mod_SOURCES): New variable.
47287 (xfs_mod_CFLAGS): Likewise.
47288
47289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47290 (pkgdata_MODULES): Add `xfs.mod'.
47291 (xfs_mod_SOURCES): New variable.
47292 (xfs_mod_CFLAGS): Likewise.
47293
47294 * util/grub-emu.c (main): Call `grub_xfs_init' and
47295 `grub_xfs_fini'.
47296
47297 * include/grub/fs.h (grub_xfs_init): New prototype.
47298 (grub_xfs_fini): Likewise.
47299
f19dbdb7 47300
83d37a62 473012005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47302
47303 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47304 color modes, allow greater than 16 colors to be configured as
47305 a default palette.
47306
47d2d65e 473072005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47308
47309 * normal/completion.c (complete_arguments): Add the qualifier
47310 const into OPTIONS.
47311
47312 From Omniflux <omniflux+lists@omniflux.com>:
47313 * include/grub/terminfo.h: New file.
47314 * include/grub/tparm.h: Likewise.
47315 * include/grub/i386/pc/serial.h: Likewise.
47316 * term/terminfo.c: Likewise.
47317 * term/tparm.c: Likewise.
47318 * term/i386/pc/serial.c: Likewise.
47319 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47320 serial.mod.
47321 (terminfo_mod_SOURCES): New variable.
47322 (terminfo_mod_CFLAGS): Likewise.
47323 (serial_mod_SOURCES): Likewise.
47324 (serial_mod_CFLAGS): Likewise.
47325
48b671ff 473262005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47327
47328 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47329 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47330 and kern/powerpc/ieee1275/cmain.c, respectively.
47331
47332 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47333 * kern/powerpc/ieee1275/crt0.S: ... here.
47334
47335 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47336 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47337
48b671ff 47338 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47339 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47340 instead of boot/powerpc/ieee1275/crt0.S and
47341 boot/powerpc/ieee1275/cmain.c, respectively.
47342
47343 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47344 sectors. It was not used anyway.
47345
09fc77a7 473462005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47347
47348 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47349 `unused parameter' warning.
47350
003789c7 473512005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47352
47353 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47354 function.
47355 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47356 getcharwidth.
47357
67f44c86 473582005-08-28 Marco Gerards <metgerards@student.han.nl>
47359
47360 * include/grub/normal.h (enum grub_completion_type): Added
47361 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47362
47363 * normal/cmdline.c (print_completion): Handle
47364 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47365 * normal/menu_entry.c (store_completion): Likewise.
47366
47367 * normal/completion.c (complete_arguments): New function.
47368 (grub_normal_do_completion): Call `complete_arguments' when the
47369 current words start with a dash.
47370
0b5abe02 473712005-08-27 Marco Gerards <metgerards@student.han.nl>
47372
47373 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47374 `gzio.mod' instead of `io.mod').
47375
d9864ee1 473762005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47377
47378 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47379 (DISTDIRS): Added io and video.
47380 Rewrite the search routine to make an output consistently.
47381
47382 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47383 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47384 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47385 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47386 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47387 util/powerpc/ieee1275/misc.c.
f19dbdb7 47388
d9864ee1 47389 * include/grub/gzio.h: New file.
47390 * io/gzio.c: Likewise.
f19dbdb7 47391
d9864ee1 47392 * kern/file.c (grub_file_close): Call grub_device_close only if
47393 FILE->DEVICE is not NULL.
47394
47395 * include/grub/mm.h [!NULL] (NULL): New macro.
47396
47397 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47398
47399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47400 (pkgdata_MODULES): Added gzio.mod.
47401 (gzio_mod_SOURCES): New variable.
47402 (gzio_mod_CFLAGS): Likewise.
47403
47404 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47405 (pkgdata_MODULES): Added gzio.mod.
47406 (gzio_mod_SOURCES): New variable.
47407 (gzio_mod_CFLAGS): Likewise.
47408
47409 * commands/cat.c: Include grub/gzio.h.
47410 (grub_cmd_cat): Use grub_gzfile_open instead of
47411 grub_file_open.
f19dbdb7 47412
d9864ee1 47413 * commands/cmp.c: Include grub/gzio.h.
47414 (grub_cmd_cmp): Use grub_gzfile_open instead of
47415 grub_file_open.
47416
47417 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47418 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47419 grub_file_open.
47420 (grub_rescue_cmd_module): Likewise.
47421
fa46f4b5 474222005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47423
47424 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47425 kern/sparc64/ieee1275/init.c because it contains _start.
47426 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47427
e9211b5d 474282005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47429
47430 * configure.ac: Add support for sparc64 host with ieee1275
47431 firmware.
47432 * configure: Generated from configure.ac.
47433 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47434 instead of int.
47435 (grub_ofdisk_read): Likewise.
47436 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47437 pointers as (void *) to remove a warning.
47438 (grub_ofdisk_close): Likewise.
47439 (grub_ofdisk_read): Likewise.
47440 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47441 returns, so make it return void to remove a warning.
47442 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47443 Corresponding prototype change.
47444 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47445 values, and cast the pointers as (void *) to remove a warning.
47446 (grub_mm_dump): Likewise.
47447 * conf/sparc64-ieee1275.mk: New file.
47448 * conf/sparc64-ieee1275.rmk: Likewise.
47449 * include/grub/sparc64/setjmp.h: Likewise.
47450 * include/grub/sparc64/types.h: Likewise.
47451 * include/grub/sparc64/ieee1275/console.h: Likewise.
47452 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47453 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47454 * include/grub/sparc64/ieee1275/time.h: Likewise.
47455 * kern/sparc64/cache.c: Likewise.
47456 * kern/sparc64/dl.c: Likewise.
47457 * kern/sparc64/ieee1275/init.c: Likewise.
47458 * kern/sparc64/ieee1275/openfw.c: Likewise.
47459
385c6a92 474602005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47461
47462 * util/console.c (grub_ncurses_putchar): If C is greater than
47463 0x7f, set C to a question mark.
47464 (grub_ncurses_getcharwidth): New function.
47465 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47466 getcharwidth.
47467
47468 * normal/menu.c (print_entry): Made aware of Unicode. First,
47469 convert TITLE to UCS-4, and predict the cursor position by
47470 grub_getcharwidth.
47471
47472 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47473 const to SRC.
47474 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47475
16ccb8b1 474762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47477
47478 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47479 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47480 grub_strcat.
47481
47482 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47483 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47484 grub_strcpy and grub_strlen. Take it into account that a space
47485 character is inserted as a delimiter.
47486
6a85ce79 474872005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47488
47489 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47490 invalid magic in the error.
6a85ce79 47491
47492 * commands/search.c: New file.
f19dbdb7 47493
6a85ce79 47494 * util/grub-emu.c (main): Call grub_search_init and
47495 grub_search_fini.
47496
47497 * kern/rescue.c (grub_rescue_print_disks): Removed.
47498 (grub_rescue_print_devices): New function.
47499 (grub_rescue_cmd_ls): Use grub_device_iterate with
47500 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47501 grub_rescue_print_disks.
47502
47503 * kern/partition.c (grub_partition_iterate): Return the result of
47504 PARTMAP->ITERATE instead of GRUB_ERRNO.
47505
47506 * kern/device.c: Include grub/partition.h.
47507 (grub_device_iterate): New function.
47508
47509 * include/grub/partition.h (grub_partition_iterate): Return int
47510 instead of grub_err_t.
47511
47512 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47513 prototype.
47514 [GRUB_UTIL] (grub_search_fini): Likewise.
47515
47516 * include/grub/device.h (grub_device_iterate): New prototype.
47517
47518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47519 commands/search.c.
47520 (pkgdata_MODULES): Added search.mod.
47521 (search_mod_SOURCES): New variable.
47522 (search_mod_CFLAGS): Likewise.
47523
47524 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47525 (pkgdata_MODULES): Added search.mod.
47526 (search_mod_SOURCES): New variable.
47527 (search_mod_CFLAGS): Likewise.
47528
47529 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47530 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47531 All callers changed.
47532
47533 * DISTLIST: Added commands/search.c.
47534
ef095434 475352005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47536
47537 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47538 conversion.
47539 (grub_getcharwidth): New function.
47540
47541 * kern/misc.c (grub_utf8_to_ucs4): New function.
47542
47543 * include/grub/term.h (struct grub_term): Added a new member
47544 "getcharwidth".
47545 (grub_getcharwidth): New prototype.
47546
47547 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47548
47549 * term/i386/pc/console.c (map_char): New function. Segregated from
47550 grub_console_putchar.
47551 (grub_console_putchar): Use map_char.
47552 (grub_console_getcharwidth): New function.
47553 (grub_console_term): Specified grub_console_getcharwidth as
47554 getcharwidth.
47555
47556 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47557 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47558
47559 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47560 GRUB_ERRNO.
47561 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47562 on grub_strtoul completely.
47563 (write_char): Declare local variables in the beginning of the
47564 function.
47565 (grub_vesafb_getcharwidth): New function.
47566 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47567 getcharwidth.
47568
1f0a95e4 475692005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47570
47571 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47572 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47573 commands/i386/pc/vbetest.c.
47574
47575 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47576 call grub_vbe_get_controller_info again, because the returned
47577 information is volatile.
47578 (grub_vbe_set_video_mode): Mostly rewritten.
47579 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47580 grub_vbe_status_t correctly.
47581 (grub_vbe_get_video_mode_info): Likewise.
47582 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47583 several if statements.
47584
47585 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47586 * commands/i386/pc/vbeinfo.c: ... this.
47587
47588 * commands/i386/pc/vbe_test.c: Renamed to ...
47589 * commands/i386/pc/vbetest.c: ... this.
47590
47591 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47592 ...
47593 (grub_cmd_vbeinfo): ... this. Save video modes before
47594 iterating. Skip a video mode, if it is not available, not enough
47595 information is given or it is monochrome. Show the memory
47596 model. Leave the interpretation of MODEVAR to grub_strtoul
47597 completely.
47598 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47599 (GRUB_MOD_FINI): Likewise.
47600
47601 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47602 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47603 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47604 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47605 grub_strtoul completely.
47606 (real2pm): Removed.
47607 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47608 (GRUB_MOD_FINI): Likewise.
47609
47610 * normal/misc.c: Include grub/mm.h.
47611
47612 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47613 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47614 (vbe_list_modes_mod_SOURCES): Removed.
47615 (vbe_list_modes_mod_CFLAGS): Likewise.
47616 (vbe_test_mod_SOURCES): Likewise.
47617 (vbe_test_mod_CFLAGS): Likewise.
47618 (vbeinfo_mod_SOURCES): New variable.
47619 (vbeinfo_mod_CFLAGS): Likewise.
47620 (vbetest_mod_SOURCES): Likewise.
47621 (vbetest_mod_CFLAGS): Likewise.
47622
992ffbbe 476232005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47624
47625 * normal/misc.c: New file.
47626
47627 * DISTLIST: Added normal/misc.c.
f19dbdb7 47628
992ffbbe 47629 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47630 DISK to HOOK. Call HOOK with DISK.
47631 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47632 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47633 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47634
47635 * normal/menu_entry.c (struct screen): Added a new member
47636 "completion_shown".
47637 (completion_buffer): New global variable.
47638 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47639 (store_completion): New function.
47640 (complete): Likewise.
47641 (clear_completions): Likewise.
47642 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47643 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47644 a tab, call complete.
47645
47646 * normal/completion.c (disk_dev): Removed.
47647 (print_simple_completion): Likewise.
47648 (print_partition_completion): Likewise.
47649 (print_func): New global variable.
47650 (add_completion): Do not take the arguments WHAT or PRINT any
47651 longer. Added a new argument TYPE. Instead of printing directly,
47652 call PRINT_FUNC if not NULL.
47653 All callers changed.
47654 (complete_device): Use a local variable DEV instead of
47655 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47656 (grub_normal_do_completion): Take a new argument HOOK. Do not
47657 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47658 empty string, return NULL instead.
47659 All callers changed.
47660
47661 * normal/cmdline.c (print_completion): New function.
47662
47663 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47664 to HOOK.
47665 All callers changed.
47666
47667 * kern/disk.c (grub_print_partinfo): Removed.
47668
47669 * include/grub/partition.h (struct grub_partition_map): Add a new
47670 argument DISK into HOOK of ITERATE.
47671 (grub_partition_iterate): Add a new argument DISK to HOOK.
47672
47673 * include/grub/normal.h (enum grub_completion_type): New enum.
47674 (grub_completion_type_t): New type.
47675 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47676 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47677 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47678 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47679 (grub_normal_do_completion): Added a new argument HOOK.
47680 (grub_normal_print_device_info): New prototype.
47681
47682 * include/grub/disk.h (grub_print_partinfo): Removed.
47683
47684 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47685 (normal_mod_SOURCES): Likewise.
47686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47687 (normal_mod_SOURCES): Likewise.
47688
47689 * commands/ls.c (grub_ls_list_disks): Use
47690 grub_normal_print_device_info instead of grub_print_partinfo. Free
47691 PNAME.
47692 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47693 duplicating the code.
47694
0bd41162 476952005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47696
47697 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47698 follow GCS more precisely.
47699 * commands/i386/pc/vbe_test.c: Likewise.
47700 * include/grub/i386/pc/vbe.h: Likewise.
47701 * term/i386/pc/vesafb.c: Likewise.
47702 * video/i386/pc/vbe.c: Likewise.
0bd41162 47703
6323696a 477042005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47705
47706 * DISTLIST: Added term/i386/pc/vesafb.c
47707 DISTLIST: Added video/i386/pc/vbe.c
47708 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47709 DISTLIST: Added commands/i386/pc/vbe_test.c.
47710 * commands/i386/pc/vbe_list_modes.c: New file.
47711 * commands/i386/pc/vbe_test.c: Likewise.
47712 * term/i386/pc/vesafb.c: Likewise.
47713 * video/i386/pc/vbe.c: Likewise.
47714 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47715 (grub_vbe_probe) Added prototype.
47716 (grub_vbe_set_video_mode) Likewise.
47717 (grub_vbe_get_video_mode) Likewise.
47718 (grub_vbe_get_video_mode_info) Likewise.
47719 (grub_vbe_set_pixel_rgb) Likewise.
47720 (grub_vbe_set_pixel_index) Likewise.
47721 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47722 (pkgdata_MODULES): Added vesafb.mod.
47723 (pkgdata_MODULES): Added vbe_list_modes.mod.
47724 (pkgdata_MODULES): Added vbe_test.mod.
47725 (vbe_mod_SOURCES): Added.
47726 (vbe_mod_CFLAGS): Likewise.
47727 (vesafb_mod_SOURCES): Likewise.
47728 (vesafb_mod_CFLAGS): Likewise.
47729 (vbe_list_modes_mod_SOURCES): Likewise.
47730 (vbe_list_modes_mod_CFLAGS): Likewise.
47731 (vbe_test_mod_SOURCES): Likewise.
47732 (vbe_test_mod_CFLAGS): Likewise.
47733
0a74e62f 477342005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47735
0a74e62f 47736 * normal/command.c (grub_command_execute): If INTERACTIVE is
47737 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47738 CMDLINE. Disable the pager if INTERACTIVE is true.
47739 All callers are changed.
47740
47741 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47742 before reading a config file.
47743 * normal/main.c (read_config_file): Even if a command is not
47744 found, register it if it is within an entry.
47745
47746 * util/grub-emu.c: Include sys/types.h and unistd.h.
47747 (options): Added --hold.
47748 (struct arguments): Added a new member "hold".
47749 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47750 missing.
47751 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47752 cleared by a debugger, if it is not zero.
47753
47754 * include/grub/normal.h (grub_command_execute): Add an argument
47755 INTERACTIVE.
47756
e51f85ae 477572005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47758
47759 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47760
e9c6f39b 477612005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47762
47763 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47764 program with another one, because the old one didn't detect a bug
47765 in gcc-3.4. Always use regparm 2, because the new test is still
47766 not enough for gcc-4.0. Someone must investigate a simple test
47767 case which detects a bug in gcc-4.0.
47768
8de3495c 477692005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47770
47771 * DISTLIST: Added normal/completion.c.
47772
47773 * normal/completion.c: New file.
f19dbdb7 47774
8de3495c 47775 * term/i386/pc/console.c (grub_console_getwh): New function.
47776 (grub_console_term): Assign grub_console_getwh to getwh.
47777
47778 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47779 function is defined in normal/completion.c as
47780 grub_normal_do_completion.
47781 (grub_cmdline_get): Use grub_normal_do_completion instead of
47782 grub_tab_complete.
47783
47784 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47785 returns non-zero, otherwise return 0.
47786 (grub_partition_iterate): First, probe the partition map. Then,
47787 call ITERATE only for this partition map.
47788
47789 * kern/misc.c (grub_strncmp): Rewritten.
47790
47791 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47792 returns non-zero. Otherwise return 0.
47793
47794 * include/grub/partition.h (grub_partition_map_iterate): Return
47795 int instead of void.
47796
47797 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47798
47799 * include/grub/misc.h (grub_strncmp): Change the type of N to
47800 grub_size_t.
47801
47802 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47803 of void.
47804
47805 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47806 unsigned explicitly before comparing it with I.
8de3495c 47807
47808 * kern/main.c (grub_env_write_root): Add the attribute unused into
47809 VAR.
47810
47811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47812 normal/completion.c.
47813 (normal_mod_SOURCES): Likewise.
47814 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47815 (normal_mod_SOURCES): Likewise.
47816
47817 * normal/command.c (grub_iterate_commands): If ITERATE returns
47818 non-zero, return one immediately.
47819
e85e144b 478202005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47821
47822 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47823 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47824 descriptions.
47825 (grub_vbe_get_controller_info): New function.
47826 (grub_vbe_get_mode_info): Likewise.
47827 (grub_vbe_set_mode): Likewise.
47828 (grub_vbe_get_mode): Likewise.
47829 (grub_vbe_set_memory_window): Likewise.
47830 (grub_vbe_get_memory_window): Likewise.
47831 (grub_vbe_set_scanline_length): Likewise.
47832 (grub_vbe_get_scanline_length): Likewise.
47833 (grub_vbe_set_display_start): Likewise.
47834 (grub_vbe_get_display_start): Likewise.
47835 (grub_vbe_set_palette_data): Likewise.
47836 * include/grub/i386/pc/vbe.h: New file.
47837
c46153d2 478382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47839
47840 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47841 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47842 * DISTLIST: Likewise.
47843 * kern/ieee1275/of.c: Moved to ...
47844 * kern/ieee1275/ieee1275.c: ... here.
47845
0cb90c45 478462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47847
47848 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47849 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47850 Pass 0 as `end' parameter to grub_strtoul().
47851
a19fb360 478522005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47853
47854 * include/grub/powerpc/ieee1275/console.h: Do not include
47855 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47856 ifdef.
47857 (grub_console_cur_color): Remove i386-specific prototype.
47858 (grub_console_real_putchar): Likewise.
47859 (grub_console_checkkey): Likewise.
47860 (grub_console_getkey): Likewise.
47861 (grub_console_getxy): Likewise.
47862 (grub_console_gotoxy): Likewise.
47863 (grub_console_cls): Likewise.
47864 (grub_console_setcursor): Likewise.
47865 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47866 Include <grub/machine/console.h>.
47867 * term/ieee1275/ofconsole.c: Likewise.
47868
4ac9bd04 478692005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47870
47871 * Makefile.in (LIBLZO): New variable.
47872
47873 * configure.ac: Check for LZO version 2.
47874
47875 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47876 lzo/lzo1x.h instead of lzo1x.h.
47877
47878 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47879 of -llzo.
47880
47881 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47882 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47883
47884 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47885 copying the data from PARTITION to P.
47886
f4917dfd 478872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47888
47889 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47890 negative, unload the module.
47891
47892 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47893 map is "pc_partition_map" but not "pc".
47894 (usage): Fix the description. The options are --boot-image and
47895 --core-image but not --boot-file or --core-file.
47896 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47897 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47898 DEFAULT_DIRECTORY.
47899
47900 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47901 --core-file. Specify INSTALL_DEVICE as an argument.
47902
47903 * util/console.c: Include config.h.
47904 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47905 [HAVE_NCURSES_H]: Include ncurses.h.
47906 [HAVE_CURSES_H]: Include curses.h.
47907 [!A_NORMAL] (A_NORMAL): Defined as zero.
47908 [!A_STANDOUT] (A_STANDOUT): Likewise.
47909
47910 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47911 -lncurses.
47912 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47913
47914 * configure.ac: Check for curses libraries and headers.
47915
47916 * Makefile.in (LIBCURSES): New variable.
47917
47918 * genmk.rb (Script::rule): Set the executable bits.
47919
47920 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47921 name of the PC partition map is "pc_partition_map" but not "pc".
47922
0e143073 479232005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47924
47925 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47926 (modules): Likewise.
47927 (usage): Added descriptions for --modules and --grub-probefs.
47928 Handle --modules and --grub-probefs. Save the arguments in MODULES
47929 and GRUB_PROBEFS, respectively.
47930 Auto-detect a filesystem module against GRUBDIR. If the result is
47931 empty and modules are not specified explicitly, abort the
47932 installation. Add the result to MODULES.
47933
47934 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47935 disk/powerpc/ieee1275/ofdisk.c,
47936 include/grub/powerpc/ieee1275/init.h and
47937 term/powerpc/ieee1275/ofconsole.c.
47938 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47939 term/ieee1275/ofconsole.c.
47940
47941 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47942
47943 * COPYING: Upgraded to the latest version. Only the address of the
47944 FSF office has changed.
f19dbdb7 47945
efd6e6d5 479462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47947
47948 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47949 kern/ieee1275.c with kern/ieee1275/of.c.
47950
47951 * kern/ieee1275.c: Moved to ...
47952 * kern/ieee1275/of.c: ... here.
47953
8ceafda2 479542005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47955
47956 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47957 readability.
8ceafda2 47958
47959 * config.guess: Updated to the latest version from gnulib.
47960 * config.sub: Likewise.
47961 * install.sh: Likewise.
47962 * mkinstalldirs: Likewise.
47963
47964 * include/grub/console.h: Removed. This file is arch-specific. Do
47965 not put this in include/grub.
47966
47967 * include/grub/i386/pc/console.h: Resurrected.
47968
47969 * util/console.c: Include grub/machine/console.h instead of
47970 grub/console.h.
47971 * util/grub-emu.c: Likewise.
47972
267f6cd9 479732005-08-04 Marco Gerards <metgerards@student.han.nl>
47974
47975 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47976 hardcoded value.
f19dbdb7 47977
267f6cd9 47978 From Vincent Pelletier <subdino2004@yahoo.fr>
47979 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47980 Redefined to use grub_getwh.
47981 (grub_term): New member named getwh.
47982 (grub_getwh): New prototype.
47983 * kern/term.c (grub_getwh): New function.
47984 * term/i386/pc/console.c (grub_console_getwh): New function.
47985 (grub_console_term): New member `getwh'.
47986 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47987 (grub_vga_term): New member `getwh'.
0b5abe02 47988 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47989 grub_ssize_t.
47990 (grub_ofconsole_getw): New function.
47991 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47992 (grub_ofconsole_term): New field named getwh and new initial
47993 value.
47994
3be7266d 479952005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47996
47997 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47998 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47999 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48000 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48001 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48002 of <grub/machine/ieee1275.h>.
48003 * commands/ieee1275/reboot.c: Likewise.
48004 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48005 * kern/ieee1275.c: ... to here. All users updated. Change all
48006 parameter structs to use new type `grub_ieee1275_cell_t'.
48007 * term/powerpc/ieee1275/ofconsole.c: Move ...
48008 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48009 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48010 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48011 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48012 to return int.
48013 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48014 Remove unused prototypes. All users updated.
48015 * include/grub/powerpc/ieee1275/console.h: Removed.
48016 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48017 `grub_ieee1275_cell_t'.
48018 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48019 Cast comparisons with -1 to the correct type.
48020 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48021 type to match `grub_ieee1275_entry_fn'.
48022
8b5f3938 480232005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48024
48025 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48026
48027 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48028 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48029 partmap/sun.c.
48030 (grub_probefs_SOURCES): New variable.
48031
48032 * util/i386/pc/grub-probefs.c: New file.
48033
48034 * util/i386/pc/grub-setup.c (main): Call
48035 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48036 grub_hfs_init and grub_jfs_init to initialize the system. Call
48037 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48038 grub_pc_partition_map_fini to finish the system.
48039
ea409713 480402005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48041
48042 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48043 function.
48044 (grub_multiboot_load_elf32): Likewise.
48045 (grub_multiboot_is_elf64): Likewise.
48046 (grub_multiboot_load_elf64): Likewise.
48047 (grub_multiboot_load_elf): Likewise.
48048 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48049 an ELF32 or ELF64 file.
48050 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48051
48052 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48053 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48054 NULL before calling FS->LABEL.
48055 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48056 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48057 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48058 before calling FS->LABEL.
48059
141a288b 480602005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48061
48062 * util/i386/pc/grub-install.in (datadir): New variable.
48063 (libdir): Removed.
48064 (pkgdatadir): New variable.
48065 (pkglibdir): Removed.
48066
0d5f8a54 480672005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48068
48069 * DISTLIST: Added util/i386/pc/grub-install.in.
48070
48071 * util/i386/pc/grub-install.in: New file.
48072
48073 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48074 (grub_install_SOURCES): Likewise.
48075
48076 * genmk.rb: Added support for scripts.
48077 (Script): New class.
48078 (scripts): New variable.
48079
48080 * Makefile.in (install-local): Install sbin_SCRIPTS by
48081 INSTALL_SCRIPT.
48082 (uninstall): Remove sbin_SCRIPTS.
48083
48084 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48085 device, try to get a GRUB device by
48086 grub_util_biosdisk_get_grub_dev.
48087 Free DEST_DEV.
48088
48089 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48090 description for --device-map.
48091
5f968e1e 480922005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48093
48094 Change the semantics of variable hooks. They now return strings
48095 instead of error values.
f19dbdb7 48096
5f968e1e 48097 * util/i386/pc/grub-setup.c: Include grub/env.h.
48098 (setup): Use grub_device_set_root instead of grub_env_set.
48099
48100 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48101 grub_env_get instead of grub_device_set_root and
48102 grub_device_get_root, respectively.
48103
48104 * kern/main.c (grub_env_write_root): New function.
48105 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48106 grub_env_set instead of grub_device_set_root.
48107
48108 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48109 many variables.
48110 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48111 rather than calling ENV->WRITE_HOOK afterwards.
48112 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48113 passing a pointer of a pointer.
48114 (grub_register_variable_hook): Change the types of "read_hook" and
48115 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48116 respectively.
48117 Allocate the default empty string on the heap, because this string
48118 may be freed later.
48119
48120 * kern/device.c: Include grub/env.h.
48121 (grub_device_set_root): Removed.
48122 (grub_device_get_root): Likewise.
48123 (grub_device_open): Use grub_env_get instead of
48124 grub_device_get_root.
48125
48126 * include/grub/env.h (grub_env_read_hook_t): New type.
48127 (grub_env_write_hook_t): Likewise.
48128 (grub_env_var): Change the types of "read_hook" and "write_hook"
48129 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48130 (grub_register_variable_hook): Likewise.
48131
48132 * include/grub/device.h (grub_device_set_root): Removed.
48133 (grub_device_set_root): Likewise.
48134
48135 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48136 make sure that DIRNAME terminates with '/', so that
48137 grub_fat_find_dir will fail if PATH is not a directory.
48138
48139 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48140 from DIRNAME.
48141 Use the qualifier auto for print_files and print_files_long.
48142 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48143 as a regular file.
48144 Put a newline only if there is no error.
48145 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48146 used.
48147
896f0afd 481482005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48149
48150 * kern/partition.c (grub_partition_probe): Initialize PART to
48151 NULL. Otherwise, when no partition map is registered, this returns
48152 a garbage.
48153
b28b81b2 481542005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48155
48156 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48157 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48158 valid.
48159
5f3607e0 481602005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48161
48162 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48163 information on each device, if it does not have partitions. Print
48164 "Device" instead of "Disk", because this function is not specific
48165 to disk devices.
48166
48167 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48168 static to ensure that it is put on the memory rather than a
48169 register.
48170
502c87e8 481712005-07-17 Yoshinori Okuji <okuji@enbug.org>
48172
48173 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48174 (grub_cat_init): Likewise.
48175 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48176 (options): Likewise.
48177 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48178 (grub_configfile_init): Likewise.
48179 * font/manager.c (GRUB_MOD_INIT): Likewise.
48180 * commands/help.c (GRUB_MOD_INIT): Likewise.
48181 (grub_help_init): Likewise.
48182 * normal/command.c (grub_command_init): Likewise.
48183 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48184 * disk/loopback.c (grub_loop_init): Likewise.
48185 (GRUB_MOD_INIT): Likewise.
48186 * commands/ls.c (grub_ls_init): Likewise.
48187 (GRUB_MOD_INIT): Likewise.
48188 (options): Likewise.
48189 * commands/boot.c (grub_boot_init): Likewise.
48190 (GRUB_MOD_INIT): Likewise.
48191 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48192 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48193 (GRUB_MOD_INIT): Likewise.
48194 * commands/cmp.c (grub_cmp_init): Likewise.
48195 (GRUB_MOD_INIT): Likewise.
48196
48197 * normal/arg.c: Use <> instead of "" to include header files.
48198 (SHORT_ARG_HELP): New macro.
48199 (SHORT_ARG_USAGE): Likewise.
48200 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48201 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48202 descriptions.
48203 (find_short): Check if C is 'h' or 'u' explicitly.
48204 (grub_arg_show_help): Use space characters instead of tabs. Treat
48205 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48206 are shown with --help and --usage only if they are not used for
48207 the command itself.
48208 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48209 'h' and 'u'.
48210
48211 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48212 const into "longarg". Change the type of "shortarg" to int.
48213
f806d18e 482142005-07-17 Yoshinori Okuji <okuji@enbug.org>
48215
48216 * boot/i386/pc/boot.S (boot_drive_check): New label.
48217
48218 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48219 macro.
48220
48221 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48222 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48223
e293232b 482242005-07-17 Yoshinori Okuji <okuji@enbug.org>
48225
48226 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48227 When turning off Gate A20, skip the check and return immediately,
48228 because this is not fatal usually.
48229
ebedfd00 482302005-07-17 Yoshinori Okuji <okuji@enbug.org>
48231
48232 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48233 be 0x7C00 instead of 0x8000.
48234
48235 * boot/i386/pc/pxeboot.S: Rewritten.
48236
48237 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48238 EXT_C.
48239 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48240 result.
48241
654fc59f 482422005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48243
48244 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48245 robustness. This routine now supports a BIOS call and System
48246 Control Port A to modify the gate A20.
48247
48248 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48249 Increased to 0x440.
48250
09f9923f 482512005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48252
48253 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48254 device path and resulting ihandle.
48255 (grub_ofdisk_close): dprintf the ihandle being closed.
48256 (grub_ofdisk_read): dprintf function parameters.
48257 * kern/mm.c (grub_mm_init_region): Likewise.
48258 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48259 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48260 size, and boot arguments.
48261 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48262 before loading into memory.
48263 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48264 before loading into memory.
48265
7ef504d8 482662005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48267
48268 * kern/mm.c: Added much documentation.
48269 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48270 8, set to 5 instead of 8.
48271
e0f050c2 482722005-07-10 Yoshinori Okuji <okuji@enbug.org>
48273
48274 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48275
48276 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48277 (grub_mkdevicemap_SOURCES): New variable.
48278
48279 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48280 lib/device.c of GRUB Legacy.
48281
7224189a 482822005-07-10 Yoshinori Okuji <okuji@enbug.org>
48283
48284 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48285 instead of PATH is NULL.
48286
68c864eb 482872005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48288
48289 * commands/cmp.c (BUFFER_SIZE): New macro.
48290 (grub_cmd_cmp): Close the right file at the right time. Compare
48291 only data just read. Don't report files of different size as
48292 identical. Dynamically allocate buffers. Move variable
48293 declarations at the beginning of function.
48294
e6f3e614 482952005-07-09 Yoshinori Okuji <okuji@enbug.org>
48296
48297 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48298 reverse.
48299
f8f1559a 483002004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48301
48302 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48303 when backspace is pressed at beginning of line.
48304
39c9d41d 483052005-07-03 Yoshinori Okuji <okuji@enbug.org>
48306
48307 * DISTLIST: Added genfslist.sh.
48308
48309 * normal/main.c (fs_module_list): New variable.
48310 (autoload_fs_module): New function.
48311 (read_fs_list): Likewise.
48312 (grub_normal_execute): Call read_fs_list.
48313
48314 * kern/fs.c (grub_fs_autoload_hook): New variable.
48315 (grub_fs_probe): Added support for auto-loading.
48316
48317 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48318 (grub_fs_module_list_t): New type.
48319
48320 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48321 (grub_fs_autoload_hook): New prototype.
48322
48323 * genfslist.sh: New file.
f19dbdb7 48324
39c9d41d 48325 * genmk.rb: Added a rule to generate a filesystem list.
48326
121c1d83 483272005-06-30 Marco Gerards <metgerards@student.han.nl>
48328
48329 * configure.ac: Fix the test for cross-compiling.
48330
48331 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48332 define GRUB_UTIL anymore.
48333
48334 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48335 so this function works on other systems than just big endian.
48336 (load_modules): Likewise.
48337 (add_segments): Likewise.
48338
e75d76e1 483392005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48340
48341 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48342 contains `l' modifier, get a long from va_arg().
48343
50b5a0a7 483442005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48345
48346 * kern/mm.c (grub_free): If the next free block which is being
48347 merged is the first free block, set the first block to the block
48348 being freed.
48349 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48350
89371b20 483512005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48352
48353 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48354 `grub_ieee1275_chosen'.
48355
168d6e58 483562005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48357
48358 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48359 (grub_ieee1275_chosen): New variable.
48360 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48361 `chosen'.
48362 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48363 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48364 Rename first argument to `phandle' for consistency.
48365 (grub_ieee1275_get_property_length): Likewise.
48366 (grub_ieee1275_next_property): Likewise. Change type of first argument
48367 to grub_ieee1275_phandle_t.
48368 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48369 Move export next to declaration.
48370 (grub_ieee1275_chosen): New variable.
48371 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48372 Correct cosmetic typo.
48373 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48374 `grub_ieee1275_chosen'.
48375 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48376 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48377 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48378 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48379 `grub_ieee1275_chosen'.
48380
ca5baa3f 483812005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48382
48383 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48384 /chosen/bootargs.
48385 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48386 /chosen/bootargs as "variable=value" pairs.
48387
708b345f 483882005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48389
48390 * include/grub/misc.h (grub_dprintf): New macro.
48391 (grub_real_dprintf): New prototype.
48392 (grub_strword): Likewise.
48393 (grub_iswordseparator): Likewise.
48394 * kern/misc.c (grub_real_dprintf): New function.
48395 (grub_strword): Likewise.
48396 (grub_iswordseparator): Likewise.
48397
f4c5e67c 483982005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48399
48400 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48401 (roundup): Remove macro.
48402 (grub_ieee1275_flags): Make static.
48403 (grub_ieee1275_realmode): Remove.
48404 (grub_ieee1275_test_flag): New function.
48405 (grub_ieee1275_set_flag): Likewise.
48406 (find_options): Rename to `grub_ieee1275_find_options'; update
48407 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48408 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48409 (cmain): New prototype.
48410 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48411 `grub_ieee1275_flags' directly.
48412 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48413 machine/biosdisk.h.
48414 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48415 Don't include grub/machine/init.h.
48416 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48417 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48418 Remove prototype.
48419 (grub_ieee1275_realmode): Likewise.
48420 (grub_ieee1275_flag): New enum.
48421 (grub_ieee1275_test_flag): New prototype.
48422 (grub_ieee1275_set_flag): New prototype.
48423 * include/grub/powerpc/ieee1275/init.h: Remove file.
48424 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48425 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48426 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48427 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48428 comment.
48429 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48430 `grub_ieee1275_test_flag'.
48431 (grub_ieee1275_encode_devname): Likewise.
48432
ed16607e 484332005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48434
48435 * include/grub/powerpc/ieee1275/ieee1275.h
48436 (grub_ieee1275_encode_devname): New prototype.
48437 (grub_ieee1275_get_filename): Likewise.
48438 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48439 function.
48440 (grub_set_prefix): Likewise.
48441 (grub_machine_init): Call grub_set_prefix.
48442 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48443 (grub_parse_type): New enum.
48444 (grub_ieee1275_get_devargs): New function.
48445 (grub_ieee1275_get_devname): Likewise.
48446 (grub_ieee1275_parse_args): Likewise.
48447 (grub_ieee1275_get_filename): Likewise.
48448 (grub_ieee1275_encode_devname): Likewise.
48449
be369920 484502005-03-30 Marco Gerards <metgerards@student.han.nl>
48451
48452 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48453 `grub_loader_unset'.
48454
a5ce3a4a 484552005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48456
48457 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48458 instead of grub_ieee1275_interpret.
48459 (grub_halt_init): New function.
48460 (grub_halt_fini): Likewise.
48461 (GRUB_MOD_INIT): Correct message grammar.
48462 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48463 instead of grub_ieee1275_interpret.
48464 (grub_reboot_init): New function.
48465 (grub_reboot_fini): Likewise.
48466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48467 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48468 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48469 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48470 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48471 function.
48472 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48473 Add prototype.
48474 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48475 prototype.
48476 (grub_halt): Likewise.
48477 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48478 (cmain): Remove __attribute__((unused)).
48479 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48480 (grub_heap_len): Likewise.
48481 (grub_machine_fini): New function.
48482 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48483 (grub_halt): Likewise.
48484 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48485 function.
48486 * util/powerpc/ieee1275/misc.c: New file.
48487
0058f771 484882005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48489
48490 * DISTLIST: New file.
48491 * gendistlist.sh: Likewise.
f19dbdb7 48492
0058f771 48493 * Makefile.in (COMMON_DISTFILES): Removed.
48494 (BOOT_DISTFILES): Likewise.
48495 (CONF_DISTFILES): Likewise.
48496 (DISK_DISTFILES): Likewise.
48497 (FS_DISTFILES): Likewise.
48498 (INCLUDE_DISTFILES): Likewise.
48499 (KERN_DISTFILES): Likewise.
48500 (LOADER_DISTFILES): Likewise.
48501 (TERM_DISTFILES): Likewise.
48502 (UTIL_DISTFILES): Likewise.
48503 (DISTFILES): Likewise.
48504 (uninstall): Uninstall files in $(pkgdata_DATA).
48505 (DISTLIST): New target.
48506 (distdir): Use the contents of the file DISTLIST to get a list of
48507 distributed files.
48508
46b3b8a5 485092005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48510
48511 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48512 descriptor. This is ported from GRUB Legacy.
48513
48514 * gencmdlist.sh: Added an extra semicolon to make it work with
48515 old sed versions. Reported by Robert Bihlmeyer
48516 <robbe@orcus.priv.at>.
48517
5822ff87 485182005-03-08 Yoshinori Okuji <okuji@enbug.org>
48519
48520 Automatic loading of commands is supported.
f19dbdb7 48521
5822ff87 48522 * normal/main.c (read_command_list): New function.
48523 (grub_normal_execute): Call read_command_list.
48524
48525 * normal/command.c (grub_register_command): Return zero or CMD.
48526 Allocate CMD->NAME from the heap.
48527 Initialize CMD->MODULE_NAME to zero.
48528 Find the same name as well. If the same command is found and it is
48529 a dummy command, overwrite members. If it is not a dummy command,
48530 return zero.
48531 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48532 (grub_command_find): If a dummy command is found, load a module
48533 and retry to find a command only once.
48534
48535 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48536 make sure that each command is loaded.
48537
48538 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48539 macro.
48540 (struct grub_command): Remove const from the member `name'.
48541 Add a new member `module_name'.
48542 (grub_register_command): Return grub_command_t.
48543
48544 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48545 sure that each command is loaded.
48546
48547 * genmk.rb (PModule::rule): Specify a module name without the
48548 suffix ".mod" to gencmdlist.sh.
48549
7b1f4b57 485502005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48551
48552 * gencmdlist.sh: New file.
f19dbdb7 48553
7b1f4b57 48554 * genmk.rb (PModule::rule): Generate a rule for a command list.
48555 Clean command.lst.
48556 Generate command.lst from $(COMMANDFILES).
48557
48558 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48559 (DATA): Added $(pkgdata_DATA).
48560 (install-local): Install files in $(pkgdata_DATA).
48561
062aaf39 485622005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48563
48564 * term/i386/pc/vga.c (debug_command): Removed.
48565 (GRUB_MOD_INIT): Do not register the command "debug".
48566
48567 From Hollis Blanchard:
48568 * commands/configfile.c: New file.
48569 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48570 commands/configfile.c.
48571 (pkgdata_MODULES): Added configfile.mod.
48572 (configfile_mod_SOURCES): New variable.
48573 (configfile_mod_CFLAGS): Likewise.
48574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48575 commands/configfile.c.
48576 (pkgdata_MODULES): Added configfile.mod.
48577 (configfile_mod_SOURCES): New variable.
48578 (configfile_mod_CFLAGS): Likewise.
48579 * util/grub-emu.c (main): Call grub_configfile_init and
48580 grub_configfile_fini.
48581 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48582 prototype.
48583 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48584
cee01aa6 485852005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48586
48587 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48588 address.
48589
48590 * commands/help.c (grub_cmd_help): Do not print newlines after
48591 the last command in print_command_help.
48592
93f3a1d8 485932005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48594
48595 * commands/default.h: New file.
48596 * commands/timeout.h: Likewise.
48597 * normal/context.c: Likewise.
f19dbdb7 48598
93f3a1d8 48599 * util/misc.c: Do not include sys/times.h.
48600 Include sys/time.h and grub/machine/time.h.
48601 (grub_get_rtc): Rewritten with gettimeofday.
48602
48603 * util/grub-emu.c (main): Call grub_default_init and
48604 grub_timeout_init before grub_normal_init, and call
48605 grub_timeout_fini and grub_default_fini after grub_main.
48606
48607 * util/console.c (grub_ncurses_checkkey): Return the read
48608 character or -1.
48609
48610 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48611 timeouts.
48612
48613 * normal/main.c (read_config_file): Push MENU. If this fails,
48614 print an error and wait for a user input.
48615 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48616 If a menu is empty or an error occurs, pop MENU.
48617 (grub_normal_execute): Pop and free MENU after grub_menu_run
48618 returns.
48619
48620 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48621
48622 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48623 include time.h.
48624 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48625 without GRUB_UTIL.
48626 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48627 time.h.
48628 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48629 without GRUB_UTIL.
48630
48631 * include/grub/normal.h (struct grub_menu_list): New struct.
48632 (grub_menu_list_t): New type.
48633 (struct grub_context): New struct.
48634 (grub_context_t): New type.
48635 (grub_register_command): Got rid of EXPORT_FUNC.
48636 (grub_unregister_command): Likewise.
48637 (grub_context_get): New prototype.
48638 (grub_context_get_current_menu): Likewise.
48639 (grub_context_push_menu): Likewise.
48640 (grub_context_pop_menu): Likewise.
48641 [GRUB_UTIL] (grub_default_init): Likewise.
48642 [GRUB_UTIL] (grub_default_fini): Likewise.
48643 [GRUB_UTIL] (grub_timeout_init): Likewise.
48644 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48645
48646 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48647 commands/timeout.c and normal/context.c.
48648 (pkgdata_MODULES): Added default.mod and timeout.mod.
48649 (normal_mod_SOURCES): Added normal/context.c.
48650 (default_mod_SOURCES): New variable.
48651 (default_mod_CFLAGS): Likewise.
48652 (timeout_mod_SOURCES): Likewise.
48653 (timeout_mod_CFLAGS): Likewise.
48654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48655 conf/i386-pc.rmk.
48656 (pkgdata_MODULES): Added default.mod and timeout.mod.
48657 (normal_mod_SOURCES): Added normal/context.c.
48658 (default_mod_SOURCES): New variable.
48659 (default_mod_CFLAGS): Likewise.
48660 (timeout_mod_SOURCES): Likewise.
48661 (timeout_mod_CFLAGS): Likewise.
48662
48663 * Makefile.in (all-local): Added $(MKFILES).
48664
4ed2e1dd 486652005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48666
48667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48668 (grub_emu_SOURCES): Likewise.
48669 (pkgdata_MODULES): Add `sun.mod'.
48670 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48672 `partmap/sun.c'.
48673 (pkgdata_MODULES): Add `sun.mod'.
48674 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48675 * include/grub/partition.h (grub_sun_partition_map_init): New
48676 prototype.
48677 (grub_sun_partition_map_fini): Likewise.
48678 * partmap/sun.c: New file.
48679 * util/grub-emu.c (main): Initialize and de-initialize the sun
48680 partitionmap support.
48681
4d4e372e 486822005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48683
48684 This implements an Emacs-like menu entry editor.
f19dbdb7 48685
4d4e372e 48686 * normal/menu_entry.c: New file.
f19dbdb7 48687
4d4e372e 48688 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48689 characters to ASCII.
48690 (saved_char): New variable.
48691 (grub_ncurses_checkkey): Rewritten completely.
48692 (grub_ncurses_getkey): Likewise.
48693 (grub_ncurses_init): Call raw instead of cbreak.
48694
48695 * normal/menu.c (print_entry): Do not put a space.
48696 (init_page): Renamed to ...
48697 (grub_menu_init_page): ... this. All callers changed.
48698 (edit_menu_entry): Removed.
48699 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48700
48701 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48702
48703 * kern/misc.c (grub_vprintf): Call grub_refresh.
48704
48705 * normal/menu.c (DISP_LEFT): Renamed to ...
48706 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48707 * normal/menu.c (DISP_UP): Renamed to ...
48708 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48709 * normal/menu.c (DISP_RIGHT): Renamed to ...
48710 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48711 * normal/menu.c (DISP_DOWN): Renamed to ...
48712 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48713 * normal/menu.c (DISP_HLINE): Renamed to ...
48714 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48715 * normal/menu.c (DISP_VLINE): Renamed to ...
48716 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48717 * normal/menu.c (DISP_UL): Renamed to ...
48718 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48719 * normal/menu.c (DISP_UR): Renamed to ...
48720 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48721 * normal/menu.c (DISP_LL): Renamed to ...
48722 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48723 * normal/menu.c (DISP_LR): Renamed to ...
48724 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48725 * normal/menu.c (TERM_WIDTH): Renamed to ...
48726 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48727 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48728 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48729 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48730 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48731 * normal/menu.c (TERM_MARGIN): Renamed to ...
48732 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48733 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48734 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48735 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48736 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48737 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48738 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48739 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48740 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48741 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48742 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48743 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48744 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48745 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48746 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48747 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48748 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48749 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48750 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48751 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48752 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48753 All callers changed.
48754
48755 * include/grub/normal.h: New prototype.
48756
48757 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48758 normal/menu_entry.c.
48759 (normal_mod_SOURCES): Likewise.
48760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48761 (normal_mod_SOURCES): Likewise.
48762
e6b92c8a 487632005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48764
48765 * include/grub/normal.h (grub_halt_init): New prototype.
48766 (grub_halt_fini): Likewise.
48767 (grub_reboot_init): Likewise.
48768 (grub_reboot_fini): Likewise.
48769
48770 * util/grub-emu.c: Include signal.h.
48771 (main_env): New global variable.
48772 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48773 catch C-c.
48774 (grub_machine_fini): New function.
48775 (main): Call grub_halt_init and grub_reboot_init before
48776 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48777 Call setjmp with MAIN_ENV to go back afterwards.
48778 Call grub_machine_fini right before return.
48779
48780 * include/grub/util/misc.h: Include setjmp.h.
48781 (main_env): New prototype.
48782
48783 * include/grub/kernel.h (grub_machine_fini): New prototype.
48784 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48785 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48786
48787 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48788 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48789 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48790
e6b92c8a 48791 * util/i386/pc/misc.c: New file.
f19dbdb7 48792
e6b92c8a 48793 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48794 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48795 commands/i386/pc/reboot.c.
48796
c642636f 487972005-02-14 Guillem Jover <guillem@hadrons.org>
48798
48799 * include/grub/dl.h (grub_dl_check_header): New prototype.
48800 (grub_arch_dl_check_header): Change return type to grub_err_t,
48801 remove size parameter and export function. Update all callers.
48802 * kern/dl.c (grub_dl_check_header): New function.
48803 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48804 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48805 are inside the core.
48806 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48807 independent ELF header checks.
48808 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48809 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48810 `grub_dl_check_header' instead of explicit checks. Check for the
48811 ELF type.
48812 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48813 `grub_dl_check_header' instead of explicit checks. Remove arch
48814 specific ELF header checks.
48815
e6b92c8a 48816 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48817 argument SIZE.
48818
5eabe94b 488192005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48820
48821 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48822 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48823
1b14a681 488242005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48825
48826 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48827 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48828 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48829 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48830 * partmap/amiga.c (amiga_partition_map_iterate): Return
48831 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48832 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48833
aca108aa 488342005-02-01 Guillem Jover <guillem@hadrons.org>
48835
48836 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48837 help info.
48838
c9f9c556 488392005-01-31 Marco Gerards <metgerards@student.han.nl>
48840
48841 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48842 Removed prototype.
48843 (grub_rescue_cmd_linux): New prototype.
48844 (grub_rescue_cmd_initrd): Likewise.
48845 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48846 `bi_rec'.
48847 (grub_linux_release_mem): Release the memory for the initrd.
48848 (grub_load_linux): Renamed from this...
48849 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48850 Changed `entry' not to be static. Loop over memory regions to
48851 find another one when the default fails.
48852 (grub_rescue_cmd_initrd): New function.
48853 (grub_linux_init): Remove function.
48854 (grub_linux_fini): Likewise.
48855 (GRUB_MOD_INIT): Register `initrd'.
48856 (GRUB_MOD_FINI): Unregister `initrd'.
48857 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48858 Function removed.
48859 (grub_linux_normal_fini): Likewise.
48860 (GRUB_MOD_INIT): Register `initrd'.
48861 (GRUB_MOD_FINI): Unregister `initrd'.
48862
990cf3aa 488632005-01-31 Marco Gerards <metgerards@student.han.nl>
48864
48865 * commands/help.c: New file.
48866 * normal/arg.c (show_help): Renamed to...
48867 (grub_arg_show_help): ... this.
48868 * commands/i386/pc/halt.c: New file.
48869 * commands/i386/pc/reboot.c: Likewise.
48870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48871 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48872 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48873 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48874 variables.
48875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48876 `commands/help.c'.
48877 (pkgdata_MODULES): Add `help.mod'.
48878 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48879 * grub/i386/pc/init.h (grub_reboot): New prototype.
48880 (grub_halt): Likewise.
48881 * include/grub/normal.h (grub_arg_show_help): New prototype.
48882 (grub_help_init): Likewise.
48883 (grub_help_fini): Likewise.
48884 * util/grub-emu.c (main): Initialize and deinitialize the help
48885 command.
48886
48887 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48888
48889 * normal/command.c (grub_command_init): Fixed the description of
48890 the `set' and `unset' commands.
48891
488922005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48893
48894 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48895 function.
48896 * commands/ieee1275/halt.c: New file.
48897 * commands/ieee1275/reboot.c: Likewise.
48898 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48899 `__attribute__ ((unused))'. Some GCS related fixed.
48900 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48901 (grub_suspend_fini): Likewise.
48902 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48903 and `halt.mod'.
48904 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48905 (halt_mod_CFLAGS): New variables.
48906 * include/grub/powerpc/ieee1275/ieee1275.h
48907 (grub_ieee1275_interpret): New prototype.
48908
1ab09cc7 489092005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48910
48911 * include/grub/misc.h (memmove): New prototype.
48912 (memcpy): Likewise.
48913
8b8cbdb2 489142005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48915
48916 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48917 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48918
e3741a27 489192005-01-22 Marco Gerards <metgerards@student.han.nl>
48920
48921 * kern/misc.c (grub_strndup): Function rewritten.
48922
776bd780 489232005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48924
48925 * normal/menu.c (TERM_WIDTH): Macro redefined.
48926 (TERM_TOP_BORDER_Y): Likewise.
48927 (draw_border): Replaced while-loop by a for-loop. Make the number
48928 of lines consistent with the number of lines displayed in
48929 print_entries. Added a margin below the rectangle.
48930 (print_entry): Make the entry fit in the rectangle.
48931 (print_entries): Display the scroll arrows next to the right
48932 border.
48933
78026bce 489342005-01-21 Marco Gerards <metgerards@student.han.nl>
48935
48936 * fs/minix.c (grub_minix_find_file): Reserve more space for
48937 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48938 `grub_strncpy' to copy `path' into it.
48939
67bbaf0f 489402005-01-21 Marco Gerards <metgerards@student.han.nl>
48941
48942 Add the loopback device, a device via which files can be accessed
48943 as devices.
f19dbdb7 48944
67bbaf0f 48945 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48946 (pkgdata_MODULES): Add loopback.mod.
48947 (loopback_mod_SOURCES): New variable.
48948 (loopback_mod_CFLAGS): Likewise.
48949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48950 `disk/loopback.c'.
48951 (pkgdata_MODULES): Add loopback.mod.
48952 (loopback_mod_SOURCES): New variable.
48953 (loopback_mod_CFLAGS): Likewise.
48954 * disk/loopback.c: new file.
48955 * include/grub/normal.h (grub_loop_init): New prototype.
48956 (grub_loop_fini): New prototype.
48957 * util/grub-emu.c (main): Initialize and de-initialize loopback
48958 support.
48959 * include/grub/disk.h (grub_disk_dev_id): Add
48960 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48961
6f1c18bd 489622005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48963
48964 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48965 function.
48966 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48967 (suspend_mod_SOURCES): New variable.
48968 (suspend_mod_CFLAGS): Likewise.
48969 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48970 New prototype.
48971 * commands/ieee1275/suspend.c: New file.
48972
b38551da 489732005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48974
48975 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48976 ((unused))' to `__attribute__ ((used))'.
b38551da 48977 (GRUB_MOD_FINI): Likewise.
48978 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48979 * genmk.rb (PModule): Assign space to common symbols when linking
48980 modules.
48981
777aff39 489822005-01-20 Marco Gerards <metgerards@student.han.nl>
48983
48984 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48985 `unsigned' arguments to `grub_size_t'.
48986 (grub_malloc): Likewise.
48987 (grub_realloc): Likewise.
48988 (grub_memalign): Likewise.
48989 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48990 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48991 * util/misc.c (grub_malloc): Likewise.
48992 (grub_realloc): Likewise.
48993 * kern/mm.c (get_header_from_pointer): Change the casts to
48994 `unsigned' into a cast to `grub_size_t'.
48995
48996 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48997 point to `currnode' when `currnode' is changed.
48998
48999 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49000 Schottelius <nico-linux@schottelius.org>.
49001
d0ff18e1 490022005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49003
49004 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49005 (note_path): Remove variable.
49006 (GRUB_IEEE1275_NOTE_NAME): New macro.
49007 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49008 (grub_ieee1275_note_hdr): New structure.
49009 (grub_ieee1275_note_desc): Likewise.
49010 (grub_ieee1275_note): Likewise.
49011 (load_note): Remove `dir' argument. All callers updated. Remove
49012 `note_img' and `path'. Do not load a file from `note_path'.
49013 Initialize a struct grub_ieee1275_note and write that to `out'.
49014 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49015
4ca7004c 490162005-01-05 Marco Gerards <metgerards@student.han.nl>
49017
49018 * util/misc.c (grub_util_read_image): Revert last change. It
49019 called `grub_util_read_at', which seeks from the beginning of the
49020 file.
49021
0b412211 490222005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49023
49024 * TODO: Add note about endianness in grub-mkimage.
49025 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49026 section.
49027 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49028 (grub_mkimage_SOURCES): New target.
49029 * include/grub/kernel.h (grub_start_addr): Remove variable.
49030 (grub_end_addr): Likewise.
49031 (grub_total_module_size): Likewise.
49032 (grub_kernel_image_size): Likewise.
49033 (GRUB_MODULE_MAGIC): New constant.
49034 (grub_module_info): New structure.
49035 (grub_arch_modules_addr): New prototype.
49036 (grub_get_end_addr): Remove prototype.
49037 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49038 * include/grub/powerpc/ieee1275/kernel.h: New file.
49039 * include/grub/util/misc.h (grub_util_get_fp_size): New
49040 prototype.
49041 (grub_util_read_at): Likewise.
49042 (grub_util_write_image_at): Likewise.
49043 * kern/main.c (grub_get_end_addr): Remove function.
49044 (grub_load_modules): Call grub_arch_modules_addr instead of using
49045 grub_end_addr. Look for a grub_module_info struct in memory. Use
49046 the grub_module_info fields instead of calling grub_get_end_addr
49047 as loop conditions. Move grub_add_unused_region code here.
49048 (grub_add_unused_region): Remove function.
49049 * kern/i386/pc/init.c: Include grub/cache.h.
49050 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49051 one call to add_mem_region.
49052 (grub_arch_modules_addr): New function.
49053 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49054 (grub_total_module_size): Likewise.
49055 Include grub/machine/kernel.h.
49056 (grub_arch_modules_addr): New function.
49057 * util/grub-emu.c (grub_end_addr): Remove variable.
49058 (grub_total_module_size): Likewise.
49059 (grub_arch_modules_addr): New function.
49060 * util/misc.c: Include unistd.h.
49061 (grub_util_get_fp_size): New function.
49062 (grub_util_read_at): Likewise.
49063 (grub_util_write_image_at): Likewise.
49064 (grub_util_read_image): Call grub_util_read_at.
49065 (grub_util_write_image): Call grub_util_write_image_at.
49066 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49067 additional memory in kernel_img for a struct grub_module_info.
49068 Fill in that grub_module_info.
49069 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49070
458786f8 490712005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49072
49073 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49074 New function.
49075 * include/grub/powerpc/ieee1275/ieee1275.h
49076 (grub_ieee1275_milliseconds): New prototype.
49077 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49078 Change to 1000.
49079 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49080 grub_ieee1275_milliseconds.
49081
ac507d1b 490822005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49083
49084 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49085 variable.
49086 (find_options): New function.
49087 (cmain): Call find_options.
49088 * include/grub/powerpc/ieee1275/ieee1275.h
49089 (grub_ieee1275_realmode): New extern variable.
49090 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49091 grub_map if grub_ieee1275_realmode is false.
49092
6b8fd1c4 490932004-12-29 Marco Gerards <metgerards@student.han.nl>
49094
49095 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49096 lines are inserted and make it work like readline. Reported by
49097 Vincent Pelletier <subdino2004@yahoo.fr>.
49098
8514a1e0 490992004-12-28 Marco Gerards <metgerards@student.han.nl>
49100
49101 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49102
49103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49104 `kern/powerpc/cache.S'.
49105
924b6140 491062004-12-27 Marco Gerards <metgerards@student.han.nl>
49107
49108 * genmk.rb: Handle the `Program' class in the main loop. Written
49109 by Johan Rydberg <jrydberg@gnu.org>.
49110 (Program): New class.
49111 (programs): New variable.
49112 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49113 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49114 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49115 (help_arch): Function removed.
49116 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49117 `powerpc/libgcc.h' and `loader.h'.
49118 (pkgdata_PROGRAMS): New variable.
49119 (sbin_UTILITIES): Variable removed.
49120 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49121 (grubof_SOURCES): Variable re-defined so it only includes the
49122 core functionality.
49123 (grubof_CFLAGS): Remove `-DGRUBOF'.
49124 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49125 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49126 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49127 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49128 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49129 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49130 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49131 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49132 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49133 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49134 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49135 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49136 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49137 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49138 (pc_mod_CFLAGS): New variables.
49139 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49140 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49141 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49142 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49143 Moved from here...
49144 * include/grub/i386/pc/init.h (grub_os_area_addr)
49145 (rub_os_area_size): ... to here.
49146 * include/grub/powerpc/ieee1275/ieee1275.h
49147 (grub_ieee1275_entry_fn): Export symbol.
49148 * include/grub/powerpc/ieee1275/init.h: New file.
49149 * include/grub/powerpc/libgcc.h: Likewise.
49150 * include/grub/cache.h: Likewise.
49151 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49152 <hollis@penguinppc.org>.
49153 * kern/dl.c: Include <grub/cache.h>.
49154 (grub_dl_flush_cache): New function.
49155 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49156 for this module.
49157 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49158 (grub_console_init): Removed prototypes.
49159 (grub_machine_init): Don't initialize the modules anymore.
49160 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49161 static.
49162 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49163 Macro undef removed.
49164 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49165 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49166 relocation `R_PPC_REL32'. Return an error when the relocation is
49167 unknown.
49168 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49169 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49170 * util/misc.c (grub_arch_sync_caches): Likewise.
49171
e4b47e0c 491722004-12-19 Marco Gerards <metgerards@student.han.nl>
49173
49174 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49175 `symlist.c', add `grubof_symlist.c'.
49176 (symlist.c): Variable removed.
49177 (grubof_HEADERS): Variable added.
49178 (grubof_symlist.c): New target.
49179 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49180 `kernel_img_HEADERS'.
49181 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49182 * kern/powerpc/dl.c: New file.
49183 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49184 Function removed.
49185 (grub_arch_dl_relocate_symbols): Likewise.
49186 (grub_register_exported_symbols): Likewise.
49187
4ceb3636 491882004-12-13 Marco Gerards <metgerards@student.han.nl>
49189
49190 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49191 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49192 to fail instead. Reported by Vincent Pelletier
49193 <subdino2004@yahoo.fr>.
49194
49195 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49196 it is not allocated. Reported by Vincent Pelletier
49197 <subdino2004@yahoo.fr>.
49198
49199 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49200 output so the output looks better.
f19dbdb7 49201
3f1578fe 492022004-12-04 Marco Gerards <metgerards@student.han.nl>
49203
49204 Modulize the partition map support and add support for the amiga
49205 partition map.
f19dbdb7 49206
3f1578fe 49207 * commands/ls.c: Include <grub/partition.h> instead of
49208 <grub/machine/partition.h>.
49209 * kern/disk.c: Likewise.
49210 * kern/rescue.c: Likewise.
49211 * loader/i386/pc/chainloader.c: Likewise.
49212 * normal/cmdline.c: Likewise.
49213 * kern/powerpc/ieee1275/init.c: Likewise.
49214 (grub_machine_init): Call `grub_pc_partition_map_init',
49215 `grub_amiga_partition_map_init' and
49216 `grub_apple_partition_map_init'.
49217 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49218 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49219 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49220 `partition.h' and `pc_partition.h'.
49221 (grub_setup_SOURCES): Remove
49222 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49223 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49224 (grub_emu_SOURCES): Likewise.
49225 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49226 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49227 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49229 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49230 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49231 (grubof_SOURCES): Likewise.
49232 * disk/i386/pc/partition.c: File removed.
49233 * disk/powerpc/ieee1275/partition.c: Likewise.
49234 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49235 * include/grub/i386/pc/partition.h: Likewise.
49236 * kern/partition.c: New file.
49237 * partmap/amiga.c: Likewise.
49238 * partmap/apple.c: Likewise.
49239 * partmap/pc.c: Likewise.
49240 * include/grub/partition.h: Likewise..
49241 * include/grub/pc_partition.h: Likewise.
49242 * util/grub-emu.c: Include <grub/partition.h> instead of
49243 <grub/machine/partition.h>.
49244 (main): Call `grub_pc_partition_map_init',
49245 `grub_amiga_partition_map_init' and
49246 `grub_apple_partition_map_init' and deinitialize afterwards.
49247 * util/i386/pc/biosdisk.c: Include `#include
49248 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49249 `<grub/machine/partition.h>'.
49250 * util/i386/pc/grub-setup.c: Likewise.
49251 * util/i386/pc/biosdisk.c: Likewise.
49252 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49253 partition information in case of a PC partition.
49254 * util/i386/pc/grub-setup.c: Include `#include
49255 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49256 `<grub/machine/partition.h>'.
49257 (setup): Only access the PC specific partition information in case
49258 of a PC partition.
49259
0ef4ced9 492602004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49261
0ef4ced9 49262 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49263 (grub_longjmp): Likewise.
49264 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49265 20.
49266 * normal/powerpc/setjmp.S: New file.
49267 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49268 `normal/powerpc/setjmp.S'.
49269 (grubof_CFLAGS): Add `-DGRUBOF'.
49270 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49271 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49272
19950e29 492732004-11-16 Marco Gerards <metgerards@student.han.nl>
49274
49275 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49276 property named `name'. Correctly handle the error returned by
49277 `grub_ieee1275_finddevice' if a device can not be opened.
49278
a2fea427 492792004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49280
49281 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49282 `actual' for negativity.
49283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49284 kern/fshelp.c.
49285
41ea0ea3 492862004-11-01 Marco Gerards <metgerards@student.han.nl>
49287
49288 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49289 (PAGE_OFFSET): New macro.
49290 (CRTC_ADDR_PORT): Likewise.
49291 (CRTC_DATA_PORT): Likewise.
49292 (START_ADDR_HIGH_REGISTER): Likewise.
49293 (START_ADDR_LOW_REGISTER): Likewise.
49294 (GRAPHICS_ADDR_PORT): Likewise.
49295 (GRAPHICS_DATA_PORT): Likewise.
49296 (READ_MAP_REGISTER): Likewise.
49297 (INPUT_STATUS1_REGISTER): Likewise.
49298 (INPUT_STATUS1_VERTR_BIT): Likewise.
49299 (page): New variable.
49300 (wait_vretrace): New function.
49301 (set_read_map): Likewise.
49302 (set_start_address): Likewise.
49303 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49304 the right page.
49305 (check_vga_mem): Take the page into account.
49306 (write_char): Likewise.
49307 (write_cursor): Likewise.
49308 (scroll_up): Likewise. Copy the page to the page that is not
49309 shown and switch between both pages.
49310 (grub_vga_putchar): Fix off by one error.
49311 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49312 account.
49313
ad0bd20b 493142004-11-01 Marco Gerards <metgerards@student.han.nl>
49315
49316 Add support for iso9660 (including rockridge).
f19dbdb7 49317
ad0bd20b 49318 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49319 (iso9660_mod_SOURCES): New variable.
49320 (iso9660_mod_CFLAGS): Likewise.
49321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49322 * include/grub/fs.h (grub_iso9660_init): New prototype.
49323 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49324 * fs/iso9660.c: New file.
49325
49326 * include/grub/misc.h (grub_strncat): New prototype.
49327 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49328
ad0bd20b 49329 * fs/hfs.c (grub_hfs_mount): Translate the error
49330 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49331 * fs/jfs.c (grub_jfs_mount): Likewise.
49332 * fs/ufs.c (grub_ufs_mount): Likewise.
49333
a5477a59 493342004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49335
49336 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49337 which initialized BAT registers.
49338 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49339 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49340 Move from here...
49341 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49342 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49343 ... to here.
49344 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49345 (grub_mapclaim): Likewise.
49346 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49347 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49348 hand.
49349
9304c1f8 493502004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49351
49352 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49353 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49354 -ffreestanding and -msoft-float.
49355
86f4ae25 493562004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49357
49358 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49359 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49360 set in grub_ieee1275_flags.
49361
38912228 493622004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49363
49364 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49365 prototype.
49366 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49367 grub_console_init first.
49368 Change the memory range used for grub_ieee1275_claim and
49369 grub_mm_init_region.
49370 Print an error message if the claim fails.
49371 Include <grub/misc.h>.
49372
d1923dc8 493732004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49374
49375 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49376 Call grub_children_iterate for device nodes of type `scsi',
49377 `ide', or `ata'.
49378 (grub_ofdisk_open): Remove manual device alias resolution.
49379 Fix memory leak when device cannot be opened.
f19dbdb7 49380 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49381 (grub_children_iterate): New prototype.
49382 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49383 New function.
49384 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49385 Return -1 if args.size was -1.
49386
4512e4f3 493872004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49388
49389 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49390 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49391 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49392 Open Firmware's memory for it; claim memory from _start to _end.
49393 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49394 (_end): New extern.
49395 (_start): Zero BSS from __bss_start to _end.
49396 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49397 New extern.
49398 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49399
4d61feb0 494002004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49401
ad0bd20b 49402 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49403 -1 if args.base was -1.
4d61feb0 49404
026fa2f9 494052004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49406
49407 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49408 escape sequence instead of a literal ^L. Also call
49409 grub_ofconsole_gotoxy.
49410
9f2220ef 494112004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49412
49413 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49414 void * arguments to grub_addr_t. All callers updated. Also make
49415 the `result' argument optional.
49416 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49417 All callers updated.
49418
8a572cd7 494192004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49420
49421 * commands/ls.c (grub_ls_list_files): Use the string following the
49422 initial ')', if present, as the filesystem path.
49423 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49424
49425 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49426
18aa81f2 494272004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49428
49429 Make the source code of the menu interface more readable.
f19dbdb7 49430
18aa81f2 49431 * normal/menu.c: Include grub/mm.h.
49432 (TERM_WIDTH): New macro.
49433 (TERM_HEIGHT): Likewise.
49434 (TERM_INFO_HEIGHT): Likewise.
49435 (TERM_MARGIN): Likewise.
49436 (TERM_SCROLL_WIDTH): Likewise.
49437 (TERM_TOP_BORDER_Y): Likewise.
49438 (TERM_LEFT_BORDER_X): Likewise.
49439 (TERM_BORDER_WIDTH): Likewise.
49440 (TERM_MESSAGE_HEIGHT): Likewise.
49441 (TERM_BORDER_HEIGHT): Likewise.
49442 (TERM_NUM_ENTRIES): Likewise.
49443 (TERM_FIRST_ENTRY_Y): Likewise.
49444 (TERM_ENTRY_WIDTH): Likewise.
49445 (TERM_CURSOR_X): Likewise.
49446 (draw_border): Use macros instead of magic numbers.
49447 (print_entry): Likewise.
49448 (print_entries): Likewise.
49449 (run_menu): Likewise. Also, handle the key 'e'.
49450 (run_menu_entry): Ignore empty command lines.
49451 (print_message): Added a new argument EDIT. If EDIT is true,
49452 print a different message.
49453 (init_page): Likewise.
49454 (edit_menu_entry): New function. Not implemented yet.
49455
b47efe30 494562004-09-17 Marco Gerards <metgerards@student.han.nl>
49457
49458 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49459 can be loaded from normal mode.
f19dbdb7 49460
b47efe30 49461 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49462 `multiboot.mod'.
49463 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49464 (multiboot_mod_CFLAGS): New variables.
49465 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49466 * loader/i386/pc/multiboot_normal.c: Likewise.
49467
b47efe30 49468 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49469 attribute `unused'.
f19dbdb7 49470
b47efe30 49471 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49472 `fdiro' to read the mode information from instead of `diro'.
49473
49474 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49475 looking up a symlink.
49476
49477 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49478 macro.
49479 * normal/command.c (grub_command_execute): Don't parse the
49480 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49481 flags of the command.
49482
49483 * normal/menu.c (grub_menu_run): Fix typo.
49484
da75ac71 494852004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49486
49487 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49488
49489 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49490 `y + 1' instead of `y - 1'.
49491
49492 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49493
062b24c2 494942004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49495
49496 From Hollis Blanchard <hollis@penguinppc.org>:
49497 * kern/misc.c (memmove): New alias for grub_memmove.
49498 (memcmp): New alias for grub_memcmp.
49499 (memset): New alias for grub_memset.
f19dbdb7 49500 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49501 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49502 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49503 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49504
8ddad845 495052004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49506
49507 Added normal mode command `chainloader' as module chain.mod, which
49508 depends on normal.mod and _chain.mod.
f19dbdb7 49509
8ddad845 49510 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49511 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49512 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49513 Deleted prototype.
49514 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49515 but arguments parsing moved to ...
49516 (grub_chainloader_cmd): ... here. New function.
49517 * include/grub/i386/pc/chainloader.h: New file.
49518 * loader/i386/pc/chainloader_normal.c: Likewise.
49519
2c1f4ce3 495202004-09-11 Marco Gerards <metgerards@student.han.nl>
49521
49522 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49523 (grub_mkimage_LDFLAGS): Likewise.
49524 (grub_emu_SOURCES): Likewise.
49525 (kernel_img_HEADERS): Added fshelp.h.
49526 * fs/ext2.c: Include <grub/fshelp.h>.
49527 (FILETYPE_REG): New macro.
49528 (FILETYPE_INO_REG): Likewise.
49529 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49530 Changed all users.
49531 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49532 all users.
49533 (grub_fshelp_node): New struct.
49534 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49535 to a pointer.
49536 (grub_ext2_get_file_block): Removed function.
49537 (grub_ext2_read_block): New function.
49538 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49539 This function was written.
49540 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49541 (grub_ext2_find_file): Removed function.
49542 (grub_ext2_read_symlink): New function.
49543 (grub_ext2_iterate_dir): Likewise.
49544 (grub_ext2_open): Rewritten.
49545 (grub_ext2_dir): Rewritten.
49546 * include/grub/fshelp.h: New file.
49547 * fs/fshelp.c: Likewise.
49548
3c52136a 495492004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49550
49551 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49552 (print_message): Add a missing newline.
49553 (run_menu): Added timeout support.
49554 (run_menu_entry): New local function.
49555 (grub_menu_run): Added support for booting.
49556
49557 * kern/loader.c (grub_loader_is_loaded): New function.
49558
49559 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49560 (grub_get_rtc): Exported.
49561
49562 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49563 (grub_get_rtc): Exported.
49564
49565 * include/grub/normal.h (struct grub_command_list): Remove
49566 constant from the member `command'.
49567
49568 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49569
49570 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49571
49572 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49573
aa033560 495742004-08-28 Marco Gerards <metgerards@student.han.nl>
49575
49576 Add support for the JFS filesystem.
49577
49578 * fs/jfs.c: New file.
49579 * include/grub/fs.h (grub_jfs_init): New prototype.
49580 (grub_jfs_fini): New prototype.
49581 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49582 (grub_emu_SOURCES): Likewise.
49583 (pkgdata_MODULES): Add jfs.mod.
49584 (jfs_mod_SOURCES): New variable.
49585 (jfs_mod_CFLAGS): Likewise.
49586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49587 (grubof_SOURCES): Likewise.
49588 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49589
49590 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49591 endian to the host endian.
49592 (grub_fat_utf16_to_utf8): Move function from there...
49593 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49594 the endianness of the source string anymore.
aa033560 49595 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49596
94bc45af 495972004-08-24 Marco Gerards <metgerards@student.han.nl>
49598
49599 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49600 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49601 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49602 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49603
94bc45af 49604 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49605 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49606 for `node_found' and `it_dir'.
49607 (grub_hfs_dir): Add prototype for `dir_hook'.
49608
49609 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49610 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49611 and `indir32' to silence a gcc warning.
49612
49613 * include/grub/fs.h (grub_hfs_init): New prototype.
49614 (grub_hfs_fini): Likewise.
f19dbdb7 49615
49616
97543f08 496172004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49618
49619 Each disk device has its own id now. This is useful to make use
49620 of multiple disk devices.
f19dbdb7 49621
97543f08 49622 * include/grub/disk.h (grub_disk_dev_id): New enum.
49623 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49624 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49625
49626 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49627 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49628
49629 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49630 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49631
49632 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49633 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49634
49635 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49636 "id" which is used by the cache manager.
49637
49638 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49639 of just "GRUB".
49640
64372eb4 496412004-08-18 Marco Gerards <metgerards@student.han.nl>
49642
49643 * fs/hfs.c: New file.
49644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49645 (grub_emu_SOURCES): Likewise.
49646 (pkgdata_MODULES): Add hfs.mod.
49647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49648 (grubof_SOURCES): Likewise.
49649 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49650
49651 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49652 * kern/misc.c (grub_strncasecmp): Add function.
49653
cc61b58f 496542004-08-14 Marco Gerards <metgerards@student.han.nl>
49655
49656 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49657 with parentheses.
49658
49659 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49660 (grub_ext2_dir): In case the directory entry type is unknown, read
49661 it from the inode.
49662
0ef123f6 496632004-08-02 Peter Bruin <pjbruin@dds.nl>
49664
49665 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49666 grub_load_linux instead of grub_rescue_cmd_linux as second
49667 argument of grub_rescue_register_command.
49668
49669 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49670
a447c5df 496712004-07-27 Marco Gerards <metgerards@student.han.nl>
49672
49673 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49674 function.
49675 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49676 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49677 `loader/powerpc/ieee1275/linux.c',
49678 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49679 * include/grub/powerpc/ieee1275/ieee1275.h
49680 (grub_ieee1275_release): New prototype.
49681 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49682 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49683 normal, boot, linux and linux_normal.
49684 * loader/powerpc/ieee1275/linux.c: New file.
49685 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49686
5a9e3546 496872004-07-12 Marco Gerards <metgerards@student.han.nl>
49688
49689 * normal/arg.c (grub_arg_parse): Correct error handling after
49690 reallocating the argumentlist (check if `argl' is not null instead
49691 of checking if `args' is not null).
49692 * kern/mm.c (grub_realloc): Return the same pointer when using the
49693 same region, instead of returning the header address.
49694
e15199cb 496952004-07-11 Marco Gerards <metgerards@student.han.nl>
49696
49697 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49698 one block instead of two when looking for the initial partition.
49699 (grub_partition_probe): Initialize the local variable `p' with 0.
49700 Use base 10 for the grub_strtoul call.
49701 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49702 need for one local variable.
49703 (grub_strtoul): Don't add the new value to `num', instead of that
49704 just assign it.
49705
020616c2 497062004-07-11 Marco Gerards <metgerards@student.han.nl>
49707
49708 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49709 (pxeboot_img_SOURCES): New variable.
49710 (pxeboot_img_ASFLAGS): Likewise.
49711 (pxeboot_img_LDFLAGS): Likewise.
49712 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49713 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49714 <lode_leroy@hotmail.com>.
49715
6c51eb64 497162004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49717
49718 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49719 there was no input.
49720
cfb12aff 497212004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49722
49723 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49724 the history buffer logic.
49725
6eabba74 497262004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49727
49728 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49729 (FILETYPE_INO_SYMLINK): New macros.
49730 (grub_ext2_find_file): Check if the node is a directory using the
49731 inode stat information instead of using the filetype in the
49732 dirent. Exclude the first character of an absolute symlink.
49733 (grub_ext2_dir): Mask out the filetype part of the mode member of
49734 the inode.
49735
66e19ef8 497362004-05-24 Marco Gerards <metgerards@student.han.nl>
49737
49738 Add support for UFS version 1 and 2. Add support for the minix
49739 filesystem version 1 and 2, both the variants with 14 and 30 long
49740 filenames.
f19dbdb7 49741
66e19ef8 49742 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49743 fs/minix.c.
49744 (grub_emu_SOURCES): Likewise.
49745 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49746 (ufs_mod_SOURCES): New variable.
49747 (ufs_mod_CFLAGS): Likewise.
49748 (minix_mod_SOURCES): Likewise.
49749 (minix_mod_CFLAGS): Likewise.
49750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49751 fs/minix.c.
49752 (grubof_SOURCES): Likewise.
49753 * fs/ufs.c: New file.
49754 * fs/minix.c: New file.
49755 * include/grub/fs.h (grub_ufs_init): New prototype.
49756 (grub_ufs_fini): Likewise.
49757 (grub_minix_init): Likewise.
49758 (grub_minix_fini): Likewise.
49759 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49760 minix fs.
49761
cc2e748a 497622004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49763
49764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49765 commands/ls.c, commands/terminal.c, commands/boot.c,
49766 commands/cmp.c and commands/cat.c.
49767 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49768
49769 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49770 "env.h"
49771
4b13b216 497722004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49773
49774 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49775 and grub_, respectively. Because the conversion is trivial and
49776 mechanical, I omit the details here. Please refer to the CVS
49777 if you need more information.
49778
6a142551 497792004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49780
49781 * include/pupa: Renamed to ...
49782 * include/grub: ... this.
49783 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49784 * util/i386/pc/grub-mkimage.c: ... this.
49785 * util/i386/pc/pupa-setup.c: Renamed to ...
49786 * util/i386/pc/grub-setup.c: ... this.
49787 * util/pupa-emu.c: Renamed to ...
49788 * util/grub-emu.c: ... this.
49789
e56cdf21 497902004-03-29 Marco Gerards <metgerards@student.han.nl>
49791
49792 Add support for the newworld apple macintosh (PPC). This has been
49793 tested on the powerbook 2000 only. It only adds support for
49794 generic ieee1275 functions, console and disk support. This should
49795 be easy to port to other architectures with support for Open
49796 Firmware.
f19dbdb7 49797
e56cdf21 49798 * configure.ac: Accept the powerpc as host_cpu. In the case of
49799 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49800 specific tests are only executed while building for the i386.
49801 Inverse test for crosscompile.
49802 * genmk.rb (Utility): Allow assembler files.
49803 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49804 * conf/powerpc-ieee1275.rmk: New file.
49805 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49806 * disk/powerpc/ieee1275/partition.c: Likewise.
49807 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49808 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49809 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49810 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49811 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49812 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49813 * include/pupa/powerpc/ieee1275/loader.h
49814 * include/pupa/powerpc/setjmp.h: Likewise.
49815 * include/pupa/powerpc/types.h: Likewise.
49816 * kern/powerpc/ieee1275/init.c: Likewise.
49817 * kern/powerpc/ieee1275/openfw.c: Likewise.
49818 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49819
49820 These files were written by Johan Rydberg
49821 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49822
e56cdf21 49823 * boot/powerpc/ieee1275/cmain.c: New file.
49824 * boot/powerpc/ieee1275/crt0.S: Likewise.
49825 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49826 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49827
8c8cc205 498282004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49829
49830 * Makefile.in: Update copyright.
49831 * genmodsrc.sh: Likewise.
49832 * gensymlist.sh: Likewise.
49833 * term/i386/pc/vga.c: Indent correctly.
49834
49835 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49836 bugreporting address.
49837 * util/i386/pc/pupa-setup.c (usage): Likewise,
49838 (main): Call pupa_ext2_init and pupa_ext2_fini.
49839
f19dbdb7 49840 * fs/fat.c (log2): Renamed to ...
8c8cc205 49841 (fat_log2): ... this.
49842 All callers changed.
49843 * kern/misc.c (memcpy): Alias to pupa_memmove.
49844 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49845 lvalue cast.
49846 * util/console.c (pupa_ncurses_fini): Return 0.
49847
49848 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49849 Move fail label here.
49850 [__GNU__]: Don't warn when using stat.
49851 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49852 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49853 long int. Use strtol instead of strtoul.
f19dbdb7 49854
db1771cf 498552004-03-14 Marco Gerards <metgerards@student.han.nl>
49856
49857 * commands/boot.c: New file.
49858 * commands/cat.c: Likewise.
49859 * commands/cmp.c: Likewise.
49860 * commands/ls.c: Likewise.
49861 * commands/terminal.c: Likewise.
49862 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49863 (pupa_register_command): Changed interface to match the new
49864 argument parser.
49865 (pupa_command_execute): Changed (almost rewritten) so it uses
49866 pupa_split_command. Added support for setting variables using the
49867 syntax `foo=bar'.
49868 (rescue_command): Changed to work with the new argument parser.
49869 (terminal_command): Moved from here to commands/terminal.c.
49870 (set_command): New function.
49871 (unset_command): New function.
49872 (insmod_command): New function.
49873 (rmmod_command): New function.
49874 (lsmod_command): New function.
49875 (pupa_command_init): Don't initialize the command terminal
49876 anymore. Initialize the commands set, unset, insmod, rmmod and
49877 lsmod.
49878 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49879 (kernel_img_HEADERS): Add arg.h and env.h.
49880 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49881 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49882 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49883 normal/arg.c.
49884 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49885 terminal.mod.
49886 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49887 (boot_mod_SOURCES): New variable.
49888 (terminal_mod_SOURCES): Likewise.
49889 (ls_mod_SOURCES): Likewise.
49890 (cmp_mod_SOURCES): Likewise.
49891 (cat_mod_SOURCES): Likewise.
49892
49893 * normal/arg.c: New file.
49894 * kern/env.c: Likewise.
49895 * include/pupa/arg.h: Likewise.
49896 * include/pupa/env.h: Likewise.
49897 * font/manager.c (font_command): Changed to match argument parsing
49898 interface changes.
49899 (PUPA_MOD_INIT): Likewise.
49900 * hello/hello.c (pupa_cmd_hello): Likewise.
49901 (PUPA_MOD_INIT): Likewise.
49902 * include/pupa/disk.h: Include <pupa/device.h>.
49903 (pupa_print_partinfo): New prototype.
49904 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49905 (pupa_dl_get_prefix): Likewise.
49906 * include/pupa/misc.h: Include <pupa/err.h>.
49907 (pupa_isgraph): New prototype.
49908 (pupa_isdigit): Likewise.
49909 (pupa_split_cmdline): Likewise.
49910 * include/pupa/normal.h: Include <pupa/arg.h>.
49911 (pupa_command): Changed the prototype of the member `func' to
49912 match the argument parsing interface. Added member `options'.
49913 (pupa_register_command): Updated to match function.
49914 (pupa_arg_parse): New prototype.
49915 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49916 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49917 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49918 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49919 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49920 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49921 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49922 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49923 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49924 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49925 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49926 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49927 * kern/disk.c: Include <pupa/file.h>.
49928 (pupa_print_partinfo): New function.
49929 * kern/dl.c: Include <pupa/env.h>.
49930 (pupa_dl_dir): Variable removed.
49931 (pupa_dl_load): Use the environment variable `prefix' instead of
49932 the variable pupa_dl_dir.
49933 (pupa_dl_set_prefix): Function removed.
49934 (pupa_dl_get_prefix): Likewise.
49935 * kern/i386/pc/init.c: Include <pupa/env.h>.
49936 (pupa_machine_init): Use the environment variable `prefix' instead of
49937 using pupa_dl_set_prefix to set the prefix.
49938 * kern/main.c: Include <pupa/env.h>.
49939 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49940 using pupa_dl_get_prefix to get the prefix.
49941 * kern/misc.c: Include <pupa/env.h>.
49942 (pupa_isdigit): New function.
49943 (pupa_isgraph): Likewise.
49944 (pupa_ftoa): Likewise.
49945 (pupa_vsprintf): Added support for printing values of the type
49946 `double'. Make it possible to format variable output when using
49947 formatting like `%1.2%f'.
49948 (pupa_split_cmdline): New function.
49949 * kern/rescue.c: Include <pupa/env.h>.
49950 (next_word): Removed function.
49951 (pupa_rescue_cmd_prefix): Likewise.
49952 (pupa_rescue_cmd_set): New function.
49953 (pupa_rescue_cmd_unset): New function.
49954 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49955 split the command line instead of splitting it here. Added
49956 support for setting variables using the syntax `foo=bar'. Don't
49957 initialize the prefix command anymore. Initialized the set and
49958 unset commands.
49959 * normal/cmdline.c: Include <pupa/env.h>.
49960 (pupa_tab_complete): Added prototypes for print_simple_completion,
49961 print_partition_completion, add_completion, iterate_commands,
49962 iterate_dev, iterate_part and iterate_dir. Moved code to print
49963 partition information from here to kern/disk.c.
fe6b695a 49964 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49965 * normal/main.c: Include <pupa/env.h>.
49966 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49967 instead of using pupa_dl_get_prefix to get the prefix.
49968 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49969 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49970 warning.
49971 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49972 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49973 ((unused))' to silence a gcc warning.
49974 (pupa_vga_setcolor): Likewise.
49975 (debug_command): Changed to match argument parsing
49976 interface changes.
49977 * util/pupa-emu.c: Include <pupa/env.h>.
49978 (options): Added 0's for unused fields to silence a gcc warning.
49979 (argp): Likewise.
49980 (main): Use the environment variable `prefix' instead of using
49981 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49982 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49983 and terminal.
49984
49985 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49986 * util/misc.c: Include <malloc.h>.
49987 (pupa_malloc): Rewritten so errors are correctly reported.
49988 (pupa_realloc): Likewise.
49989 (pupa_memalign): Likewise.
49990 (pupa_mm_init_region): Declare unused variables with
49991 `__attribute__ ((unused))' to silence a gcc warning.
49992 * normal/i386/setjmp.S: Remove tab at the end of the file to
49993 silence a gcc warning.
49994 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49995 variables with `__attribute__ ((unused))' to silence a gcc
49996 warning.
49997 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49998 local variable i unsigned to silence a gcc warning.
49999
50000 * kern/term.c: Include <pupa/misc.h>.
50001 (pupa_more_lines): New variable.
50002 (pupa_more): Likewise.
50003 (pupa_putcode): When the pager is active pause at the end of every
50004 screen.
50005 (pupa_set_more): New function.
50006 * include/pupa/term.h (pupa_set_more): New prototype.
50007
50008
3b1139cb 500092004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50010
50011 Now this project is GRUB 2 rather than PUPA. The location of
50012 the CVS repository was moved to GRUB's.
f19dbdb7 50013
3b1139cb 50014 * configure.ac: Use bug-grub as the reporting address.
50015 Use GRUB instead of PUPA.
50016 Change the version number to 1.90.
50017
8367695c 500182004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50019
50020 * genkernsyms.sh: Updated copyright information.
50021 * genmk.rb: Likewise.
50022 * genmodsrc.sh: Likewise.
50023 * gensymlist.sh: Likewise.
50024 * boot/i386/pc/boot.S: Likewise.
50025 * boot/i386/pc/diskboot.S: Likewise.
50026 * disk/i386/pc/biosdisk.c: Likewise.
50027 * disk/i386/pc/partition.c: Likewise.
50028 * font/manager.c: Likewise.
50029 * fs/ext2.c: Likewise.
50030 * fs/fat.c: Likewise.
50031 * include/pupa/boot.h: Likewise.
50032 * include/pupa/device.h: Likewise.
50033 * include/pupa/disk.h: Likewise.
50034 * include/pupa/dl.h: Likewise.
50035 * include/pupa/elf.h: Likewise.
50036 * include/pupa/err.h: Likewise.
50037 * include/pupa/file.h: Likewise.
50038 * include/pupa/font.h: Likewise.
50039 * include/pupa/fs.h: Likewise.
50040 * include/pupa/kernel.h: Likewise.
50041 * include/pupa/loader.h: Likewise.
50042 * include/pupa/misc.h: Likewise.
50043 * include/pupa/mm.h: Likewise.
50044 * include/pupa/net.h: Likewise.
50045 * include/pupa/normal.h: Likewise.
50046 * include/pupa/rescue.h: Likewise.
50047 * include/pupa/setjmp.h: Likewise.
50048 * include/pupa/symbol.h: Likewise.
50049 * include/pupa/term.h: Likewise.
50050 * include/pupa/types.h: Likewise.
50051 * include/pupa/i386/setjmp.h: Likewise.
50052 * include/pupa/i386/types.h: Likewise.
50053 * include/pupa/i386/pc/biosdisk.h: Likewise.
50054 * include/pupa/i386/pc/boot.h: Likewise.
50055 * include/pupa/i386/pc/console.h: Likewise.
50056 * include/pupa/i386/pc/init.h: Likewise.
50057 * include/pupa/i386/pc/kernel.h: Likewise.
50058 * include/pupa/i386/pc/linux.h: Likewise.
50059 * include/pupa/i386/pc/loader.h: Likewise.
50060 * include/pupa/i386/pc/memory.h: Likewise.
50061 * include/pupa/i386/pc/multiboot.h: Likewise.
50062 * include/pupa/i386/pc/partition.h: Likewise.
50063 * include/pupa/i386/pc/time.h: Likewise.
50064 * include/pupa/i386/pc/vga.h: Likewise.
50065 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50066 * include/pupa/util/getroot.h: Likewise.
50067 * include/pupa/util/misc.h: Likewise.
50068 * include/pupa/util/resolve.h: Likewise.
50069 * kern/device.c: Likewise.
50070 * kern/disk.c: Likewise.
50071 * kern/dl.c: Likewise.
50072 * kern/err.c: Likewise.
50073 * kern/file.c: Likewise.
50074 * kern/fs.c: Likewise.
50075 * kern/loader.c: Likewise.
50076 * kern/main.c: Likewise.
50077 * kern/misc.c: Likewise.
50078 * kern/mm.c: Likewise.
50079 * kern/rescue.c: Likewise.
50080 * kern/term.c: Likewise.
50081 * kern/i386/dl.c: Likewise.
50082 * kern/i386/pc/init.c: Likewise.
50083 * kern/i386/pc/lzo1x.S: Likewise.
50084 * kern/i386/pc/startup.S: Likewise.
50085 * loader/i386/pc/chainloader.c: Likewise.
50086 * loader/i386/pc/linux.c: Likewise.
50087 * loader/i386/pc/multiboot.c: Likewise.
50088 * normal/cmdline.c: Likewise.
50089 * normal/command.c: Likewise.
50090 * normal/main.c: Likewise.
50091 * normal/menu.c: Likewise.
50092 * normal/i386/setjmp.S: Likewise.
50093 * term/i386/pc/console.c: Likewise.
50094 * term/i386/pc/vga.c: Likewise.
50095 * util/console.c: Likewise.
50096 * util/genmoddep.c: Likewise.
50097 * util/misc.c: Likewise.
50098 * util/pupa-emu.c: Likewise.
50099 * util/resolve.c: Likewise.
50100 * util/unifont2pff.rb: Likewise.
50101 * util/i386/pc/biosdisk.c: Likewise.
50102 * util/i386/pc/getroot.c: Likewise.
50103 * util/i386/pc/pupa-mkimage.c: Likewise.
50104 * util/i386/pc/pupa-setup.c: Likewise.
50105
e6eced71 501062004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50107
50108 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50109 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50110 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50111 reading and reset it after reading.
50112 (pupa_ext2_close): Return PUPA_ERR_NONE.
50113
50114 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50115 Correct value.
50116 (struct linux_kernel_header): Add kernel_version and
50117 initrd_addr_max.
50118 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50119 pupa_file_read succeeds.
50120 (pupa_rescue_cmd_initrd): Implement.
50121
5aded270 501222003-12-03 Marco Gerards <metgerards@student.han.nl>
50123
50124 * fs/ext2.c (pupa_ext2_label): New function.
50125 (pupa_ext2_fs): Added label.
50126 * fs/fat.c (pupa_fat_label): New function.
50127 (pupa_fat_fs): Added label.
50128 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50129
50130 * kern/misc.c (pupa_strndup): New function.
50131 * include/pupa/misc.h (pupa_strndup): New prototype.
50132
50133 * include/pupa/normal.h: Include <pupa/err.h>.
50134 (pupa_set_history): New prototype.
50135 (pupa_iterate_commands): New prototype.
50136 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50137 <pupa/disk.h>, <pupa/file.h>.
50138 (hist_size): New variable.
50139 (hist_lines): Likewise.
50140 (hist_end): Likewise.
50141 (hist_used): Likewise.
50142 (pupa_set_history): New function.
50143 (pupa_history_get): Likewise.
50144 (pupa_history_add): Likewise.
50145 (pupa_history_replace): Likewise.
50146 (pupa_tab_complete): Likewise.
50147 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50148 completion shows partitionnames while completing partitions, this
50149 feature was suggested by Jeff Bailey.
50150 * normal/command.c (pupa_iterate_commands): New function.
50151 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50152 (pupa_normal_init): Initialize history buffer.
50153 (PUPA_MOD_INIT): Likewise.
50154 (pupa_normal_fini): Free the history buffer.
50155 (PUPA_MOD_FINI): Likewise.
50156
50157 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50158 key.
50159
50160 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50161 * configure.ac [i386]: Check for regparam bug.
50162 (NESTED_FUNC_ATTR) [! i386]: Defined.
50163
1f7315a3 501642003-11-17 Marco Gerards <metgerards@student.han.nl>
50165
50166 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50167 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50168 (pupa_emu_SOURCES): New variable.
50169 (pupa_emu_LDFLAGS): Likewise.
50170 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50171 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50172 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50173 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50174 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50175 (pupa_jmp_buf): New typedef.
50176 (pupa_setjmp) [PUPA_UTIL]: New macro.
50177 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50178 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50179 (pupa_refresh): New prototype.
50180 * include/pupa/util/getroot.h: New file.
50181 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50182 it.
50183 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50184 (pupa_rescue_cmd_cat): Likewise.
50185 (pupa_rescue_cmd_ls): Likewise.
50186 (pupa_rescue_cmd_testload): Likewise.
50187 (pupa_rescue_cmd_lsmod): Likewise.
50188 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50189 * normal/menu.c (run_menu): Likewise.
50190 * kern/term.c (pupa_cls): Likewise.
50191 (pupa_refresh): New function.
50192 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50193 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50194 * util/console.c: New file.
f19dbdb7 50195
1f7315a3 50196 * util/i386/pc/getroot.c: New file.
50197 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50198 (pupa_putchar): New function.
50199 (pupa_refresh): Likewise.
50200 (xgetcwd): Function moved to ...
50201 (strip_extra_slashes): Likewise.
50202 (get_prefix): Likewise.
f19dbdb7 50203 * util/i386/pc/getroot.c: ... here.
1f7315a3 50204 (find_root_device): Function moved and renamed to...
50205 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50206 Changed all callers.
50207 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50208 and renamed to...
50209 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50210 Changed all callers.
50211 * util/misc.c (pupa_memalign): New function.
50212 (pupa_mm_init_region): Likewise.
50213 (pupa_register_exported_symbols): Likewise.
50214 (pupa_putchar): Function removed.
50215 * util/pupa-emu.c: New file.
50216
9a5c1ade 502172003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50218
50219 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50220 (_multiboot_mod_SOURCES): New variable.
50221 (_multiboot_mod_CFLAGS): Likewise.
50222 * loader/i386/pc/multiboot.c: New file.
50223 * include/pupa/i386/pc/multiboot.h: Likewise.
50224 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50225 (pupa_multiboot_real_boot): New function.
50226 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50227 (pupa_multiboot_real_boot): New prototype.
50228 (pupa_rescue_cmd_multiboot): Likewise
50229 (pupa_rescue_cmd_module): Likewise.
50230
50231 * kern/loader.c (pupa_loader_set): Continue when
50232 pupa_loader_unload_func() fails.
50233 (pupa_loader_unset): New function.
50234 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50235
50236 * kern/misc.c (pupa_stpcpy): New function.
50237 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50238
8e72a9c0 502392003-11-12 Marco Gerards <metgerards@student.han.nl>
50240
50241 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50242 for available extensions.
50243
50244 * include/pupa/i386/pc/time.h: New file.
50245 * kern/disk.c: Include <pupa/machine/time.h>.
50246 (PUPA_CACHE_TIMEOUT): New macro.
50247 (pupa_last_time): New variable.
50248 (pupa_disk_open): Flush the cache when there was a timeout.
50249 (pupa_disk_close): Reset the timer.
50250 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50251 pupa_currticks.
50252 * util/misc.c: Include <sys/times.h>
50253 (pupa_get_rtc): New function.
50254
c4adbd32 502552003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50256
50257 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50258 as blocks.
50259 (pupa_ext2_get_file_block): Use blocks member.
50260
50261 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50262 first block. Return -1 instead of pupa_errno on error.
50263
bfd30f06 502642003-10-27 Marco Gerards <metgerards@student.han.nl>
50265
50266 * README: In the pupa-mkimage example use _chain instead of chain
50267 and ext2 instead of fat.
50268 * TODO: Replace ext2fs with jfs as an example. Add an item for
50269 adding journal playback for ext2fs.
50270 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50271 (pkgdata_MODULES): Added ext2.mod.
50272 (ext2_mod_SOURCES): New variable.
50273 (ext2_mod_CFLAGS): Likewise.
50274 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50275 * include/pupa/misc.h (pupa_strncpy): New prototype.
50276 (pupa_strcat): Likewise.
50277 (pupa_strncmp): Likewise.
50278 * kern/misc.c (pupa_strcat): Enable function.
50279 (pupa_strncpy): New function.
50280 (pupa_strncmp): Likewise.
50281 * fs/ext2.c: New file.
f19dbdb7 50282
bfd30f06 50283 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50284 when the read failed before retrying.
50285 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50286 (_FILE_OFFSET_BITS): Likewise.
50287 * configure.ac: Added AC_SYS_LARGEFILE.
50288
98d15063 502892003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50290
50291 * genmk.rb (PModule#rule): Make sure to get only symbol names
50292 from the output of nm.
59cad637 50293 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50294
18d9c7cd 502952003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50296
50297 I forgot to check in these changes for a long time. This adds
50298 incomplete support for VGA console, and this is still very
50299 buggy. Also, a lot of consideration is required for I18N,
50300 UNICODE, and VGA font issues. Therefore, assume that this is
50301 such that "better than nothing".
f19dbdb7 50302
18d9c7cd 50303 * font/manager.c: New file.
50304 * include/pupa/font.h: Likewise.
50305 * include/pupa/i386/pc/vga.h: Likewise.
50306 * term/i386/pc/vga.c: Likewise.
50307 * util/unifont2pff.rb: Likewise.
50308
50309 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50310 (pkgdata_MODULES): Added vga.mod and font.mod.
50311 (vga_mod_SOURCES): New variables.
50312 (vga_mod_CFLAGS): Likewise.
50313 (font_mod_SOURCES): Likewise.
50314 (font_mod_CFLAGS): Likewise.
50315
50316 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50317
50318 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50319 (struct pupa_term): Added init and fini.
18d9c7cd 50320 Changed the argument of putchar to pupa_uint32_t.
50321
50322 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50323 (pupa_console_real_putchar): New prototype.
50324 (pupa_console_putchar): Removed.
50325 (pupa_console_checkkey): Exported.
50326 (pupa_console_getkey): Likewise.
50327
50328 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50329 characters.
50330
50331 * kern/term.c (pupa_term_set_current): Rewritten.
50332 (pupa_putchar): Likewise.
50333 (pupa_putcode): New function.
50334
50335 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50336 (pupa_console_real_putchar): ... this.
50337 (pupa_vga_set_mode): New function.
50338 (pupa_vga_get_font): Likewise.
50339
50340 * normal/command.c: Include pupa/term.h.
50341 (terminal_command): New function.
50342 (pupa_command_init): Register the command "terminal".
50343
50344 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50345 (DISP_UP): Likewise.
50346 (DISP_RIGHT): Likewise.
50347 (DISP_DOWN): Likewise.
50348 (DISP_HLINE): Likewise.
50349 (DISP_VLINE): Likewise.
50350 (DISP_UL): Likewise.
50351 (DISP_UR): Likewise.
50352 (DISP_LL): Likewise.
50353 (DISP_LR): Likewise.
50354
50355 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50356
977329f5 503572003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50358
50359 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50360 FIX. Reverse the path_list.
50361
50362 * include/pupa/normal.h: Export pupa_register_command and
50363 pupa_unregister_command.
50364
50365 * hello/hello.c (pupa_cmd_hello): New module.
50366 * conf/i386-pc.rmk: Added hello.mod.
50367
1f5ab428 503682003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50369
50370 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50371
1f5ab428 50372 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50373 (compress_kernel): New variable.
50374 (generate_image): Heavily modified to support compressing a
50375 large part of the core image.
50376
50377 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50378 leak.
50379 (pupa_util_load_image): New function.
50380
50381 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50382 (pupa_compressed_size): New variable.
50383 (codestart): Enable Gate A20 here.
50384 Decompress the compressed part of the core image.
50385 Rearrange the code to put functions and variables which are
50386 required for initialization in the non-compressed part.
50387 Include lzo1x.S.
50388
50389 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50390 here.
50391
50392 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50393
f19dbdb7 50394 * include/pupa/i386/pc/kernel.h
1f5ab428 50395 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50396 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50397 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50398 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50399 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50400
50401 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50402
50403 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50404 (Utility#rule): Likewise.
50405
50406 * configure.ac: Check if LZO is available.
50407
ce5bf700 504082003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50409
50410 * include/pupa/normal.h: New file.
50411 * include/pupa/setjmp.h: Likewise.
50412 * include/pupa/i386/setjmp.h: Likewise.
50413 * normal/cmdline.c: Likewise.
50414 * normal/command.c: Likewise.
50415 * normal/main.c: Likewise.
50416 * normal/menu.c: Likewise.
50417 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50418
ce5bf700 50419 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50420 (pupa_rescue_cmd_initrd): Likewise.
50421
50422 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50423 Likewise.
50424
50425 * kern/i386/pc/startup.S (translation_table): New variable.
50426 (translate_keycode): New function.
50427 (pupa_console_getkey): Call translate_keycode.
50428
50429 * kern/rescue.c (attempt_normal_mode): New function.
50430 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50431 it failed, print a message.
50432
50433 * kern/mm.c (pupa_real_malloc): Print more information when a
50434 free magic is broken.
50435 (pupa_free): If the first free header is not free actually, set
50436 it to P.
50437
50438 * kern/main.c (pupa_load_normal_mode): Just load the module
50439 "normal".
50440 (pupa_main): Don't print the message
50441 "Entering into rescue mode..." here.
50442
50443 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50444 Declared.
50445 (pupa_rescue_cmd_initrd): Likewise.
50446 (pupa_rescue_cmd_initrd): Likewise.
50447
50448 * include/pupa/symbol.h (FUNCTION): Specify the type.
50449 (VARIABLE): Likewise.
50450
50451 * include/pupa/err.h (pupa_err_t): Added
50452 PUPA_ERR_UNKNOWN_COMMAND.
50453
50454 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50455 (pupa_dl_get_prefix): Likewise.
50456
50457 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50458 Added _chain.mod and _linux.mod instead of chain.mod and
50459 linux.mod.
50460 (chain_mod_SOURCES): Renamed to ...
50461 (_chain_mod_SOURCES): ... this.
50462 (chain_mod_CFLAGS): Renamed to ...
50463 (_chain_mod_CFLAGS): ... this.
50464 (linux_mod_SOURCES): Renamed to ...
50465 (_linux_mod_SOURCES): ... this.
50466 (linux_mod_CFLAGS): Renamed to ...
50467 (_linux_mod_CFLAGS): ... this.
50468 (normal_mod_SOURCES): New variable.
50469 (normal_mod_CFLAGS): Likewise.
50470 (normal_mod_ASFLAGS): Likewise.
50471
504722003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50473
50474 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50475 possible.
50476
fe6b695a 50477 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50478 recursively.
50479 (pupa_dl_unref): Unrefer depending modules recursively.
50480 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50481 a module is unloaded before one depending on that module is
50482 unloaded.
50483 (pupa_dl_unload): Unload depending modules explicitly,
50484 if possible.
50485
c04da074 504862003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50487
50488 * include/pupa/i386/pc/linux.h: New file.
50489 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50490
c04da074 50491 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50492 Removed.
50493 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50494 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50495 of PUPA_CHAINLOADER_BOOT_SECTOR.
50496
50497 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50498 (pupa_linux_prot_size): New variable.
50499 (pupa_linux_tmp_addr): Likewise.
50500 (pupa_linux_real_addr): Likewise.
50501 (pupa_linux_boot_zimage): New function.
50502 (pupa_linux_boot_bzimage): Likewise.
50503
50504 * kern/i386/pc/init.c (struct mem_region): New structure.
50505 (MAX_REGIONS): New macro.
50506 (mem_regions): New variable.
50507 (num_regions): Likewise.
50508 (pupa_os_area_addr): Likewise.
50509 (pupa_os_area_size): Likewise.
50510 (pupa_lower_mem): Likewise.
50511 (pupa_upper_mem): Likewise.
50512 (add_mem_region): New function.
50513 (compact_mem_regions): Likewise.
50514 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50515 the size of the conventional memory and that of so-called upper
50516 memory (before the first memory hole).
50517 Instead of adding each found region to free memory, use
50518 add_mem_region and add them after removing overlaps.
50519 Also, add only 1/4 of the upper memory to free memory. The rest
50520 is used for loading OS images. Maybe this is ad hoc, but this
50521 makes it much easier to relocate OS images when booting.
50522
50523 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50524 (pupa_enter_rescue_mode): Don't register initrd and module.
50525
50526 * kern/mm.c: Include pupa/dl.h.
50527
50528 * kern/main.c: Include pupa/file.h and pupa/device.h.
50529
50530 * kern/loader.c (pupa_loader_load_module_func): Removed.
50531 (pupa_loader_load_module): Likewise.
50532
50533 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50534 ``.o''.
50535
50536 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50537 (pupa_linux_tmp_addr): Likewise.
50538 (pupa_linux_real_addr): Likewise.
50539 (pupa_linux_boot_zimage): Likewise.
50540 (pupa_linux_boot_bzimage): Likewise.
50541
50542 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50543 (pupa_upper_mem): Likewise.
50544 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50545 module is too dangerous.
50546
50547 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50548 (pupa_os_area_size): Likewise.
50549 (pupa_loader_set): Remove the first argument. Loader doesn't
50550 manage modules or initrd any longer.
50551 (pupa_loader_load_module): Removed.
50552
50553 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50554 (linux_mod_SOURCES): New variable.
50555 (linux_mod_CFLAGS): Likewise.
50556
a13f9237 505572003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50558
50559 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50560 the length of a blocklist correctly.
50561
50562 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50563 Use ioctl only if the OS file is a block device.
50564 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50565 not very useful for normal files.
50566
50567 * kern/main.c (pupa_set_root_dev): New function.
50568 (pupa_load_normal_mode): Likewise.
50569 (pupa_main): Call those above.
50570
50571 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50572 pupa_uint16_t.
50573
50574 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50575
a5ffe966 505762003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50577
50578 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50579 (setup): Configure the installed partition information and the
50580 dl prefix.
50581
50582 * loader/i386/pc/chainloader.c (my_mod): New variable.
50583 (pupa_chainloader_unload): New function.
50584 (pupa_rescue_cmd_chainloader): Refer itself.
50585 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50586
50587 * kern/i386/pc/startup.S (install_partition): Removed.
50588 (version_string): Likewise.
50589 (config_file): Likewise.
50590 (pupa_install_dos_part): New variable.
50591 (pupa_install_bsd_part): Likewise.
50592 (pupa_prefix): Likewise.
50593 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50594
50595 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50596 and pupa/misc.h.
50597 (make_install_device): New function.
50598 (pupa_machine_init): Set the dl prefix.
50599
50600 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50601 (buf): Renamed to ...
50602 (linebuf): ... this.
50603 (pupa_rescue_cmd_prefix): New function.
50604 (pupa_rescue_cmd_insmod): Likewise.
50605 (pupa_rescue_cmd_rmmod): Likewise.
50606 (pupa_rescue_cmd_lsmod): Likewise.
50607 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50608 rmmod and lsmod.
50609
50610 * kern/mm.c (pupa_memalign): If failed even after invalidating
50611 disk caches, unload unneeded modules and retry.
50612
50613 * kern/misc.c (pupa_memmove): New function.
50614 (pupa_memcpy): Removed.
50615 (pupa_strcpy): New function.
50616 (pupa_itoa): Made static.
50617
50618 * kern/dl.c (pupa_dl_iterate): New function.
50619 (pupa_dl_ref): Likewise.
50620 (pupa_dl_unref): Likewise.
50621 (pupa_dl_unload): Return if succeeded or not.
50622 (pupa_dl_unload_unneeded): New function.
50623 (pupa_dl_unload_all): Likewise.
50624 (pupa_dl_init): Renamed to ...
50625 (pupa_dl_set_prefix): ... this.
50626 (pupa_dl_get_prefix): New function.
50627
50628 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50629 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50630 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50631 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50632 (pupa_install_dos_part): Declared.
50633 (pupa_install_bsd_part): Likewise.
50634 (pupa_prefix): Likewise.
50635 (pupa_boot_drive): Likewise.
50636
50637 * include/pupa/types.h: Fix a typo.
50638
50639 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50640 pupa_memmove.
50641 (pupa_memmove): Declared.
50642 (pupa_strcpy): Likewise.
50643
50644 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50645 pupa_mod_init takes one argument, its own module.
50646 (pupa_dl_unload_unneeded): Declared.
50647 (pupa_dl_unload_all): Likewise.
50648 (pupa_dl_ref): Likewise.
50649 (pupa_dl_unref): Likewise.
50650 (pupa_dl_iterate): Likewise.
50651 (pupa_dl_init): Renamed to ...
50652 (pupa_dl_set_prefix): ... this.
50653 (pupa_dl_get_prefix): Declared.
50654
50655 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50656 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50657 unloaded.
50658 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50659 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50660
50661 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50662 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50663
012d7999 506642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50665
50666 * util/i386/pc/pupa-setup.c (setup): Define the internal
50667 function find_first_partition_start at the top level, because GCC
50668 3.0.x cannot compile internal functions in deeper scopes
50669 correctly.
50670 (find_root_device): Use lstat instead of stat.
50671 Don't follow symbolic links.
50672 Fix the path-constructing code.
50673
50674 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50675 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50676 by a BLKGETSIZE ioctl first, because block devices don't fill
50677 the member st_mode of the structure stat on Linux.
50678 [__linux__] (linux_find_partition): Use a temporary buffer
50679 REAL_DEV for the working space. Copy it to DEV before returning.
50680 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50681 buffer cache consistent.
50682 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50683 strncmp. The previous value was merely wrong.
50684 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50685
50686 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50687 FAT size is 12. The previous value was merely wrong.
50688
50689 * kern/main.c (pupa_main): Don't split the starting message from
50690 newlines.
50691
50692 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50693 LF, because BIOS goes crazy about character attributes in this
50694 case.
50695
1cc73a62 506962003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50697
50698 * include/i386/pc/util/biosdisk.h: New file.
50699 * util/i386/pc/biosdisk.c: Likewise.
50700 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50701
1cc73a62 50702 * Makefile.in (INCLUDE_DISTFILES): Added
50703 include/pupa/i386/pc/util/biosdisk.h.
50704 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50705 directory util/i386/pc.
50706 (install-local): Added a rule for sbin_UTILITIES.
50707 (uninstall): Likewise.
50708
50709 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50710
50711 * util/misc.c (xrealloc): New function.
50712 (pupa_malloc): Likewise.
50713 (pupa_free): Likewise.
50714 (pupa_realloc): Likewise.
50715 (pupa_stop): Likewise.
50716 (pupa_putchar): Likewise.
50717
50718 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50719
50720 * include/pupa/util/misc.h (xrealloc): Declared.
50721
50722 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50723 macro.
50724 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50725 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50726
50727 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50728 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50729
50730 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50731 way should be implemented.
50732 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50733
50734 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50735 the size of NAME for safety.
50736 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50737 0x88.
50738
50739 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50740 (pupa_setup_SOURCES): Likewise.
50741
50742 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50743
08b70fe8 507442002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50745
50746 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50747 bunch of pushl's from pusha, because this destroys the return
50748 value.
50749
62ddcc8f 507502002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50751
50752 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50753 This means that any missing prototypes could be fatal. Also, you
50754 must take care when writing assembly code. See the comments at
50755 the beginning of startup.S, for more details.
f19dbdb7 50756
62ddcc8f 50757 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50758 compilation mechanism.
50759 (pupa_chainloader_real_boot): Likewise.
50760 (pupa_biosdisk_rw_int13_extensions): Likewise.
50761 (pupa_biosdisk_rw_standard): Likewise.
50762 (pupa_biosdisk_check_int13_extensions): Likewise.
50763 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50764 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50765 (pupa_get_memsize): Likewise.
50766 (pupa_get_mmap_entry): Likewise.
50767 (pupa_console_putchar): Likewise.
50768 (pupa_console_setcursor): Likewise.
50769 (pupa_getrtsecs): Use pushl instead of push.
50770
50771 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50772 memory instead of the stack for a mmap entry, because some
50773 BIOSes may ignore the maximum size and overflow.
50774
50775 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50776
50777 * genmk.rb (PModule#rule): Compile automatically generated
50778 sources with module-specific CFLAGS as well as other sources.
50779
9962ed99 507802002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50781
50782 * configure.ac: Check ld.
50783 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50784 respectively, before checking endianness and sizes.
50785
50786 * Makefile.in (LD): New variable.
f19dbdb7 50787
abdfc3c5 507882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50789
50790 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50791
6a161fa9 507922002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50793
50794 * Changelog: New file.
50795