]> git.proxmox.com Git - grub2.git/blame - ChangeLog
fix distcheck
[grub2.git] / ChangeLog
CommitLineData
51f1f5af
CW
12010-08-18 Colin Watson <cjwatson@ubuntu.com>
2
3 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
4 fix warnings from Autoconf.
5
9da94e05
CW
62010-08-18 Colin Watson <cjwatson@ubuntu.com>
7
8 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9 to avoid false positives with some assemblers that output things
10 like "someprefix_func" as part of their output.
11
729a0f2e
RM
122010-08-15 Robert Millan <rmh@gnu.org>
13
14 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15 errors.
16 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17 grub_get_libzfs_handle() errors.
18
f3710e08
RM
192010-08-14 Robert Millan <rmh@gnu.org>
20
21 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
22 filesystem is not ZFS.
23
7a3c13de
BC
242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25
26 Fix for misspelled color names defaulting to black/black (bug
27 reported by Doug Nazar)
28
29 * include/grub/normal.h (grub_parse_color_name_pair): Add return
30 status to prototype.
31 * normal/color.c (grub_parse_color_name_pair): Return failure
32 status.
33 (grub_env_write_color_normal): Ignore bad color names.
34 (grub_env_write_color_highlight): Likewise.
35 * normal/main.c (GRUB_MOD_INIT): Set default color names.
36
ab8ba50d
BC
372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
38
39 "shift" command support to GRUB script.
40
41 * include/grub/script_sh.h (grub_script_shift): New prototype.
42 * script/execute.c (grub_script_shift): New function.
43 * script/main.c (grub_script_init): Register shift command.
44 (grub_script_fini): Unregister shift command.
45 * util/grub-script-check.c (grub_script_cmd_shift): New function.
46
47 * tests/grub_script_shift.in: New testcase.
48 * conf/tests.rmk: Rules for new testcase.
49
4d61999e
BC
502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
51
52 "continue" command support to GRUB script.
53
54 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
55 (grub_script_break): Continue support.
56 * script/main.c (grub_script_init): Register continue command.
57 (grub_script_fini): Unregister continue command.
58
59 * tests/grub_script_continue.in: New testcase.
60 * conf/tests.rmk: Rules for new testcase.
61
4df51e00
BC
622010-08-12 BVK Chaitanya <bvk@dbook>
63
64 "break" command support to GRUB script.
65
66 * conf/common.rmk: Rule updates to grub-script-check.
67 * include/grub/misc.h (grub_min): New function.
68 * include/grub/script_sh.h (grub_script_init): New prototype.
69 (grub_script_fini): New prototype.
70 (grub_script_break): New prototype.
71 * script/main.c (grub_script_init): New function.
72 (grub_script_fini): New function.
73 * script/execute.c (grub_script_break): New function.
74 * normal/main.c: Calls to grub_script_{init,fini}.
75 * util/grub-script-check.c (grub_script_break): New function.
76
77 * tests/grub_script_break.in: New testcase.
78 * conf/tests.rmk: Rules for new test case.
79
f12c8420
BC
802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
81
82 Function parameters support to GRUB script.
83
84 * script/yylex.l (VARIABLE): Regular expression update.
85 * script/function.c (grub_script_function_call): Moved ...
86 * script/execute.c (grub_script_function_call): ... to here.
87 (grub_script_execute_arglist_to_argv): Removed.
88 (grub_script_arglist_to_argv): New function.
89 * script/argv.c: New file.
90 (grub_script_argv_free): New function.
91 (grub_script_argv_next): Likewise.
92 (grub_script_argv_append): Likewise.
93 (grub_script_argv_split_append): Likewise.
94 * include/grub/script_sh.h (grub_script_argv): New struct.
95 (grub_script_argv_free): New function.
96 (grub_script_argv_next): Likewise.
97 (grub_script_argv_append): Likewise.
98 (grub_script_argv_split_append): Likewise.
99
100 * conf/common.rmk (normal.mod): New source script/argv.c.
101
102 * tests/grub_script_echo1.in: More tests.
103 * tests/grub_script_vars1.in: Likewise.
104 * tests/grub_script_functions.in: New test case.
105 * conf/tests.rmk: Rules for new testcase.
106
8022b748
BC
1072010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
108
109 Remove grub_script_cmdblock struct.
110
111 * include/grub/script_sh.h: Remove grub_script_cmdblock.
112 * script/parser.y: Likewise.
113 * script/execute.c: Rename cmdblock suffix to cmdlist.
114 * script/script.c: Likewise.
115 * util/grub-script-check.c: Likewise.
116
79a6ba61
YB
1172010-08-11 Yves Blusseau <blusseau@zetam.org>
118
119 * .bzrignore: add grub-macho2img
120
d04b9414
VS
1212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
124
f947ab49
VS
1252010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
126
127 Remove the dump of sm712 initialisation sequence.
128
129 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
130 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
131 (GRUB_VGA_IO_MISC_WRITE): Likewise.
132 (GRUB_VGA_CR_*): Added many registers.
133 (GRUB_VGA_SR_*): Likewise.
134 (GRUB_VGA_GR_*): Likewise.
135 (grub_vga_write_arx): New function.
136 (grub_video_hw_config): New struct.
137 (grub_vga_set_geometry): New function.
138 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
139 GRUB_PCI_CLASS_SUBCLASS_VGA.
140 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
141 * video/sm712.c (grub_sm712_write_reg): New function
142 (grub_sm712_read_reg): Likewise.
143 (grub_sm712_sr_write): Likewise.
144 (grub_sm712_gr_write): Likewise.
145 (grub_sm712_cr_write): Likewise.
146 (grub_sm712_write_arx): Likewise.
147 (grub_sm712_cr_shadow_write): Likewise.
148 (grub_sm712_write_dda_lookup): Likewise.
149 (grub_video_sm712_setup): Initialise the video rather then
150 blindly replay the dump.
151 (main) [TEST]: Add a routine to be able to compile as standalone for
152 tests.
153 * video/sm712_init.c (sm712_init): Removed.
154 (sm712_sr_seq1): New array.
155 (sm712_sr_seq2): Likewise.
156
f0206638
VS
1572010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * include/grub/vga.h: Add missing grub/pci.h include.
160
2764da3b
YB
1612010-08-10 Yves Blusseau <blusseau@zetam.org>
162
163 * util/grub-macho2img.c (main): fix typo
164
cf0c775e
VS
1652010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
168 (grub_vga_gr_read): Likewise.
169 (grub_vga_cr_write): Likewise.
170 (grub_vga_cr_read): Likewise.
171 (grub_vga_sr_write): Likewise.
172 (grub_vga_sr_read): Likewise.
173 (grub_vga_palette_read): Likewise.
174 (grub_vga_palette_write): Likewise.
175 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
176 (grub_sm712_sr_read): New function.
177 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
178 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
179
07f360e9
RM
1802010-08-09 Robert Millan <rmh@gnu.org>
181
182 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
183 out unused variables on non-ZFS build.
184
346c2072
RM
1852010-08-08 Robert Millan <rmh@gnu.org>
186
187 Fix path generation for sub-filesystems in ZFS.
188
189 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
190 missing slash.
191
71175420
RM
1922010-08-08 Robert Millan <rmh@gnu.org>
193
194 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
195
0d8286f3
RM
1962010-08-08 Robert Millan <rmh@gnu.org>
197
198 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
199 exist, issue a proper error message (rely on `ls' for translated
200 strings).
201
55dd2924
RM
2022010-08-08 Robert Millan <rmh@gnu.org>
203
204 Fix grub-probe invocation.
205
206 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
207
d3dd9e80
RM
2082010-08-04 Robert Millan <rmh@gnu.org>
209
210 * configure.ac: Remove checks for getfsstat() and getmntany().
211 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
212 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
213 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
214 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
215 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
216 function.
217 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
218 via find_mount_point_from_dir() and getfsstat() / getmntany().
219
0de22aa9
RM
2202010-08-04 Robert Millan <rmh@gnu.org>
221
222 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
223 (grub_find_zpool_from_mount_point): Merge into ...
224 (grub_find_zpool_from_dir): ... this.
225 * kern/emu/misc.c: Likewise.
226
227 * kern/emu/misc.c
228 (grub_make_system_path_relative_to_its_root): Replace
229 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
230 with grub_find_zpool_from_dir().
231 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
232
62858144
RM
2332010-08-04 Robert Millan <rmh@gnu.org>
234
235 Support OpenSolaris in ZFS device resolution.
236
237 * configure.ac: Check for getmntany().
238 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
239 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
240 support.
241
9dd6fd50
RM
2422010-08-03 Robert Millan <rmh@gnu.org>
243
244 Fix grub-emu build.
245
246 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
247 * include/grub/emu/misc.h: ... here.
248
249 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
250 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
251
252 * util/misc.c: Remove `<grub/util/libzfs.h>'.
253 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
254 (grub_get_libzfs_handle): Move to ...
255 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
256 (grub_get_libzfs_handle): ... here.
257
c9f7ff97
BC
2582010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
259
260 * script/execute.c (grub_script_execute_cmdline): Check for NULL
261 as command name case.
262
a870a783
CW
2632010-08-02 Colin Watson <cjwatson@ubuntu.com>
264
265 * disk/raid.c (insert_array): Select unique numbers for named arrays
266 as well, for use as keys in the disk cache.
267
c7db243b
RM
2682010-08-01 Robert Millan <rmh@gnu.org>
269
270 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
271 kFreeBSD device name, except on ZFS where the filesystem label is
272 used.
273 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
274 `/boot/zfs/zpool.cache'.
275 Set mountfrom kernel variable using ${kfreebsd_device}.
276
f7abdefb
RM
2772010-08-01 Robert Millan <rmh@gnu.org>
278
279 Make it even harder to use uninitialized `libzfs_handle' (and
280 make the interface a bit simpler).
281
282 * include/grub/util/misc.h (grub_util_init_libzfs)
283 (libzfs_handle): Remove.
284 (grub_get_libzfs_handle): New prototype.
285
286 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
287 attribute.
288 (grub_util_init_libzfs): Remove.
289 (grub_get_libzfs_handle): New function.
290
291 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
292 grub_get_libzfs_handle() to obtain a libzfs handle instead of
293 accessing `libzfs_handle' directly.
294
c882acc0
RM
2952010-08-01 Robert Millan <rmh@gnu.org>
296
297 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
298 (grub_find_zpool_from_mount_point): New function prototypes.
299
300 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
301 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
302
303 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
304 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
305 `static' attribute.
306
307 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
308 finding zpool from mount point into ...
309 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
310
311 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
312 requested path is part of a ZFS pool, use
313 grub_find_zpool_from_mount_point() to detect its filesystem name,
314 and generate a path with `/fsname@path' syntax.
315
8bfe31d8
CW
3162010-08-01 Colin Watson <cjwatson@ubuntu.com>
317
318 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
319 (void) rather than () so that this is a proper prototype.
320
553df63d
VS
3212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
324
8687cf07
VS
3252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
328 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
329
ea9be8ea
CW
3302010-08-01 Colin Watson <cjwatson@ubuntu.com>
331
332 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
333
6eea041a
CW
3342010-08-01 Colin Watson <cjwatson@ubuntu.com>
335
336 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
337
2cfb45df
CW
3382010-08-01 Colin Watson <cjwatson@ubuntu.com>
339
340 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
341 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
342 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
343 disable gfxpayload.
344 (Shell-like scripting): Add real content.
345 (Serial terminal): Suggest `terminal_input serial; terminal_output
346 serial' rather than putting the two commands on separate lines,
347 since console input will be inoperative after the first command.
348 (menuentry): Document --class, --users, and --hotkey options.
349 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
350 Vladimir Serbinenko).
351
7decd202
VS
3522010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3532010-08-01 Colin Watson <cjwatson@ubuntu.com>
354
355 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
356
c882acc0
RM
3572010-08-01 Robert Millan <rmh@gnu.org>
358
359 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
360 (grub_find_zpool_from_mount_point): New function prototypes.
361
362 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
363 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
364
365 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
366 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
367 `static' attribute.
368
369 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
370 finding zpool from mount point into ...
371 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
372
373 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
374 requested path is part of a ZFS pool, use
375 grub_find_zpool_from_mount_point() to detect its filesystem name,
376 and generate a path with `/fsname@path' syntax.
377
deb0caa3
RM
3782010-08-01 Robert Millan <rmh@gnu.org>
379
380 Prevent accidental use of uninitialized libzfs_handle.
381
382 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
383 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
384 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
385
ce04ef47
CW
3862010-08-01 Colin Watson <cjwatson@ubuntu.com>
387
388 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
389 util/grub.d/10_linux.in). Fixes Debian bug #591093.
390
ebf53056
RM
3912010-08-01 Robert Millan <rmh@gnu.org>
392
393 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 394
3710bb6b
RM
3952010-07-31 Robert Millan <rmh@gnu.org>
396
397 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
398
8072efeb
RM
3992010-07-31 Robert Millan <rmh@gnu.org>
400
401 * kern/emu/misc.c: Add missing license header.
402
3169f4c7
RM
4032010-07-31 Robert Millan <rmh@gnu.org>
404
405 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
406
407 * include/grub/util/libnvpair.h: Include `<config.h>'.
408 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
409 declaring libnvpair prototypes ourselves.
410 * include/grub/util/libzfs.h: Include `<config.h>'.
411 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
412 declaring libzfs prototypes ourselves.
413
414 (libzfs_handle): Moved to ...
415 * include/grub/util/misc.h (libzfs_handle): ... here.
416 Include `<grub/util/libzfs.h>'.
417
c9a00aee
RM
4182010-07-30 Robert Millan <rmh@gnu.org>
419
420 * include/grub/emu/misc.h: Add missing license header.
421
a184f9c8
RM
4222010-07-30 Robert Millan <rmh@gnu.org>
423
424 Enable `grub-probe -t device' resolution on ZFS.
425
426 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
427 * include/grub/util/libnvpair.h: New file.
428 * include/grub/util/libzfs.h: New file.
429
430 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
431 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
432 `<grub/util/libnvpair.h>'.
433 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
434
435 (find_mount_point_from_dir): New static function.
436 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
437 function.
438 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
439 find_root_device_from_libzfs() before ressorting to find_root_device().
440
441 * include/grub/util/misc.h (grub_util_init_libzfs): New function
442 prototype.
443 * util/misc.c: Include `<grub/util/libzfs.h>'.
444 (grub_util_init_libzfs): New function.
445 [HAVE_LIBZFS] (libzfs_handle): New global variable.
446 [HAVE_LIBZFS] (fini_libzfs): New static function.
447 (grub_util_init_libzfs): New function.
448 * util/grub-probe.c (main): Call grub_util_init_libzfs().
449
f7790cdd
RM
4502010-07-30 Robert Millan <rmh@gnu.org>
451
452 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
453 (xmalloc, xrealloc, xstrdup, xasprintf): Add
454 `warn_unused_result' attribute.
455 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
456 (grub_xasprintf, grub_xvasprintf): Likewise.
457 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
458
0806b63c
RM
4592010-07-29 Robert Millan <rmh@gnu.org>
460
461 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
462 (probe): Handle `PRINT_FS_LABEL'.
463 (main): Handle `-t fs_label'.
464
9f841f5c
RM
4652010-07-29 Robert Millan <rmh@gnu.org>
466
467 * configure.ac: Remove grub-mkisofs checks.
468
46371121
VS
4692010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * util/ieee1275/grub-install.in: Don't use empty grub_device.
472 Reported by: Lennart Sorensen.
473
4742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
477 prior to terminal_input/terminal_output separation. It's been over 1.5
478 years and those versions weren't widely deployed.
479
a9600892
CW
4802010-07-22 Colin Watson <cjwatson@ubuntu.com>
481
482 * disk/raid.c (insert_array): Don't count named arrays when looking
483 for unused array numbers.
697e053c 484 Reported and tested by: Michael Guntsche.
a9600892 485
c03507df
CW
4862010-07-20 Colin Watson <cjwatson@ubuntu.com>
487
488 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
489 implementation of this so that grub-emu links again, with a note
490 that this should support hotplugging in the future.
491
b26f1c11
CW
4922010-07-20 Colin Watson <cjwatson@ubuntu.com>
493
494 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
495
efc9d7f1
CW
4962010-07-20 Colin Watson <cjwatson@ubuntu.com>
497
498 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
499 handle on failure.
500 (grub_loopback_close): Remove empty function.
501 (grub_loopback_dev): Remove close method.
502
dd8ff5c9
CW
5032010-07-20 Colin Watson <cjwatson@ubuntu.com>
504
505 Disable EFI cursor when the EFI console becomes inactive.
506
507 * term/efi/console.c (grub_efi_console_init): New function.
508 (grub_efi_console_fini): New function.
509 (grub_console_term_output): Register init and fini methods.
510
5e3bec67
VS
5112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * tests/util/grub-shell-tester.in: Remove bashism and declare as
514 sh script.
515
afaec079
VS
5162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * disk/loopback.c (grub_loopback): Replace filename with file.
519 (delete_loopback): Handle new semantics.
520 (grub_cmd_loopback): Likewise.
521 (grub_loopback_iterate): Likewise.
522 (grub_loopback_close): Likewise.
523
a6a11f3c
VS
5242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
527 with -p "".
528 Reported by: Tito Keitel.
529
64a638b0
VS
5302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * docs/grub.texi (Naming convention): Document new naming convention.
533
ab8ba957
VS
5342010-07-20 Vadim Solomin <vadic052@gmail.com>
5352010-07-20 Colin Watson <cjwatson@ubuntu.com>
536
537 Generate device.map in something closer to the old ordering.
538
539 * util/deviceiter.c (struct device): New declaration.
540 (compare_file_names): Rename to ...
541 (compare_devices): ... this. Sort by kernel name in preference to
542 the stable by-id name, but keep the latter as a fallback comparison.
543 Update header comment.
544 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
545 of `struct device' rather than of plain file names.
546
a29d6a4b
TF
5472010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
548
549 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
550 on i386.
551
39d824e8
VS
5522010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * commands/acpi.c (setup_common_tables): Use sizeof instead of
555 hardcoding size.
556 (setv1table): Likewise.
557
f058276b
FZ
5582010-07-20 Colin Watson <cjwatson@ubuntu.com>
559
560 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
561 removing the homehost if present.
562 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
563 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
564 removing the homehost if present.
565 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
566 if possible.
567 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
568
569 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
570 parameter. Set its pointer target to 0.
571 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
572 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
573 `data_offset' value from the superblock for 1.x metadata.
574 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
575 data on the device.
576 (insert_array): Record the start sector of data on the device.
577 (grub_raid_register): Pass start_sector parameters to
578 grub_raid_list->detect and insert_array.
579 * include/grub/raid.h (struct grub_raid_array): Add start_sector
580 member.
581 (struct grub_raid): Add start_sector parameter to `detect'.
582
583 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
584 __attribute__ ((packed)), leaving a comment.
585 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
586 (grub_mdraid_detect_09): ... here and ...
587 (grub_mdraid_detect_1x): ... here.
588
5892010-07-20 Peter Henn <peter.henn@web.de>
590
591 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
592 chunk size and disk size, which are already given as sector counts
593 as distinct from the 0.90 units. Fetch the correct device number
594 from the role table instead of using the table index.
595
5962010-07-20 Felix Zielcke <fzielcke@z-51.de>
597
598 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
599 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
600 (WriteMostly1): New macro.
601 Set array->name to NULL for metadata format 0.90. Add support for
602 metadata 1.x. Fix some comments.
603 * disk/raid.c (): Add support for name based RAID arrays. Fix a
604 few comments.
605 * util/getroot.c (grub_util_get_grub_dev): Add support for
606 /dev/md/name style devices.
607
4b761da9
CW
6082010-07-20 Colin Watson <cjwatson@ubuntu.com>
609
610 * .bzrignore: Ignore 20_linux_xen.
611
5771289a
CW
6122010-07-17 Colin Watson <cjwatson@ubuntu.com>
613
614 * util/import_unicode.py: Remove unnecessary imports.
615
5dab68df
AN
6162010-07-17 Aleš Nesrsta <starous@volny.cz>
617
618 Hotplugging and USB hub support.
619
620 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
621 (grub_ohci): Likewise.
622 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
623 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
624 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
625 (GRUB_OHCI_CTRL_EDS): Likewise.
626 (GRUB_OHCI_BULK_EDS): Likewise.
627 (GRUB_OHCI_TDS): Likewise.
628 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
629 (grub_ohci_ed_phys2virt): New function.
630 (grub_ohci_virt_to_phys): Likewise.
631 (grub_ohci_td_phys2virt): Likewise.
632 (grub_ohci_td_virt2phys): Likewise.
633 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
634 attachment.
635 (grub_ohci_find_ed): New function.
636 (grub_ohci_alloc_td): Likewise.
637 (grub_ohci_free_td): Likewise.
638 (grub_ohci_free_tds): Likewise.
639 (grub_ohci_transfer): Use previously allocated memory.
640 (grub_ohci_portstatus): Reset status changed bit.
641 (grub_ohci_detect_dev): Supply status changed.
642 (grub_ohci_fini_hw): Free memory.
643 (grub_ohci_restore_hw): Reallocate memory.
644 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
645 Reset status change.
646 (grub_uhci_detect_dev): Supply status_change.
647 * bus/usb/usb.c (attach_hooks): New var.
648 (grub_usb_device_attach): New function.
649 (grub_usb_register_attach_hook_class): Likewise.
650 (grub_usb_unregister_attach_hook_class): Likewise.
651 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
652 (grub_usb_add_hub): Reset connection changed bit.
653 (attach_root_port): New function.
654 (grub_usb_root_hub): Likewise.
655 (poll_nonroot_hub): Likewise.
656 (grub_usb_poll_devices): Likewise.
657 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
658 * disk/usbms.c (grub_usbms_open): Use device hooks.
659 (grub_usbms_iterate) :Poll devices.
660 (grub_usbms_finddevs): Split into ...
661 (grub_usbms_attach): ... this ...
662 (grub_usbms_attach): ... and this.
663 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
664 in detect_dev.
665 (grub_usb_interface): New fields attached and detach_hook.
666 (grub_usb_attach_hook_class): New type.
667 (grub_usb_attach_desc): New struct.
668 (grub_usb_register_attach_hook_class): New function.
669 (grub_usb_unregister_attach_hook_class): Likewise.
670 (grub_usb_poll_devices): Likewise.
671 (grub_usb_device_attach): Likewise.
672 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
673 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
674
3222efaf
VS
6752010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
678 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
679 delta determination style. Works with most NetBSD partitions too.
680
139b714a
VS
6812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
684 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
685
986aad56
VS
6862010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
689
99be513c
AB
6902010-07-14 Anton Blanchard <anton@samba.org>
691
692 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
693 ET_DYN files.
694
18075f62
GS
6952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
696
697 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
698
8d9a5b15
GS
6992010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
700
701 * kern/partition.c (grub_partition_check_containment): New function to
702 check that a partition is physically contained in a parent. Since
703 offsets are relative (and non-negative), this reduces to checking that
704 the partition ends before its parent.
705 (grub_partition_map_probe): Discard out-of-range sub-partitions.
706 (grub_partition_iterate): Likewise.
707 * include/grub/partition.h (grub_partition_map): Slightly more detailed
708 comments.
709 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
710 partitions that start before their parent, and add debug printfs.
711
19563c25
CW
7122010-07-13 Colin Watson <cjwatson@ubuntu.com>
713
714 * Makefile.in (.SUFFIX): Spell correctly, as ...
715 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
716 bare module name without `.mod', e.g. `test') tried to invoke a
717 Modula-2 compiler.
718
1a1f1e67
CW
7192010-07-13 Colin Watson <cjwatson@ubuntu.com>
720
721 * README: Point to the Info manual.
722
811b0dca
JS
7232010-07-13 Jiro SEKIBA <jir@unicus.jp>
724
725 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
726 2nd superblock position from partition size.
727
e4f4eafc
CW
7282010-07-10 Colin Watson <cjwatson@ubuntu.com>
729
730 * Makefile.in (MAINTAINER_CLEANFILES): Remove
731 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
732 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
733 outputs.
734
4274c30f
VS
7352010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
736
737 Restructure SCSI .id handling.
738 Reported and tested by: Aleš Nesrsta.
739
740 * disk/ata.c (grub_atapi_close): Removed. All users updated.
741 (grub_atapi_dev): Changed .name to "ata". New field .id.
742 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
743 (grub_usbms_dev): New field .id.
744 * disk/scsi.c (grub_scsi_iterate): Generate name.
745 (grub_scsi_open): Parse name.
746 * include/grub/scsi.h (grub_make_scsi_id): New function.
747 (grub_scsi_dev): Change iterate and open to number instead of naming
748 busses. All users updated.
749 (grub_scsi): Remove name. Add .bus.
750
5bc24388
VS
7512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * commands/help.c (grub_cmd_help): Fix a typo.
754
249975ba
VS
7552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
758 Reported and tested by: Colin Watson.
759
3eaac1a1
VS
7602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
763 in this context.
764
becce1b1
VS
7652010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
768
f7bf0918
CW
7692010-07-07 Colin Watson <cjwatson@ubuntu.com>
770
771 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
772 indentation.
773
0b0f9620
CW
7742010-07-06 Colin Watson <cjwatson@ubuntu.com>
775
776 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
777 and disk/raid6_recover.c.
778 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
779 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
780
1e545469
CW
7812010-07-06 Colin Watson <cjwatson@ubuntu.com>
782
783 * term/gfxterm.c (repaint_schedulded): Rename to ...
784 (repaint_scheduled): ... this. Update all callers.
785 (repaint_was_schedulded): Rename to ...
786 (repaint_was_scheduled): ... this. Update all callers.
787
5357687a
CW
7882010-07-06 Colin Watson <cjwatson@ubuntu.com>
789
790 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
791 which we expect to be handled by upper layers.
792
29d7e783
BC
7932010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
794
795 * bus/usb/usbhub.c: #include time.h header.
796
37582066
CW
7972010-07-06 Colin Watson <cjwatson@ubuntu.com>
798
799 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
800 entry_name also for entries without stat blocks (e.g. ".."); fixes
801 corruption of the first entry in a directory.
802
c8c06953
CW
8032010-07-06 Colin Watson <cjwatson@ubuntu.com>
804
805 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
806 after setting gfxterm as the active terminal. GRUB_BACKGROUND
807 doesn't work otherwise.
808
e75056f1
CW
8092010-07-05 Colin Watson <cjwatson@ubuntu.com>
810
811 * docs/grub.texi (Features): Update list of supported file systems.
812 (GNU/Linux): Update for GRUB 2.
813 (Serial terminal): Remove mention of --disable-serial, which was a
814 GRUB Legacy configure option. Update instructions to use
815 `terminal_input' and `terminal_output' rather than `terminal'.
816 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
817 configuration' and `Installing GRUB using grub-install'.
818 (Menu entry editor): Update for GRUB 2.
819 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
820 Document new -a, -u, and -v options.
821 (initrd): New section.
822 (initrd16): New section.
823 (linux): New section.
824 (linux16): New section.
825 (search): The `var' argument to `--set' is optional.
826 (GRUB only offers a rescue shell): Go into a little more detail on
827 drive ordering.
828
5cf69151
CW
8292010-07-05 Colin Watson <cjwatson@ubuntu.com>
830
831 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
832
e3f90044
CW
8332010-07-05 Colin Watson <cjwatson@ubuntu.com>
834
835 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
836 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
837
38d8f4f3
CW
8382010-07-05 Colin Watson <cjwatson@ubuntu.com>
839
840 * util/i386/pc/grub-setup.c (setup): Rename prefix to
841 install_prefix, in line with install_dos_part and install_bsd_part.
842 Add new prefix variable, which is copied to install_prefix after
843 comparing core.img in memory with the one read from disk in the
844 no-embedding case, and use that rather than overwriting
845 install_prefix immediately when installing to a partition.
846 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
847 Bicakci.
848
57ebd41e
GS
8492010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
850
851 * configure.ac: Avoid == in test command, it's not portable.
852 * util/grub.d/30_os-prober.in: Likewise.
853
cb7f64b2
CW
8542010-07-04 Colin Watson <cjwatson@ubuntu.com>
855
856 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
857
6b654bb0
GS
8582010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
859
860 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
861 multiple (top-level) partmaps.
862
72a2026d
VS
8632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 866 Reported by: Tino Keitel.
72a2026d 867
df3eb88f
VS
8682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
869
870 Bidi and diacritics support.
871
872 * Makefile.in (widthspec.bin): New target.
873 (widthspec.h): Likewise.
874 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
875 * autogen.sh: Generate unidata.c.
876 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
877 * commands/ls.c (grub_ls_list_devices): Likewise.
878 (grub_ls_list_files): Likewise.
879 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
880 (grub_mini_cmd_lsmod): Likewise.
881 * commands/read.c: Likewise.
882 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
883 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
884 * lib/arg.c (grub_arg_show_help): Likewise.
885 * lib/crypto.c (grub_password_get): Likewise.
886 * normal/auth.c (grub_username_get): Likewise.
887 * normal/misc.c (grub_normal_print_device_info): Likewise.
888 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
889 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
890 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
891 (normal/charset.c_DEPENDENCIES): New variable.
892 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
893 (pkglib_MODULES): Remove charset.mod.
894 (charset_mod_SOURCES): Removed.
895 (charset_mod_CFLAGS): Likewise.
896 (charset_mod_LDFLAGS): Likewise.
897 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
898 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
899 and term/tparm.c.
900 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
901 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
902 (kernel_img_HEADERS): Add terminfo.h.
903 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
904 Fill ->font. Reverse ascii bitmaps.
905 (grub_font_get_xheight): New function.
906 * font/font.c (grub_font_get_string_width): Moved from here ...
907 * gfxmenu/font.c (grub_font_get_string_width): ... here.
908 * font/font.c (grub_font_draw_string): Moved from here ...
909 * gfxmenu/font.c (grub_font_draw_string): ... here.
910 * font/font.c (grub_font_dup_glyph): New function.
911 (grub_font_blit_glyph): Likewise.
912 (grub_font_blit_glyph_mirror): Likewise.
913 (blit_comb): Likewise.
914 (grub_font_construct_dry_run): Likewise.
915 (grub_font_get_constructed_device_width): Likewise.
916 (grub_font_construct_glyph): Likewise.
917 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
918 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
919 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
920 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
921 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
922 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
923 (grub_font_get_xheight): New proto.
924 (grub_font_get_constructed_device_width): Likewise.
925 (grub_font_construct_glyph): Likewise.
926 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
927 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
928 * include/grub/font.h (grub_font_draw_string): Moved from here ...
929 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
930 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
931 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
932 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
933 (grub_console_getcharwidth): Likewise.
934 * include/grub/misc.h (grub_xputs): New proto.
935 (grub_puts): Inlined.
936 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
937 (grub_normal_get_line_counter): Removed.
938 (grub_install_newline_hook): Likewise.
939 (grub_normal_get_char_counter): New proto.
940 (grub_normal_reset_more): Likewise.
941 (grub_xputs_normal): Likewise.
942 * include/grub/powerpc/ieee1275/console.h: Removed.
943 * include/grub/sparc64/ieee1275/console.h: Likewise.
944 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
945 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
946 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
947 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
948 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
949 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
950 (grub_term_input): Pass reference to self. All users updated.
951 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
952 Pass reference to self. New fields normal_color, highlight_color and
953 data. All users updated.
954 (grub_putchar): Removed.
955 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
956 (grub_unicode_estimate_width): New function.
957 (grub_term_getcharwidth): Add defaults.
958 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
959 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
960 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
961 (grub_cls): Remove EXPORT_FUNC.
962 (grub_setcolorstate): Inline.
963 (grub_newline_hook): Removed.
964 * include/grub/terminfo.h: Rewritten. All users updated.
965 * include/grub/unicode.h: New file.
966 * include/grub/video.h (grub_video_signed_rect): New type.
967 * kern/emu/console.c (grub_console_highlight_color): Removed.
968 (grub_console_normal_color): Likewise.
969 (grub_console_standard_color): Made static.
970 (grub_ncurses_putchar): Remove mapping.
971 (grub_ncurses_getcharwidth): Removed.
972 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
973 (grub_ncurses_setcolor): Removed.
974 (grub_ncurses_getcolor): Likewise.
975 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
976 (grub_console_putchar): ... this.
977 (grub_console_putchar): Handle argument difference.
978 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
979 console_init_early and console_init_lately.
980 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
981 * kern/misc.c (grub_puts): Removed.
982 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
983 (grub_vsnprintf_real): Remove str = NULL support.
984 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
985 * normal/charset.c (grub_utf8_to_ucs4): ... here.
986 * kern/term.c (grub_putcode): Renamed to ...
987 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
988 (grub_putchar): Removed.
989 (grub_xputs_dumb): New function.
990 (grub_xputs): New variable.
991 * lib/charset.c: Move from here ...
992 * normal/charset.c: ... to here.
993 (grub_ucs4_to_utf8): New function.
994 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
995 (join_types): New variable.
996 (unpack_join): New function.
997 (bidi_types): New variable.
998 (unpack_bidi): New function.
999 (get_bidi_type): Likewise.
1000 (get_join_type): Likewise.
1001 (is_mirrored): Likewise.
1002 (grub_unicode_get_comb_type): Likewise.
1003 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
1004 (is_type_after): Likewise.
1005 (grub_unicode_aglomerate_comb): Likewise.
1006 (bidi_line_wrap): Likewise.
1007 (grub_bidi_line_logical_to_visual): Likewise.
1008 (grub_bidi_logical_to_visual): Likewise.
1009 (grub_unicode_mirror_code): Likewise.
1010 (grub_unicode_shape_code): Likewise.
1011 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
1012 Don't use grub_putchar.
1013 * normal/main.c (grub_normal_init_page): Use grub_putcode.
1014 (grub_normal_reader_init): Likewise.
1015 (grub_xputs_saved): New variable.
1016 (GRUB_MOD_INIT): Set grub_xputs.
1017 (GRUB_MOD_FINI): Restore grub_xputs.
1018 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
1019 (menu_init): Avoid printing gfxmenu error.
1020 (show_menu): Use grub_normal_get_char_counter.
1021 * normal/menu_entry.c (update_screen): Fix out-of-array.
1022 (complete): Avoid NULL dereferencing.
1023 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
1024 * normal/menu_text.c (print_spaces): Removed.
1025 (grub_print_ucs4): Likewise.
1026 (grub_print_message_indented): Use grub_print_ucs4.
1027 (print_message): Use grub_putcode.
1028 (print_entry): Hanlde diacritics.
1029 * normal/term.c (term_state): New type.
1030 (grub_more_lines): Removed.
1031 (term_states): New variable.
1032 (grub_normal_line_counter): Renamed to ..
1033 (grub_normal_char_counter): ...this. All users updated.
1034 (grub_normal_get_line_counter): Renamed to ...
1035 (grub_normal_get_char_counter): ... this.
1036 (grub_normal_reset_more): New function.
1037 (process_newline): Removed.
1038 (print_more): New function.
1039 (grub_install_newline_hook): Removed.
1040 (map_code): New function.
1041 (grub_puts_terminal): Use grub_print_ucs4.
1042 (putglyph): New function.
1043 (putcode_real): Likewise.
1044 (grub_putcode): Use putcode_real.
1045 (get_maxwidth): New function.
1046 (get_startwidth): Likewise.
1047 (print_ucs4_terminal): Likewise.
1048 (find_term_state): Likewise.
1049 (put_glyphs_terminal): Likewise.
1050 (print_backlog): Likewise.
1051 (print_ucs4_real): Likewise.
1052 (grub_print_ucs4): Likewise.
1053 (grub_xputs_normal): Likewise.
1054 * term/efi/console.c (grub_console_putchar): Output diacritics.
1055 (grub_console_getcharwidth): Removed.
1056 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1057 * term/gfxterm.c (clear_char): Free chars.
1058 (scroll_up): Avoid leaking memory.
1059 (grub_gfxterm_putchar): Support diacritics.
1060 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1061 * term/i386/pc/console.c (grub_console_term_output): Declare as
1062 GRUB_TERM_CODE_TYPE_VGA.
1063 * term/i386/pc/vga.c (grub_vga_term): Declare as
1064 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
1065 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
1066 GRUB_TERM_CODE_TYPE_VGA.
1067 * term/i386/vga_common.c (map_char): Removed.
1068 (grub_console_putchar): Likewise.
1069 (grub_console_getcharwidth): Likewise.
1070 * term/ieee1275/ofconsole.c: Simplify using terminfo.
1071 (colors): Reordered to match terminfo.
1072 (grub_ofconsole_normal_color): Removed.
1073 (grub_ofconsole_writeesc): Likewise.
1074 (grub_ofconsole_highlight_color): Likewise.
1075 (grub_ofconsole_getcharwidth): Likewise.
1076 (grub_ofconsole_setcolorstate): Likewise.
1077 (grub_ofconsole_setcolor): Likewise.
1078 (grub_ofconsole_getcolor): Likewise.
1079 (grub_ofconsole_readkey): Renamed to ...
1080 (readkey): ... this. Remove escape sequence handling. Return -1 on no
1081 key.
1082 (grub_ofconsole_checkkey): Removed.
1083 (grub_ofconsole_getkey): Likewise.
1084 (grub_ofconsole_getxy): Likewise.
1085 (grub_ofconsole_gotoxy): Likewise.
1086 (grub_ofconsole_cls): Likewise.
1087 (grub_ofconsole_refresh): Likewise.
1088 (grub_ofconsole_terminfo_input): New struct.
1089 (grub_ofconsole_terminfo_output): Likewise.
1090 (grub_ofconsole_term_input): Use terminfo.
1091 (grub_ofconsole_term_output): Likewise.
1092 (grub_console_init): Split into ...
1093 (grub_console_init_early): ...this and ...
1094 (grub_console_init_lately): ...this. Use terminfo.
1095 (grub_ofconsole_putchar): Renamed to ...
1096 (put): ... this. Remove mapping.
1097 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1098 * term/serial.c: Simplify using terminfo.
1099 (xpos): Removed.
1100 (ypos): Likewise.
1101 (keep_track): Likewise.
1102 (registered): Likewise.
1103 (input_buf): Likewise.
1104 (npending): Likewise.
1105 (serial_translate_key_sequence): Likewise.
1106 (fill_input_buf): Likewise.
1107 (grub_serial_checkkey): Likewise.
1108 (grub_serial_getkey): Likewise.
1109 (grub_serial_getxy): Likewise.
1110 (grub_serial_gotoxy): Likewise.
1111 (grub_serial_putchar): Likewise.
1112 (grub_serial_cls): Likewise.
1113 (grub_serial_setcolorstate): Likewise.
1114 (grub_serial_setcursor): Likewise.
1115 (serial_hw_init): Use serial_hw_fetch.
1116 (grub_serial_terminfo_input): New variable.
1117 (grub_serial_terminfo_output): Likewise.
1118 (grub_serial_term_input): Use terminfo.
1119 (grub_serial_term_output): Likewise.
1120 * term/terminfo.c (putstr): Use put.
1121 (grub_terminfo_all_free): New function
1122 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
1123 (grub_terminfo_output_register): New function.
1124 (grub_terminfo_output_unregister): Likewise.
1125 (grub_terminfo_getxy): Likewise.
1126 (grub_terminfo_readkey): Likewise.
1127 (grub_terminfo_checkkey): Likewise.
1128 (grub_terminfo_getkey): Likewise.
1129 (grub_terminfo_input_init): Likewise.
1130 (print_terminfo): Likewise.
1131 (grub_cmd_terminfo): Handle encoding.
1132 (grub_terminfo_gotoxy): Track position.
1133 (grub_terminfo_cls): Likewise.
1134 (grub_terminfo_putchar): Likewise.
1135 (grub_terminfo_setcolorstate): Handle colors
1136 (grub_terminfo_cursor_on): This ...
1137 (grub_terminfo_cursor_off): ... and this merged into ...
1138 (grub_terminfo_setcursor): ... this.
1139 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
1140 * unicode/ArabicShaping.txt: New file (imported from Unicode).
1141 * unicode/BidiMirroring.txt: Likewise.
1142 * unicode/UnicodeData.txt: Likewise.
1143 * unicode/COPYING: Likewise.
1144 * util/grub-editenv.c (grub_putchar): Removed.
1145 (grub_xputs_real): New function.
1146 (grub_xputs): New variable.
1147 * util/grub-fstest.c (grub_putchar): Removed.
1148 (grub_xputs_real): New function.
1149 (grub_xputs): New variable.
1150 * util/grub-mkdevicemap.c (grub_putchar): Removed.
1151 (grub_xputs_real): New function.
1152 (grub_xputs): New variable.
1153 * util/grub-probe.c (grub_putchar): Removed.
1154 (grub_xputs_real): New function.
1155 (grub_xputs): New variable.
1156 * util/grub-script-check.c (grub_putchar): Removed.
1157 (grub_xputs_real): New function.
1158 (grub_xputs): New variable.
1159 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
1160 (grub_xputs_real): New function.
1161 (grub_xputs): New variable.
1162 * util/import_unicode.py: New file.
1163 * util/grub-mkfont.c (ft_errmsgs): New array.
1164 (grub_glyph_info): Make bitmap a pointer.
1165 (file_formats): New type WIDTH_SPEC.
1166 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
1167 (options): Add width-spec.
1168 (help): Likewise.
1169 (add_char): Renamed to ...
1170 (add_glyph): ... this.
1171 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
1172 (glyph_replace): New type.
1173 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
1174 (add_char): New function.
1175 (add_subst): Likewise.
1176 (process_cursive): Likewise.
1177 (add_font): Handle GSUB.
1178 (write_font_width_spec): New function.
1179 (main): Sort glyphs.
1180 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
1181 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
1182 * kern/term.c (grub_cls): Moved from here...
1183 * normal/term.c (grub_cls): ... here.
1184
50f0bcda
CW
11852010-07-02 Colin Watson <cjwatson@ubuntu.com>
1186
1187 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
1188 suitable for using within the format argument of printf when
1189 converting grub_size_t.
1190 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
1191 "x" to convert grub_size_t arguments.
1192
40372103
VS
11932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
1196 too long captions.
1197 (list_get_minimal_size): Take selection box into account.
1198
942a10c7
VS
11992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
1202 NULL font.
1203
2bdb2892
CW
12042010-07-02 Colin Watson <cjwatson@ubuntu.com>
1205
1206 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
1207 devices when iterating over /dev/disk/by-id; they will be handled
1208 later if appropriate, which they aren't always (e.g. LVM).
1209
e03ed6c1
CW
12102010-07-02 Colin Watson <cjwatson@ubuntu.com>
1211
1212 * include/grub/misc.h (grub_reboot): Declare as noreturn.
1213 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
1214 fails.
1215 (grub_halt): Likewise.
1216 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
1217 reset-all fails.
1218 (grub_halt): Don't return, even if all of shut-down, power-off, and
1219 poweroff fail.
1220
47695765
CW
12212010-07-02 Colin Watson <cjwatson@ubuntu.com>
1222
1223 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
1224 arguments, not three.
1225
507736c8
CW
12262010-07-02 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
1229 * util/grub.d/10_linux.in: Use it to check for LVM, so that
1230 LVM-on-RAID is handled correctly.
1231
e3c8cd37
CW
12322010-07-02 Colin Watson <cjwatson@ubuntu.com>
1233
1234 * docs/grub.texi (Changes from GRUB Legacy): New section.
1235 (Future): Fix typo.
1236
8d4a2fec
CW
12372010-07-02 Colin Watson <cjwatson@ubuntu.com>
1238
1239 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
1240 grub.d/README accidentally ends up executable for one reason or
1241 another. Ignore it.
1242
1c4827be
VS
12432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
1246 (gpt_partition_map_iterate): Support non-512B sectors.
1247
d9a0c941
VS
12482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * kern/efi/init.c (grub_efi_init): Disable watchdog.
1251 Tested by: Seth Goldberg.
1252
48f27e87
VS
12532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
1256 Properly align mbi.
1257 Reported by: Seth Goldberg.
1258
b0c4f956
VS
12592010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * util/grub-mkrescue.in: Avoid module duplication.
1262
105a2e8c
SF
12632010-07-01 Sean Finney <seanius@seanius.net>
1264
1265 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
1266
5944958c
SF
12672010-07-01 Sean Finney <seanius@seanius.net>
1268
1269 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
1270
12712010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * disk/lvm.c (grub_lvm_checkvalue): New function.
1274 (grub_lvm_check_flag): Likewise.
1275
b79889ba
RM
12762010-07-01 Robert Millan <rmh@gnu.org>
1277
1278 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1279 Support 'p' as partition separator on kernel of FreeBSD (used
1280 with GPT labels).
1281 (grub_util_biosdisk_get_grub_dev): Likewise.
1282
ec1d04f1
VS
12832010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 Yeeloong firmware port.
1286
1287 * boot/mips/yeeloong/fwstart.S: New file.
1288 * bus/cs5536.c (gpiodump): New const.
1289 (set_io_space): New function.
1290 (set_iod): Likewise.
1291 (set_p2d): Likewise.
1292 (grub_cs5536_init_geode): Likewise.
1293 * commands/mips/yeeloong/lsspd.c: New file.
1294 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1295 (serial_mod_SOURCES): New variable.
1296 (serial_mod_CFLAGS): Likewise.
1297 (serial_mod_LDFLAGS): Likewise.
1298 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1299 term/terminfo.c and term/tparm.c.
1300 (pkglib_IMAGES): Add fwstart.img.
1301 (fwstart_img_SOURCES): New variable.
1302 (fwstart_img_CFLAGS): Likewise.
1303 (fwstart_img_ASFLAGS): Likewise.
1304 (fwstart_img_LDFLAGS): Likewise.
1305 (fwstart_img_FORMAT): Likewise.
1306 (pkglib_MODULES): Add lsspd.mod.
1307 (lsspd_mod_SOURCES): New variable.
1308 (lsspd_mod_CFLAGS): Likewise.
1309 (lsspd_mod_LDFLAGS): Likewise.
1310 (pkglib_MODULES): Add halt.mod.
1311 (halt_mod_SOURCES): New variable.
1312 (halt_mod_CFLAGS): Likewise.
1313 (halt_mod_LDFLAGS): Likewise.
1314 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1315 (serial_mod_SOURCES): Removed.
1316 (serial_mod_CFLAGS): Likewise.
1317 (serial_mod_LDFLAGS): Likewise.
1318 * disk/ata.c (check_device): New function.
1319 (grub_ata_device_initialize): Use check_device.
1320 (grub_ata_iterate): Recheck devices.
1321 (grub_ata_open): Likewise.
1322 (grub_atapi_iterate): Likewise.
1323 (grub_atapi_open): Likewise.
1324 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1325 (GRUB_ATA_CH1_PORT1): Likewise.
1326 (GRUB_ATA_CH0_PORT2): Likewise.
1327 (GRUB_ATA_CH1_PORT2): Likewise.
1328 * include/grub/mips/loongson.h: New file.
1329 * include/grub/mips/yeeloong/ec.h: Likewise.
1330 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1331 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1332 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1333 * include/grub/misc.h (grub_halt): Declare as noreturn.
1334 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1335 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1336 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1337 (UART_ENABLE_DTRRTS): Likewise.
1338 (UART_ENABLE_MODEM): Removed.
1339 (UART_ENABLE_OUT2): New const.
1340 * include/grub/term.h (grub_term_register_input_active): New function.
1341 (grub_term_register_output_active): Likewise.
1342 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1343 argument.
1344 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1345 (init_pci): New function.
1346 (grub_machine_init): Execute platform init when firmware. Init serial.
1347 (grub_halt): Implement.
1348 (grub_exit): Likewise.
1349 (grub_reboot): Likewise.
1350 * term/serial.c (serial_hw_init): Update macros.
1351 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1352 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1353 (image_targets): New target mipsel-yeeloong-flash.
1354 (generate_image): Support IMAGE_YEELOONG_FLASH.
1355 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1356 (grub_video_sm712_setup): Init card.
1357 (grub_video_sm712_set_palette): Removed.
1358 * video/sm712_init.c: New file.
1359
ff4a70d2
CW
13602010-06-30 Colin Watson <cjwatson@ubuntu.com>
1361
1362 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1363 PATH when running help2man and then run it on the unadorned
1364 executable names, rather than passing $(builddir)/* paths to
1365 help2man. This avoids the build directory ending up in generated
1366 manual pages.
1367
1246efeb
CW
13682010-06-29 Colin Watson <cjwatson@ubuntu.com>
1369
1370 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1371 to avoid accidents when debugging with 'sh -x'.
1372 * util/grub-mkrescue.in: Likewise.
1373 * util/grub.d/00_header.in: Likewise.
1374 * util/grub.d/10_hurd.in: Likewise.
1375 * util/grub.d/10_kfreebsd.in: Likewise.
1376 * util/grub.d/10_linux.in: Likewise.
1377 * util/grub.d/10_netbsd.in: Likewise.
1378 * util/grub.d/10_windows.in: Likewise.
1379 * util/grub.d/20_linux_xen.in: Likewise.
1380 * util/grub.d/30_os-prober.in: Likewise.
1381 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1382
1ba9b889
CW
13832010-06-29 Colin Watson <cjwatson@ubuntu.com>
1384
1385 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1386 last character in the buffer.
1387 Reported by: Vladimir Serbinenko.
1388
dccaf99d
RM
13892010-06-29 Robert Millan <rmh@gnu.org>
1390
1391 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1392 (Command-line and menu entry commands): Document `badram' command.
1393
d500ed12
RM
13942010-06-28 Robert Millan <rmh@gnu.org>
1395
1396 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1397 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1398 command using ${GRUB_BADRAM} as parameter.
1399
20bc84a6
CW
14002010-06-28 Colin Watson <cjwatson@ubuntu.com>
1401
1402 * docs/grub.texi (Device map): New section.
1403 (Themes): New section (stub).
1404 * Makefile.in (docs/grub.info): The info documentation now builds
1405 without errors. Make sure it stays that way.
1406
4045dee1
VS
14072010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Use normal parser for menu entries.
1410 Reported by: Thomas Frauendorfer
1411
1412 * include/grub/parser.h (grub_parser_execute): Don't export.
1413 * normal/menu.c (grub_menu_execute_entry_real): New function.
1414 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1415
bca58c7b
CW
14162010-06-28 Colin Watson <cjwatson@ubuntu.com>
1417
1418 * docs/grub.texi (Embedded configuration): New section (replacing
1419 old "Preset Menu" stub).
1420 (Images): New section.
1421 (configfile): Note that any menu entries defined in `file' are shown
1422 immediately.
1423
dec53e63
JT
14242010-06-28 Josh Triplett <josh@joshtriplett.org>
1425
1426 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1427
c06e40f7
CW
14282010-06-28 Colin Watson <cjwatson@ubuntu.com>
1429
1430 * util/grub-install.in: Add --debug-image= option.
1431
cb88052b
CW
14322010-06-28 Colin Watson <cjwatson@ubuntu.com>
1433
1434 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1435 possible on Linux.
1436
1437 * util/deviceiter.c (check_device): Rename to ...
1438 (check_device_readable_unique): ... this. Update all callers.
1439 Maintain and check a list of which devices (by canonicalized name)
1440 have already been seen.
1441 (clear_seen_devices): New function.
1442 (compare_file_names) [__linux__]: New function.
1443 (grub_util_iterate_devices): Clear the list of seen devices on exit
1444 and (just in case) on entry.
1445 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1446 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1447 seen-devices list, superseded by general code in check_device.
1448
bbe34652
CW
14492010-06-28 Colin Watson <cjwatson@ubuntu.com>
1450
1451 * commands/cat.c (options): New variable.
1452 (grub_cmd_cat): Parse options. If the --dos option is given, print
1453 DOS-style "\r\n" line endings as simple newlines (Debian bug
1454 #586358).
1455 (GRUB_MOD_INIT): Use extcmd.
1456 (GRUB_MOD_FINI): Likewise.
1457 * docs/grub.texi (cat): Document --dos.
1458
412e09f3
VS
14592010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 XEN with Linux grub-mkconfig support.
1462
1463 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1464 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1465 GRUB_CMDLINE_XEN_DEFAULT.
1466 * util/grub.d/20_linux_xen.in: New file.
1467
53f3ef38 14682010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
1469
1470 Initialise VGA video on qemu ourselves.
1471
1472 * boot/i386/qemu/boot.S: Don't call 0xc000.
1473 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1474 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1475 (kernel_img_HEADERS): Add pci.h.
1476 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1477 * configure.ac: Force unifont on qemu and yeeloong.
1478 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1479 (grub_vga_palette_write): Use correct register.
1480 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1481 Call grub_qemu_init_cirrus.
1482 * kern/i386/qemu/init.c: New file.
1483 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1484
1485 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1486
c75be4fb
PR
14872010-06-26 Pavel Roskin <proski@gnu.org>
1488
1489 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1490 13.
1491
d8034603
CW
14922010-06-26 Colin Watson <cjwatson@ubuntu.com>
1493
1494 * docs/grub.texi (Simple configuration): Explain that
1495 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1496 set to `true' to disable their respective recovery entries, not
1497 merely set.
1498
3fa06487
CW
14992010-06-26 Colin Watson <cjwatson@ubuntu.com>
1500
1501 Make the `source' command slightly faster.
1502
1503 * normal/main.c (grub_normal_execute): Don't re-read list files when
1504 nested.
1505
e9b29642
CW
15062010-06-23 Colin Watson <cjwatson@ubuntu.com>
1507
1508 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1509 field position and mask size to red fields from mode_info, not
1510 green.
1511 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1512 Remove redundant tag->common.framebuffer_type assignment.
1513 Reported by: Seth Goldberg.
1514
e726542f
CW
15152010-06-23 Colin Watson <cjwatson@ubuntu.com>
1516
1517 Sync up other versions of the Linux loader with Robert Millan's
1518 change of 2010-01-09, "Make loader output a bit more user-friendly".
1519
1520 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1521 grub_dprintf().
1522 (grub_cmd_linux): Likewise.
1523 (grub_cmd_initrd): Likewise.
1524 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1525 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1526
d6e98a17
CW
15272010-06-21 Colin Watson <cjwatson@ubuntu.com>
1528
1529 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1530 larger than MEMORY_MAP_SIZE.
1531
14d3f08e
BC
15322010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1533
1534 Fix parallel build.
1535
1536 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1537 dependency.
1538 * script/parser.y: #include grub_script.tab.h header.
1539
4f9613a3
VS
15402010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 Support >3GiB and <16MiB RAM in i386-qemu.
1543
1544 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1545 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1546 (grub_lower_mem): Removed.
1547 (grub_upper_mem): Likewise.
1548 (mem_size): Made static.
1549 (above_4g): New variable.
1550 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1551 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1552 support.
1553
05e51879
VS
15542010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Cirrus 5446 and Bochs video cards support.
1557
1558 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1559 video_bochs.mod
1560 (video_cirrus_mod_SOURCES): New variable.
1561 (video_cirrus_mod_CFLAGS): Likewise.
1562 (video_cirrus_mod_LDFLAGS): Likewise.
1563 (video_bochs_mod_SOURCES): Likewise.
1564 (video_bochs_mod_CFLAGS): Likewise.
1565 (video_bochs_mod_LDFLAGS): Likewise.
1566 * include/grub/vga.h: New file.
1567 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1568 (grub_video_fb_set_page_t): New type.
1569 (grub_video_fb_setup): New prototype.
1570 (grub_video_fb_swap_buffers): Likewise.
1571 (grub_video_fb_get_info_and_fini): Likewise.
1572 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1573 (CRTC_DATA_PORT): Likewise.
1574 (CRTC_CURSOR): Likewise.
1575 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1576 (CRTC_CURSOR_ADDR_LOW): Likewise.
1577 (CRTC_CURSOR_DISABLE): Likewise.
1578 (update_cursor): Use grub_vga_cr_write.
1579 (grub_vga_text_setcursor): Likewise.
1580 * video/bochs.c: New file.
1581 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1582 (palette): Likewise.
1583 (palette_size): Likewise.
1584 (framebuffer): New variable.
1585 (grub_video_fb_init): Use 'framebuffer'.
1586 (grub_video_fb_fini): Likewise.
1587 (grub_video_fb_get_info): Likewise.
1588 (grub_video_fb_get_palette): Likewise.
1589 (grub_video_fb_set_palette): Likewise.
1590 (grub_video_fb_set_viewport): Likewise.
1591 (grub_video_fb_get_viewport): Likewise.
1592 (grub_video_fb_map_color): Likewise.
1593 (grub_video_fb_map_rgb): Likewise.
1594 (grub_video_fb_map_rgba): Likewise.
1595 (grub_video_fb_unmap_color): Likewise.
1596 (grub_video_fb_unmap_color_int): Likewise.
1597 (grub_video_fb_fill_rect): Likewise.
1598 (grub_video_fb_blit_bitmap): Likewise.
1599 (grub_video_fb_blit_render_target): Likewise.
1600 (grub_video_fb_scroll): Likewise.
1601 (grub_video_fb_create_render_target): Likewise.
1602 (grub_video_fb_doublebuf_blit_init): Likewise.
1603 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1604 (doublebuf_pageflipping_update_screen): New function.
1605 (doublebuf_pageflipping_init): Likewise.
1606 (grub_video_fb_setup): Likewise.
1607 (grub_video_fb_swap_buffers): Likewise.
1608 (grub_video_fb_get_info_and_fini): Likewise.
1609 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1610 All users updated.
1611 (doublebuf_pageflipping_commit): Restructured into ...
1612 (doublebuf_pageflipping_set_page): ... this.
1613 (doublebuf_pageflipping_update_screen): Removed.
1614 (doublebuf_pageflipping_init): Likewise.
1615 (double_buffering_init): Likewise.
1616 (grub_video_vbe_setup): Use grub_video_fb_setup.
1617 (grub_video_vbe_swap_buffers): Removed.
1618 (grub_video_vbe_set_active_render_target): Likewise.
1619 (grub_video_vbe_get_active_render_target): Likewise.
1620 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1621 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1622 grub_video_fb_set_active_render_target and
1623 grub_video_fb_get_active_render_target.
1624 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1625 (SEQUENCER_DATA_PORT): Likewise.
1626 (MAP_MASK_REGISTER): Likewise.
1627 (CRTC_ADDR_PORT): Likewise.
1628 (CRTC_DATA_PORT): Likewise.
1629 (START_ADDR_HIGH_REGISTER): Likewise.
1630 (START_ADDR_LOW_REGISTER): Likewise.
1631 (GRAPHICS_ADDR_PORT): Likewise.
1632 (GRAPHICS_DATA_PORT): Likewise.
1633 (READ_MAP_REGISTER): Likewise.
1634 (INPUT_STATUS1_REGISTER): Likewise.
1635 (INPUT_STATUS1_VERTR_BIT): Likewise.
1636 (get_map_mask): Use grub_vga_sr_read.
1637 (set_map_mask): Use grub_vga_sr_write.
1638 (set_read_map): Use grub_vga_gr_write.
1639 (set_start_address): Use grub_vga_cr_write.
1640 * video/sm712.c (framebuffer): Remove leftover fields.
1641
4321c64a
CW
16422010-06-20 Colin Watson <cjwatson@ubuntu.com>
1643
1644 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1645 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1646 instead. Replace the gfxterm backend check with a check that
1647 ${GRUB_PREFIX}/video.lst is non-empty.
1648 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1649 again.
1650 (load_video): New generated function. Call it before loading
1651 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1652 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1653 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1654 * docs/grub.texi (Simple configuration): Document
1655 GRUB_VIDEO_BACKEND.
1656
16572010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 Use video functions in linux and xnu loaders.
1660
1661 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1662 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1663 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1664 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1665 loader/i386/pc/linux.c.
1666 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1667 (find_line_len): Removed.
1668 (find_framebuf): Likewise.
1669 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1670 * loader/i386/efi/xnu.c: Removed.
1671 * loader/i386/pc/xnu.c: Moved from here...
1672 * loader/i386/xnu.c: ...here.
1673
1674 Enable priorities in video drivers.
1675
1676 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1677 (grub_video_adapter): New field prio.
1678 (grub_video_register): Respect prio when inserting.
1679 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1680 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1681 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1682 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1683 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1684 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1685 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1686
1687 Fix SDL driver ID.
1688
1689 * include/grub/video.h (grub_video_driver_id_t): New value
1690 GRUB_VIDEO_DRIVER_SDL.
1691 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1692
7d24e434
CW
16932010-06-17 Colin Watson <cjwatson@ubuntu.com>
1694
1695 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1696 argument to printf.
1697 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1698
c88a83f6
CW
16992010-06-17 Colin Watson <cjwatson@ubuntu.com>
1700
1701 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1702 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1703
094dfb69
CW
17042010-06-17 Colin Watson <cjwatson@ubuntu.com>
1705
1706 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1707 directly, and recommend grub-install instead.
1708 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1709
2164da6b
CW
17102010-06-17 Colin Watson <cjwatson@ubuntu.com>
1711
1712 Fix i386-pc prefix handling with nested partitions (Debian bug
1713 #585068). Note that the case where the core image is booted using
1714 multiboot and relocated from its original location still requires
1715 more work.
1716
1717 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1718 with "(,", fill the boot drive in between those two characters, but
1719 expect that a full partition specification including partition map
1720 names will follow.
1721 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1722 specified, write a prefix without the drive name but including a
1723 full partition specification.
1724
044e2e60
CW
17252010-06-16 Colin Watson <cjwatson@ubuntu.com>
1726
1727 * util/grub-mkconfig.in: Ignore non-option arguments, for
1728 compatibility with older versions (before 2010-06-12) which did the
1729 same. In particular, this makes it easier to ship an update-grub
1730 wrapper which is compatible with that used with GRUB Legacy (Debian
1731 bug #586056).
1732
5591324f
GS
17332010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1734
1735 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1736 for manual page generation.
1737
662e24d5
GS
17382010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1739
1740 * po/POTFILES: Remove leftover commands/handler.c.
1741
8d70754e
CW
17422010-06-14 Colin Watson <cjwatson@ubuntu.com>
1743
1744 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1745 left this script non-functional.
1746
41160e2e
CW
17472010-06-14 Colin Watson <cjwatson@ubuntu.com>
1748
1749 * docs/man/grub-emu.h2m: New file.
1750
b5309cc1
CW
17512010-06-13 Colin Watson <cjwatson@ubuntu.com>
1752
1753 * docs/grub.texi (Commands): Document reduced command set in rescue
1754 mode.
1755 (cpuid): New section.
1756
fcb2d090
GS
17572010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1758
1759 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1760 new partition naming style.
1761 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1762
96e5c556
BC
17632010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1764
1765 Add "-o grub.iso" like cmdline options support.
1766
1767 * util/grub-install.in: Improve cmdline option parsing.
1768 * util/grub-mkconfig.in: Likewise.
1769 * util/grub-mkrescue.in: Likewise.
1770 * util/grub-reboot.in: Likewise.
1771 * util/grub-set-default.in: Likewise.
1772 * util/i386/efi/grub-install.in: Likewise.
1773 * util/ieee1275/grub-install.in: Likewise.
1774 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1775
c16be99b
CW
17762010-06-12 Colin Watson <cjwatson@ubuntu.com>
1777
1778 * .bzrignore: Ignore 41_custom.
1779
ce08a9fb
TS
17802010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1781
1782 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1783
7beac90c
CW
17842010-06-12 Colin Watson <cjwatson@ubuntu.com>
1785
1786 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1787 prototype declarations.
1788
1789 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1790 generating fs, partmap, and video lists.
1791 * include/grub/fs.h (grub_fs_register): Omit prototype if
1792 GRUB_LST_GENERATOR is defined.
1793 * include/grub/partition.h (grub_partition_map_register): Likewise.
1794 * include/grub/video.h (grub_video_register): Likewise.
1795
1c8f0f8d
JM
17962010-06-12 Javier Martín <lordhabbit@gmail.com>
1797
1798 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1799
a6085973
TS
18002010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1801
1802 * util/grub-mkrescue.in: Support --xorriso argument.
1803
25c56d29
VS
18042010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1807 Suggested by: Thomas Schmitt.
1808
e03e4b24
VS
18092010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1812 Suggested by: Thomas Schmitt.
1813
57711df6
VS
18142010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 custom.cfg support.
1817
1818 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1819 * util/grub.d/41_custom.in: New file.
1820
ee62c427
CW
18212010-06-12 Colin Watson <cjwatson@ubuntu.com>
1822
1823 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1824 been merged back into normal.
1825
283af07a
CW
18262010-06-11 Colin Watson <cjwatson@ubuntu.com>
1827
1828 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1829 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1830
56a0d956
CW
18312010-06-11 Colin Watson <cjwatson@ubuntu.com>
1832
1833 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1834 when generating manual pages.
1835 * docs/man/grub-bin2h.h2m: New file.
1836 * docs/man/grub-editenv.h2m: New file.
1837 * docs/man/grub-fstest.h2m: New file.
1838 * docs/man/grub-install.h2m: New file.
1839 * docs/man/grub-macho2img.h2m: New file.
1840 * docs/man/grub-mkconfig.h2m: New file.
1841 * docs/man/grub-mkdevicemap.h2m: New file.
1842 * docs/man/grub-mkfont.h2m: New file.
1843 * docs/man/grub-mkimage.h2m: New file.
1844 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1845 * docs/man/grub-mkrelpath.h2m: New file.
1846 * docs/man/grub-mkrescue.h2m: New file.
1847 * docs/man/grub-ofpathname.h2m: New file.
1848 * docs/man/grub-pe2elf.h2m: New file.
1849 * docs/man/grub-probe.h2m: New file.
1850 * docs/man/grub-reboot.h2m: New file.
1851 * docs/man/grub-script-check.h2m: New file.
1852 * docs/man/grub-set-default.h2m: New file.
1853 * docs/man/grub-setup.h2m: New file.
1854
3a37e322
VS
18552010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Use FOR_* macros instead of *_iterate whenever possible.
1858
1859 * commands/handler.c: Removed.
1860 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1861 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1862 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1863 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1864 (grub_probe_SOURCES): Remove kern/parser.c.
1865 (util/grub-script-check.c_DEPENDENCIES): Removed.
1866 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1867 and grub_script_check_init.c.
1868 (grub_script_check_init.lst): Removed.
1869 (grub_script_check_init.h): Likewise.
1870 (grub_script_check_init.c): Likewise.
1871 (pkglib_MODULES): Remove handler.mod and sh.mod.
1872 (handler_mod_SOURCES): Removed.
1873 (handler_mod_CFLAGS): Likewise.
1874 (handler_mod_LDFLAGS): Likewise.
1875 (normal_mod_SOURCES): Remove normal/handler.c.
1876 Add script/main.c, script/script.c, script/execute.c,
1877 script/function.c, script/lexer.c, grub_script.tab.c
1878 and grub_script.yy.c.
1879 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1880 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1881 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1882 (grub_setup_SOURCES): Remove kern/parser.c.
1883 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1884 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1885 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1886 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1887 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1888 (grub_setup_SOURCES): Remove kern/parser.c.
1889 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1890 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1891 * include/grub/command.h (grub_command_iterate): Removed.
1892 (FOR_COMMANDS): New macro.
1893 * include/grub/dl.h (grub_dl): New member next.
1894 (grub_dl_iterate): Removed.
1895 (grub_dl_head): New variable declaration.
1896 (FOR_DL_MODULES): New macro.
1897 * include/grub/fs.h: Include list.h.
1898 (grub_fs): Make next first element.
1899 (grub_fs_list): New variable declaration.
1900 (grub_fs_register): Make inline.
1901 (grub_fs_unregister): Likewise.
1902 (grub_fs_iterate): Removed.
1903 (FOR_FILESYSTEMS): New macro.
1904 * include/grub/handler.h: Removed.
1905 * include/grub/list.h (grub_list_hook_t): Removed.
1906 (grub_list_test_t): Likewise.
1907 (grub_list_pop): Likewise.
1908 (grub_list_iterate): Likewise.
1909 (grub_list_insert): Likewise.
1910 (FOR_LIST_ELEMENTS): New macro.
1911 * include/grub/parser.h (grub_parser_class): Removed.
1912 (grub_parser_register): Likewise.
1913 (grub_parser_unregister): Likewise.
1914 (grub_parser_get_current): Likewise.
1915 (grub_parser_set_current): Likewise.
1916 (grub_register_rescue_parser): Likewise.
1917 (grub_rescue_parse_line): New function.
1918 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1919 * include/grub/script_sh.h (grub_script_function_list): New variable
1920 declaration.
1921 (FOR_SCRIPT_FUNCTIONS): New macro.
1922 (grub_script_function_iterate): Removed.
1923 (grub_normal_parse_line): New prototype.
1924 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1925 (FOR_DISABLED_TERM_INPUTS): Likewise.
1926 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1927 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1928 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1929 element.
1930 (grub_video_register): Inline.
1931 (grub_video_unregister): Likewise.
1932 (grub_video_adapter_list): New variable declaration.
1933 (grub_video_iterate): Removed.
1934 (FOR_VIDEO_ADAPTERS): New macro.
1935 * kern/dl.c (grub_dl_list): Removed. All users updated.
1936 (grub_dl_iterate): Removed.
1937 * kern/fs.c (grub_fs_list): Make global.
1938 (grub_fs_register): Removed.
1939 (grub_fs_unregister): Likewise.
1940 (grub_fs_iterate): Likewise.
1941 * kern/handler.c: Removed.
1942 * kern/list.c (grub_list_pop): Removed.
1943 (grub_list_iterate): Likewise.
1944 (grub_list_insert): Likewise.
1945 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1946 (grub_prio_list_insert): Don't use grub_list_insert.
1947 * kern/main.c (grub_register_rescue_parser): Don't call
1948 grub_register_rescue_parser.
1949 * kern/parser.c (grub_parser_class): Removed.
1950 (grub_parser_execute): Use grub_rescue_parse_line.
1951 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1952 (grub_rescue_parser): Removed.
1953 (grub_register_rescue_parser): Likewise.
1954 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1955 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1956 (grub_auth_check_authentication): Likewise.
1957 * normal/completion.c (iterate_command): Removed.
1958 (grub_normal_do_completion): Use FOR_COMMANDS.
1959 * normal/handler.c: Removed.
1960 * normal/main.c (read_config_file): Remove parser changing.
1961 (grub_normal_execute): Don't call read_handler_list.
1962 (grub_normal_read_line_real): Statically allocate prompt.
1963 (grub_cmdline_run): Use grub_normal_parse_line.
1964 (GRUB_MOD_FINI): Don't call free_handler_list.
1965 * normal/menu_entry.c (run): Likewise.
1966 * script/function.c (grub_script_function_list): Make global.
1967 (grub_script_function_iterate): Removed.
1968 * script/main.c (grub_normal_parse_line): Make global.
1969 (grub_sh_parser): Removed.
1970 (GRUB_MOD_INIT): Likewise.
1971 (GRUB_MOD_FINI): Likewise.
1972 * tests/lib/functional_test.c (grub_functional_test): Use
1973 FOR_LIST_ELEMENTS.
1974 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1975 (grub_test_run): Use FOR_LIST_ELEMENTS.
1976 * tests/lib/unit_test.c (main): Likewise.
1977 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1978 grub_list_pop.
1979 * util/grub-fstest.c (grub_term_input_class): Removed.
1980 (grub_term_output_class): Likewise.
1981 * util/grub-probe.c: Likewise.
1982 * util/i386/pc/grub-setup.c: Likewise.
1983 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1984 * util/grub-script-check.c (main): Don't call grub_init_all and
1985 grub_fini_all.
1986 * video/video.c (grub_video_adapter_list): Make global.
1987 (grub_video_register): Removed.
1988 (grub_video_unregister): Likewise.
1989 (grub_video_iterate): Likewise.
1990
6289c3a7
VS
19912010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1994 reported by Henrique Ferreiro.
1995
91460247
RM
19962010-06-09 Robert Millan <rmh@gnu.org>
1997
1998 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1999 ones, when both are available.
2000
0ea7c4f9
GS
20012010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2002
2003 Make --version uniform and avoid hard-coded program name.
2004
2005 * util/grub-mkimage.c (main): Use `program_name' instead of
2006 hard-coded string.
2007 * util/i386/pc/grub-setup.c (main): Likewise.
2008 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
2009 * util/grub-install.in: Save the basename of $0 in $self, and use the
2010 latter in informational messages. Use the same format for --version
2011 as the binary programs.
2012 * util/grub-mkconfig.in: Likewise.
2013 * util/grub-mkrescue.in: Likewise.
2014 * util/grub-reboot.in: Likewise.
2015 * util/grub-set-default.in: Likewise.
2016 * util/i386/efi/grub-install.in: Likewise.
2017 * util/ieee1275/grub-install.in: Likewise.
2018 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2019
e8a6f3b6
GS
20202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2021
2022 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
2023 embedding area. Use <= instead of == when checking for non-emptiness.
2024
f4d095d7
GS
20252010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2026
2027 * configure.ac: Add `.' to the directories searched for unifont.
2028
50e532ca
CW
20292010-06-08 Colin Watson <cjwatson@ubuntu.com>
2030
2031 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
2032 grub_script.yy.h.
2033
d39f3dec
CW
20342010-06-08 Colin Watson <cjwatson@ubuntu.com>
2035
2036 * docs/grub.texi (History): Expand to cover GRUB 2.
2037 (Serial terminal): Refer to `terminal_input' and `terminal_output'
2038 commands, not `terminal'.
2039 (serial): Likewise.
2040 (terminal_input): New section.
2041 (terminal_output): New section.
2042 (uppermem): New section (stub).
2043 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
2044
6ef0ddb4
CW
20452010-06-08 Colin Watson <cjwatson@ubuntu.com>
2046
2047 * docs/grub.texi (Security): Menu entries are unrestricted by
2048 default, not restricted to superusers as I had previously thought.
2049 Reword to account for this.
2050
e0f4c438
CW
20512010-06-07 Colin Watson <cjwatson@ubuntu.com>
2052
2053 * kern/emu/misc.c (device_mapper_null_log): New function.
2054 (grub_device_mapper_supported): New function.
2055 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
2056 prototype.
2057 * kern/emu/hostdisk.c (find_partition_start): Check whether
2058 device-mapper is supported before trying to use it.
2059 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
2060
da908200
CW
20612010-06-07 Colin Watson <cjwatson@ubuntu.com>
2062
2063 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
2064 (File name syntax): Likewise.
2065 (help): --all is no longer supported in GRUB 2. Be more precise
2066 about pattern matching.
2067
fb55c3ac
CW
20682010-06-07 Colin Watson <cjwatson@ubuntu.com>
2069
2070 * normal/completion.c (grub_normal_do_completion): When completing
2071 arguments to "set" and the current word contains an equals sign,
2072 skip to after the equals sign before starting completion.
2073
258c2573
CW
20742010-06-07 Colin Watson <cjwatson@ubuntu.com>
2075
2076 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
2077
ee75515e
CW
20782010-06-07 Colin Watson <cjwatson@ubuntu.com>
2079
2080 * docs/grub.texi (Network): New section.
2081 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
2082 `(nd)' as in GRUB Legacy.
2083 (pxe_unload): New section.
2084
a6a700aa
CW
20852010-06-07 Colin Watson <cjwatson@ubuntu.com>
2086
2087 * docs/grub.texi (Troubleshooting): `echo' is not usually available
2088 in the rescue shell, so recommend using `set' instead. Thanks,
2089 Jordan Uggla.
2090
4003dd38
CW
20912010-06-07 Colin Watson <cjwatson@ubuntu.com>
2092
2093 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
2094 (password): New section.
2095 (password_pbkdf2): New section.
2096 (search): New section.
2097 (Security): New section.
2098 (Troubleshooting): New section, currently very incomplete.
2099 (Invoking grub-mkpasswd-pbkdf2): New section.
2100 (Internals): New section, currently very incomplete.
2101
e1cbcc40
CW
21022010-06-07 Colin Watson <cjwatson@ubuntu.com>
2103
2104 * util/grub.d/00_header.in: Add some more quoting (of
2105 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
2106 work again.
2107 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
2108
db8fa1ad
CW
21092010-06-07 Colin Watson <cjwatson@ubuntu.com>
2110
2111 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
2112 to `count', fixing variable shadowing that broke the -c option.
2113
21142010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
2115
2116 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
2117 in case they contain spaces.
2118
f28a9212
CW
21192010-06-04 Colin Watson <cjwatson@ubuntu.com>
2120
2121 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
2122 "part_" to partmap module names, in line with grub-install.
2123 Reported by: Jindřich Makovička (Debian bug #584426).
2124
9cdfe32f
CW
21252010-06-04 Colin Watson <cjwatson@ubuntu.com>
2126
2127 * util/grub-mkimage.c: Make target-related error messages slightly
2128 more helpful; -O talks about "format". Explicitly point to the use
2129 of -O if no target is specified.
2130 Reported by: Didier Raboud (Debian bug #584415).
2131
795b593a
CW
21322010-06-03 Colin Watson <cjwatson@ubuntu.com>
2133
2134 * INSTALL: Document several build requirements for optional features
2135 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
2136
9d9b5833
GS
21372010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2138
2139 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
2140 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
2141 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
2142
0819fec8
CW
21432010-06-02 Colin Watson <cjwatson@ubuntu.com>
2144
2145 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
2146 Thanks to Jordan Uggla for spotting this.
2147
49396b4f
VS
21482010-06-02 Aleš Nesrsta <starous@volny.cz>
2149
2150 Finally make USB usable.
2151
2152 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
2153 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
2154 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
2155 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
2156 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
2157 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
2158 (GRUB_OHCI_FSMPS): Likewise.
2159 (GRUB_OHCI_PERIODIC_START): Likewise.
2160 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
2161 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
2162 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
2163 (GRUB_OHCI_SET_PORT_RESET): Likewise.
2164 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
2165 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
2166 (grub_ohci_transaction): Likewise.
2167 (grub_ohci_transfer): Improve condition detection algorithms.
2168 Handle toggle property. Program the transactions correctly.
2169 Improve error handling. Various important fixups.
2170 (grub_ohci_portstatus): Put register writes in right order.
2171 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
2172 (grub_uhci_transfer): Don't show "failed" message on success.
2173 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
2174 array.
2175 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
2176 determine its size.
2177 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
2178 before initialization is completed. Use IN direction for empty
2179 transfers. Use last_trans and compute toggle.
2180 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
2181 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
2182 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
2183 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
2184 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
2185 (grub_usb_device): Increase toggle to 256.
2186 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
2187 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
2188 GRUB_USBMS_SUBCLASS_SFF8070.
2189 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
2190 (grub_scsi_inquiry): New member page and alloc_length.
2191 (grub_scsi_request_sense): New structure.
2192 (grub_scsi_request_sense_data): Likewise.
2193 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
2194 control.
2195 * disk/scsi.c (grub_scsi_request_sense): New function.
2196 (grub_scsi_test_unit_ready): Likewise.
2197 (grub_scsi_inquiry): Fill new fields.
2198 (grub_scsi_read_capacity): Likewise.
2199 (grub_scsi_read10): Add request sense at the end.
2200 (grub_scsi_read12): Likewise.
2201 (grub_scsi_write10): Likewise.
2202 (grub_scsi_write12): Likewise.
2203 (grub_scsi_open): Add Test Unit Ready.
2204 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
2205 Support additional subclasses. Con't clear halt yet. Activate the
2206 proper config. Calculate LUNs correctly.
2207 (grub_usbms_transfer): Various important fixups.
2208
22092010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
2212 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
2213 (grub_ohci_fini_hw): New function.
2214 (grub_ohci_restore_hw): Likewise.
2215 (GRUB_MOD_INIT(ohci)): Register preboot hook.
2216 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
2217 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
2218
22192010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 Dedicated DMA allocations.
2222
2223 * bus/pci.c (grub_memalign_dma32): New function
2224 (grub_dma_free): Likewise.
2225 (grub_dma_get_virt): Likewise.
2226 (grub_dma_get_phys): Likewise.
2227 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
2228 (grub_ohci_pci_iter): Use dma32_alloc.
2229 (grub_ohci_transfer): Likewise.
2230 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2231 (grub_usb_bulk_readwrite): Likewise.
2232 * include/grub/pci.h: Add declarations.
2233
22342010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 CS5536 support.
2237
2238 * bus/cs5536.c: New file.
2239 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
2240 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
2241 (cs5536_mod_SOURCES): New variable.
2242 (cs5536_mod_CFLAGS): Likewise.
2243 (cs5536_mod_LDFLAGS): Likewise.
2244 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
2245 machine/pci.h.
2246 (kernel_img_SOURCES): Add bus/cs5536.c.
2247 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
2248 usb_keyboard.mod.
2249 (usb_mod_SOURCES): New variable.
2250 (usb_mod_CFLAGS): New variable.
2251 (usb_mod_LDFLAGS): New variable.
2252 (usbtest_mod_SOURCES): New variable.
2253 (usbtest_mod_CFLAGS): New variable.
2254 (usbtest_mod_LDFLAGS): New variable.
2255 (ohci_mod_SOURCES): New variable.
2256 (ohci_mod_CFLAGS): New variable.
2257 (ohci_mod_LDFLAGS): New variable.
2258 (usbms_mod_SOURCES): New variable.
2259 (usbms_mod_CFLAGS): New variable.
2260 (usbms_mod_LDFLAGS): New variable.
2261 (usb_keyboard_mod_SOURCES): New variable.
2262 (usb_keyboard_mod_CFLAGS): New variable.
2263 (usb_keyboard_mod_LDFLAGS): New variable.
2264 * include/grub/smbus.h: New file.
2265 * include/grub/cs5536.h: New file.
2266
0b35b2a9
CW
22672010-06-02 Colin Watson <cjwatson@ubuntu.com>
2268
2269 * util/grub.d/00_header.in: Add safety check to make sure that
2270 ${locale_dir} exists before trying to probe it.
2271
ca0afd5b
CW
22722010-06-02 Colin Watson <cjwatson@ubuntu.com>
2273
2274 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
2275 per the GNU Coding Standards; this is now too obscure to be worth
2276 documenting.
2277 (QNX): Likewise.
2278 (chainloader): Remove cross-reference to `SCO UnixWare'.
2279
1c41aa78
CW
22802010-06-02 Colin Watson <cjwatson@ubuntu.com>
2281
2282 * docs/grub.texi (Chain-loading): New section.
2283 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2284 adjusted for GRUB 2.
2285 (SCO UnixWare): Likewise.
2286 (QNX): Likewise.
2287 (chainloader): Add reference to `Block list syntax'.
2288 (drivemap): New section.
2289 (parttool): New section.
2290
bb8ea0f5
CW
22912010-06-02 Colin Watson <cjwatson@ubuntu.com>
2292
2293 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2294 the grub shell'.
2295 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2296 (Installing GRUB using grub-install): Remove reference to the grub
2297 shell; mention `grub-mkimage' and `grub-setup' instead.
2298 (Invoking grub-install): Likewise.
2299 (Interface): Add reference to `Menu entry editor'.
2300 (serial): Remove `--device' option.
2301
288dd6ed
CW
23022010-06-02 Colin Watson <cjwatson@ubuntu.com>
2303
2304 * docs/grub.texi (Configuration): New section, documenting
2305 configuration file generation using grub-mkconfig. I've left a slot
2306 for documenting the full shell scripting format but have not yet
2307 started on writing that up.
2308 (Invoking grub-mkconfig): New section.
2309
34c9f0e9
CW
23102010-06-02 Colin Watson <cjwatson@ubuntu.com>
2311
2312 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2313 (GNU GRUB manual): Likewise.
2314 (General commands): Update description of `terminfo' for GRUB 2.
2315
9121567e
CW
23162010-06-02 Colin Watson <cjwatson@ubuntu.com>
2317
2318 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2319 (GRUB_MOD_INIT): Fix capitalisation.
2320 * docs/grub.texi (Command-line and menu entry commands): Document
2321 gettext and gptsync commands.
2322
ab631611
CW
23232010-06-02 Colin Watson <cjwatson@ubuntu.com>
2324
2325 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2326 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2327
bde4a9ac
CW
23282010-06-01 Colin Watson <cjwatson@ubuntu.com>
2329
2330 Add btrfs probing support, currently only in the single-device case.
2331
2332 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2333 function.
2334 (grub_guess_root_device): Call find_root_device_from_mountinfo
2335 before looking in /dev.
2336
b1d17e10
VS
23372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2340 GRUB_DISK_SIZE_UNKNOWN.
2341 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2342
dfbfe004
JS
23432010-05-31 Jiro SEKIBA <jir@unicus.jp>
2344
2345 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2346 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2347 corrupted or not synced properly.
2348
c2ffc8e9
VS
23492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2352 Reported by: Seth Goldberg.
2353
56293166
VS
23542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2357 addition of dest.
2358 Reported by: Seth Goldberg.
2359
7620e7de
VS
23602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2363 Reported by: Seth Goldberg.
2364
c837af3f
VS
23652010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2368 64-bit address as signed on MIPS.
2369
c7c75cf4
CW
23702010-05-28 Colin Watson <cjwatson@ubuntu.com>
2371
2372 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2373 to the empty string.
2374
fa4b8490
BC
23752010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2376
2377 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2378
2379 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2380 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2381 * kern/misc.c (__enable_execute_stack): Disable on
2382 GRUB_MACHINE_EMU.
2383
a33075b9
CW
23842010-05-28 Colin Watson <cjwatson@ubuntu.com>
2385
2386 Make grub-probe work with symbolic links under /dev/mapper as well
2387 as with real block devices. The Linux world seems to be (at best)
2388 in transition here, and GRUB shouldn't get caught in the middle.
2389
2390 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2391 /dev/mapper.
2392
d8708134
CW
23932010-05-27 Colin Watson <cjwatson@ubuntu.com>
2394
2395 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2396 input files (in which case exit zero).
2397
db2102a0
CW
23982010-05-27 Colin Watson <cjwatson@ubuntu.com>
2399
2400 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2401 return NULL for various reasons even if it has a maximum-length
2402 buffer: for example, there might be a symlink loop, or the path
2403 might exceed PATH_MAX. If this happens, return NULL.
2404
5fdba519
RM
24052010-05-27 Robert Millan <rmh@gnu.org>
2406
2407 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2408 partmap module to handle cross-partmap setups.
2409 Reported by Orestes Mas. Gràcies!
2410
d1d368e4
CW
24112010-05-27 Colin Watson <cjwatson@ubuntu.com>
2412
2413 * util/grub-mkrescue.in: Initialise override_dir rather than
2414 assuming that it's unset or empty in the environment.
2415
95ac3c73
GS
24162010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2417
2418 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2419 variable index into p_index to suppress a warning with -Wshadow.
2420
7d8c0213
BC
24212010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2422
2423 * INSTALL: Added flex >= 2.5.35 requirement.
2424
db4d5813
VS
24252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2428
f24f4300
VS
24292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 cmostest support.
2432
2433 * commands/i386/cmostest.c: New file.
2434 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2435 (cmostest_mod_SOURCES): New variable.
2436 (cmostest_mod_CFLAGS): Likewise.
2437 (cmostest_mod_LDFLAGS): Likewise.
2438 * conf/i386-pc.rmk: Likewise.
2439 * docs/grub.texi (Vendor power-on keys): New section.
2440 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2441 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2442 and GRUB_BUTTON_CMOS_ADDRESS.
2443 * util/grub.d/00_header.in: Handle powering-on by separate button.
2444
ad603f61
VS
24452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2448 Removed drawing_scrollbar argument. All users updated
2449 Fixes #29792.
2450 Reported by Jo Shields
2451
3ecb080a
VS
24522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2455 buffer since gfxterm handles double repaint.
2456
5f2316c1
VS
24572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2460 * term/gfxterm.c (real_scroll): Likewise.
2461
9a25f885
VS
24622010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2465 before calling BIOS.
2466
39fbb79a
VS
24672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * include/grub/i18n.h: Always enable grub_gettext.
2470
228cfa97
VS
24712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2474 partition naming style.
2475
21717c8f
CW
24762010-05-21 Colin Watson <cjwatson@ubuntu.com>
2477
2478 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2479 not the first option.
2480
c0f48e65
CW
24812010-05-20 Colin Watson <cjwatson@ubuntu.com>
2482
2483 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2484
96779aec
CW
24852010-05-20 Colin Watson <cjwatson@ubuntu.com>
2486
2487 * util/misc.c: Move inclusion of <limits.h> to ...
2488 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2489
fa9d256e
GS
24902010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2491
2492 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2493 Fix merge error in NetBSD code.
2494 (find_partition_start) [__NetBSD__]: Likewise.
2495
123b7a85
BC
24962010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2497
2498 Fix grub-mkrescue usage unit testing.
2499
2500 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2501
74276c0d
CF
25022010-05-18 Christian Franke <franke@computer.org>
2503
2504 * util/grub.d/10_windows.in: Use path names instead of
2505 drive letters to prevent warning from Cygwin 1.7.
2506 Add drivemap command to menuentry if needed.
2507
c4f7b523
ST
25082010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2509
2510 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2511 gnumach and gnumach.gz.
2512
95b97950
VS
25132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * include/grub/i18n.h (gettext): Inline instead of using #define.
2516 (grub_gettext): Likewise.
2517 (_): Likewise.
2518
01b8d2d7
VS
25192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2522 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2523 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2524 (main): Add a slash after pkglibdirroot.
2525
654e1d1e
VS
25262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * util/grub-install.in: Add missing "in" keyword.
2529
26966aeb
VS
25302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2533 Reported by: Seth Goldberg.
2534
75006747
VS
25352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2538
74cbf5bd
CW
25392010-05-18 Colin Watson <cjwatson@ubuntu.com>
2540
2541 * configure.ac: Check for Linux device-mapper support.
2542
2543 * util/hostdisk.c (device_is_mapped): New function.
2544 (find_partition_start): New function, partly broken out from
2545 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2546 device-mapper support added.
2547 (linux_find_partition): Use find_partition_start.
2548 (convert_system_partition_to_system_disk): Add `st' argument.
2549 Support Linux /dev/mapper/* devices if device-mapper support is
2550 available; only DM-RAID devices are understood at present.
2551 (find_system_device): Add `st' argument. Pass it to
2552 convert_system_partition_to_system_disk.
2553 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2554 find_system_device and convert_system_partition_to_system_disk. Use
2555 find_partition_start.
2556
2557 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2558 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2559 * util/deviceiter.c [__linux__]: Define MINOR.
2560 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2561 * util/mkdevicemap.c (grub_putchar): New function.
2562 (grub_getkey): New function.
2563 (grub_refresh): New function.
2564 (main): Set debug=all if -v -v is used.
2565
355b51e9
CW
25662010-05-18 Colin Watson <cjwatson@ubuntu.com>
2567
2568 Fix build with non-GNU libcs.
2569
2570 * util/misc.c (canonicalize_file_name): Move to ...
2571 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2572 grub_make_system_path_relative_to_its_root.
2573
7fb5c25f
CW
25742010-05-18 Colin Watson <cjwatson@ubuntu.com>
2575
2576 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2577 we handle finding grub-mkimage. Default to finding grub-mkimage in
2578 ${bindir} with program_transform_name applied, and provide a
2579 --grub-mkimage option to override this.
2580
1d3293d6
VS
25812010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 Remove grub-mkisofs.
2584
2585 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2586 (grub_mkisofs_SOURCES): Removed.
2587 (grub_mkisofs_CFLAGS): Removed.
2588 * util/mkisofs/defaults.h: Removed.
2589 * util/mkisofs/eltorito.c: Likewise.
2590 * util/mkisofs/exclude.h: Likewise.
2591 * util/mkisofs/hash.c: Likewise.
2592 * util/mkisofs/include/: Likewise.
2593 * util/mkisofs/include/fctldefs.h: Likewise.
2594 * util/mkisofs/include/mconfig.h: Likewise.
2595 * util/mkisofs/include/prototyp.h: Likewise.
2596 * util/mkisofs/include/statdefs.h: Likewise.
2597 * util/mkisofs/iso9660.h: Likewise.
2598 * util/mkisofs/joliet.c: Likewise.
2599 * util/mkisofs/match.c: Likewise.
2600 * util/mkisofs/match.h: Likewise.
2601 * util/mkisofs/mkisofs.c: Likewise.
2602 * util/mkisofs/mkisofs.h: Likewise.
2603 * util/mkisofs/msdos_partition.h: Likewise.
2604 * util/mkisofs/multi.c: Likewise.
2605 * util/mkisofs/name.c: Likewise.
2606 * util/mkisofs/rock.c: Likewise.
2607 * util/mkisofs/tree.c: Likewise.
2608 * util/mkisofs/write.c: Likewise.
2609
5dde9afe
VS
26102010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 Unify grub-mkimage accross platforms.
2613
2614 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2615 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2616 (grub_mkelfimage_SOURCES): Removed.
2617 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2618 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2619 (bin_UTILITIES): Add grub-mkimage.
2620 (grub_mkimage_SOURCES): New variable.
2621 (kernel_img_HEADERS): Remove machine/kernel.h.
2622 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2623 (pkglib_PROGRAMS): Add kernel.img.
2624 (kernel_img_HEADERS): Add machine/kernel.h.
2625 (kernel_img_FORMAT): Removed.
2626 (bin_UTILITIES): Remove grub-mkimage.
2627 (grub_mkimage_SOURCES): Removed.
2628 (grub_mkimage_CFLAGS): Likewise.
2629 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2630 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2631 (pkglib_PROGRAMS): Add kernel.img.
2632 (bin_UTILITIES): Remove grub-mkimage.
2633 (grub_mkimage_SOURCES): Removed.
2634 (grub_mkimage_CFLAGS): Likewise.
2635 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2636 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2637 (pkglib_PROGRAMS): Add kernel.img.
2638 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2639 (pkglib_PROGRAMS): Add kernel.img.
2640 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2641 (grub_mkimage_SOURCES): Removed.
2642 (grub_mkimage_CFLAGS): Likewise.
2643 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2644 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2645 (pkglib_PROGRAMS): Add kernel.img.
2646 (bin_UTILITIES): Remove grub-mkimage.
2647 (grub_mkimage_SOURCES): Removed.
2648 (grub_mkimage_CFLAGS): Likewise.
2649 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2650 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2651 (grub_mkimage_SOURCES): Removed.
2652 (grub_mkimage_CFLAGS): Likewise.
2653 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2654 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2655 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2656 (grub_pe32_optional_header): ... this.
2657 (grub_pe64_optional_header): ... and this. All users updated.
2658 (GRUB_PE32_PE32_MAGIC): Split into ..
2659 (GRUB_PE32_PE32_MAGIC): .. this.
2660 (GRUB_PE32_PE64_MAGIC): .. and this.
2661 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2662 * include/grub/elf.h (PT_GNU_STACK): New definition.
2663 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2664 * include/grub/i386/efi/kernel.h: Likewise.
2665 * include/grub/i386/kernel.h: Likewise.
2666 * include/grub/i386/pc/kernel.h: Likewise.
2667 * include/grub/i386/qemu/boot.h: Likewise.
2668 * include/grub/mips/kernel.h: Likewise.
2669 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2670 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2671 * include/grub/powerpc/kernel.h: Likewise.
2672 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2673 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2674 * include/grub/sparc64/kernel.h: Likewise.
2675 * include/grub/x86_64/efi/kernel.h: Likewise.
2676 * include/grub/x86_64/kernel.h: Likewise.
2677 * include/grub/offsets.h: New file.
2678 * include/grub/kernel.h (grub_module_info): Split into ...
2679 (grub_module_info32): ... this.
2680 (grub_module_info64): ... and this.
2681 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2682 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2683 (grub_boot_blocklist): Moved from here ...
2684 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2685 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2686 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2687 * include/grub/types.h (grub_target_to_host16): Removed.
2688 (grub_target_to_host32): Likewise.
2689 (grub_target_to_host64): Likewise.
2690 (grub_host_to_target16): Likewise.
2691 (grub_host_to_target32): Likewise.
2692 (grub_host_to_target64): Likewise.
2693 (grub_host_to_target_addr): Likewise.
2694
2695 Support grub-mkrescue for efi, coreboot and qemu.
2696
2697 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2698 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2699 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2700 * util/grub-mkrawimage.c: Moved from here ...
2701 * util/grub-mkimage.c: ... here. All users updated.
2702 (ALIGN_ADDR): Use image_target.
2703 (TARGET_NO_FIELD): New const.
2704 (image_target_desc): New type.
2705 (image_targets): New array.
2706 (grub_target_to_host64): Use image_target.
2707 (grub_target_to_host32): Likewise.
2708 (grub_target_to_host16): Likewise.
2709 (grub_host_to_target64): Likewise.
2710 (grub_host_to_target32): Likewise.
2711 (grub_host_to_target16): Likewise.
2712 (grub_host_to_target_addr): Likewise.
2713 (generate_image): Handle multiimage.
2714 (main): Require -O parameter. All users updated.
2715 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2716 util/efi/grub-mkimage.c
2717 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2718 New option --rom-directory.
2719 Use xorriso.
2720 * util/i386/efi/grub-mkimage.c: Removed.
2721 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2722 (grub_target_to_host32): Likewise.
2723 (grub_target_to_host64): Likewise.
2724 (grub_host_to_target16): Likewise.
2725 (grub_host_to_target32): Likewise.
2726 (grub_host_to_target64): Likewise.
2727 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2728 (grub_target_to_host32): Likewise.
2729 (grub_target_to_host64): Likewise.
2730 (grub_host_to_target16): Likewise.
2731 (grub_host_to_target32): Likewise.
2732 (grub_host_to_target64): Likewise.
2733
f4fc97d0
BC
27342010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2735
2736 Source tree is reorganized for emu build.
2737
2738 * include/grub/util/console.h: Move from here...
2739 * include/grub/emu/console.h: ...to here.
2740 * include/grub/util/getroot.h: Move from here...
2741 * include/grub/emu/getroot.h: ...to here.
2742 * include/grub/util/hostdisk.h: Move from here...
2743 * include/grub/emu/hostdisk.h: ...to here.
2744 * util/console.c: Move from here...
2745 * kern/emu/console.c: ...to here.
2746 * util/getroot.c: Move from here...
2747 * kern/emu/getroot.c: ...to here.
2748 * util/grub-emu.c: Move from here...
2749 * kern/emu/main.c: ...to here.
2750 * util/hostdisk.c: Move from here...
2751 * kern/emu/hostdisk.c: ...to here.
2752 * util/hostfs.c: Move from here...
2753 * kern/emu/hostfs.c: ...to here.
2754 * util/mm.c: Move from here...
2755 * kern/emu/mm.c: ...to here.
2756 * util/pci.c: Move from here...
2757 * bus/emu/pci.c: ...to here.
2758 * util/sdl.c: Move from here...
2759 * video/emu/sdl.c: ...to here.
2760 * util/time.c: Move from here...
2761 * kern/emu/time.c: ...to here.
2762 * util/usb.c: Move from here...
2763 * bus/usb/emu/usb.c: ...to here.
2764
2765 * include/grub/emu/misc.h: New header for grub-emu functions.
2766 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2767
2768 * conf/any-emu.rmk: Rule updates for above renames.
2769 * conf/common.rmk: Likewise.
2770 * conf/i386-pc.rmk: Likewise.
2771 * conf/i386-qemu.rmk: Likewise.
2772 * conf/mips.rmk: Likewise.
2773 * conf/sparc64-ieee1275.rmk: Likewise.
2774 * conf/x86-efi.rmk: Likewise.
2775
2776 * disk/lvm.h: #include updates for above renames.
2777 * util/grub-mkrelpath.c: Likewise.
2778 * util/grub-probe.c: Likewise.
2779 * util/i386/pc/grub-setup.c: Likewise.
2780 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2781 * kern/emu/console.c: Likewise.
2782 * kern/emu/getroot.c: Likewise.
2783 * kern/emu/hostdisk.c: Likewise.
2784 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2785
2786 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2787 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2788 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2789 * util/misc.c: Remove grub-emu functions.
2790
cced9145
VS
27912010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 Fix gfxmenu crash.
2794 Reported by: Thorsten Grützmacher.
2795
2796 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2797 timeout hook.
2798 (circprog_set_property): Register and unregister timeout hook.
2799 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2800 (label_destroy): Free template. and unregister hook.
2801 (label_set_state): New function.
2802 (label_set_property): Handle templates and hooks.
2803 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2804 timeout hook.
2805 (progress_bar_set_property): Register and unregister timeout hook.
2806 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2807 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2808 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2809 (update_timeout_visit): Removed.
2810 (update_timeouts): New function.
2811 (redraw_timeouts): Likewise.
2812 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2813 (grub_gfxmenu_clear_timeout): Likewise.
2814 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2815 (grub_gfxmenu_timeout_notify): Likewise.
2816 (grub_gfxmenu_timeout_notifications): New external variable.
2817 (grub_gfxmenu_timeout_register): New function.
2818 (grub_gfxmenu_timeout_unregister): Likewise.
2819
c6e5caab
VS
28202010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 Transform (broken) vga terminal into (working) vga video driver.
2823
2824 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2825 video/i386/pc/vga.c.
2826 * include/grub/video.h (grub_video_driver_id):
2827 Add GRUB_VIDEO_DRIVER_VGA.
2828 * term/i386/pc/vga.c: Renamed to ...
2829 * video/i386/pc/vga.c: ...this
2830 (DEBUG_VGA): Removed.
2831 (CHAR_WIDTH): Likewise.
2832 (CHAR_HEIGHT): Likewise.
2833 (TEXT_WIDTH): Likewise.
2834 (TEXT_HEIGHT): Likewise.
2835 (DEFAULT_FG_COLOR): Likewise.
2836 (DEFAULT_BG_COLOR): Likewise.
2837 (colored_char): Likewise.
2838 (xpos): Likewise.
2839 (ypos): Likewise.
2840 (cursor_state): Likewise.
2841 (fg_color): Likewise.
2842 (bg_color): Likewise.
2843 (text_buf): Likewise.
2844 (page): Likewise.
2845 (font): Likewise.
2846 (framebuffer): New variable.
2847 (set_read_map): Disabled.
2848 (setup): New variable.
2849 (is_target): Likewise.
2850 (grub_vga_mod_init): Likewise.
2851 (grub_vga_mod_fini): Likewise.
2852 (check_vga_mem): Likewise.
2853 (write_char): Likewise.
2854 (write_cursor): Likewise.
2855 (scroll_up): Likewise.
2856 (grub_vga_putchar): Likewise.
2857 (grub_vga_getcharwidth): Likewise.
2858 (grub_vga_getwh): Likewise.
2859 (grub_vga_getxy): Likewise.
2860 (grub_vga_gotoxy): Likewise.
2861 (grub_vga_cls): Likewise.
2862 (grub_vga_setcolorstate): Likewise.
2863 (grub_vga_setcursor): Likewise.
2864 (grub_video_vga_init): New function.
2865 (grub_video_vga_setup): Likewise.
2866 (grub_video_vga_fini): Likewise.
2867 (update_target): Likewise.
2868 (grub_video_vga_blit_bitmap): Likewise.
2869 (grub_video_vga_blit_render_target): Likewise.
2870 (grub_video_vga_set_active_render_target): Likewise.
2871 (grub_video_vga_get_active_render_target): Likewise.
2872 (grub_video_vga_swap_buffers): Likewise.
2873 (grub_video_vga_set_palette): Likewise.
2874 (grub_video_vga_get_info_and_fini): Likewise.
2875 (grub_vga_term): Removed.
2876 (grub_video_vga_adapter): New variable.
2877 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2878 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2879
2bf61a98
VS
28802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * video/readers/jpeg.c: Indented.
2883
09ddcd11
VS
28842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 Various jpeg cleanups.
2887
2888 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2889 (grub_jpeg_decode_quan_table): Use sizeof.
2890 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2891
e5507505
PH
28922010-05-05 Peter Hurley <No e-mail available> (tiny change)
2893
2894 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2895 tables. Ignore non-last ac bit.
2896 (grub_jpeg_decode_quan_table): Likewise.
2897
7e720a9b
VS
28982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2901 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2902 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2903 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2904 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2905 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2906
a7fc080b
VS
29072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2910 error.
2911
2bf6012d
VS
29122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2915
265d68cd
VS
29162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2919 condition.
2920
29212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
2922
2923 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2924 part.
2925
265d68cd 29262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
2927
2928 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2929 pointers.
2930
265d68cd 29312010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
2932
2933 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2934
d1b61374
CF
29352010-05-01 Christian Franke <franke@computer.org>
2936
2937 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2938 Remove broken Cygwin path conversion.
2939 * util/misc.c: [__CYGWIN__] Add include and define.
2940 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2941 for Cygwin 1.7.
2942 (make_system_path_relative_to_its_root): Simplify loop, replace early
2943 return by break.
2944 [__CYGWIN__] Add conversion to win32 path.
2945 Include "/" case in trailing slash removal.
2946
3558c6e9
VS
29472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2950 Reported by: Seth Goldberg
2951
f5f3ff93
VS
29522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * commands/help.c (grub_cmd_help): Fix a typo.
2955 Reported by: Seth Goldberg
2956
d8b5cd40
VS
29572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2960 name and add N_.
2961 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2962 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2963 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2964 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2965 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2966 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2967 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2968 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2969 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2970 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2971 * normal/context.c (GRUB_MOD_INIT): Likewise.
2972 * normal/main.c (GRUB_MOD_INIT): Likewise.
2973 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2974 * term/serial.c (GRUB_MOD_INIT): Likewise.
2975 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2976
88c14915
VS
29772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2980 extra == 0.
2981
165134bc
VS
29822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * commands/iorw.c: New file.
2985 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2986 (iorw_mod_SOURCES): New variable.
2987 (iorw_mod_CFLAGS): Likewise.
2988 (iorw_mod_LDFLAGS): Likewise.
2989
c5ac9b32
VS
29902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 Hotkey support
2993
2994 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2995 * normal/main.c (hotkey_aliases): New variable.
2996 (grub_normal_add_menu_entry): Parse "--hotkey".
2997 * normal/menu_text.c (run_menu): Handle hotkeys.
2998
ce60689c
VS
29992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * kern/i386/coreboot/init.c (grub_machine_init): Call
3002 grub_machine_mmap_init on qemu.
3003
0359d006
VS
30042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * boot/i386/qemu/boot.S: Add a missing .code16.
3007
7819a456
VS
30082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 Use LBIO on coreboot.
3011
3012 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
3013 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
3014 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
3015 New declaration.
3016 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
3017 grub_machine_mmap_init on coreboot.
3018 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
3019 GRUB_LINUXBIOS_MEMBER_LINK.
3020 (grub_machine_mmap_iterate): Fix declaration.
3021 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
3022
7210dca9
VS
30232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 Split coreboot and multiboot ports.
3026
3027 * conf/i386-multiboot.rmk: New file.
3028 * configure.ac: Add multiboot port.
3029 * include/grub/i386/multiboot/boot.h: New file.
3030 * include/grub/i386/multiboot/console.h: Likewise.
3031 * include/grub/i386/multiboot/init.h: Likewise.
3032 * include/grub/i386/multiboot/kernel.h: Likewise.
3033 * include/grub/i386/multiboot/loader.h: Likewise.
3034 * include/grub/i386/multiboot/memory.h: Likewise.
3035 * include/grub/i386/multiboot/serial.h: Likewise.
3036 * include/grub/i386/multiboot/time.h: Likewise.
3037 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
3038 * loader/multiboot.c: Likewise.
3039 * loader/multiboot_mbi2.c: Likewise.
3040 * util/grub-mkrescue.in: Generate multiboot rescue.
3041
6f8aaf68
VS
30422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3043
3080f7a7
VS
3044 * kern/parser.c (grub_parser_execute): Cope with read-only config.
3045
30462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
3049
3050 * commands/terminal.c (abstract_terminal): New struct.
3051 (handle_command): New function. Based on grub_cmd_terminal_input.
3052 (grub_cmd_terminal_input): Use handle_command.
3053 (grub_cmd_terminal_output): Use handle_command.
3054
a8ebb841
BC
30552010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
3056
3057 Fix comment handling.
3058
3059 * tests/grub_script_comments.in: New testcase.
3060 * conf/tests.rmk: Rules for new testcase.
3061 * script/yylex.l: Updated flex rules.
3062
bb06ba08
ST
30632010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
3064
3065 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
3066 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
3067 if argc is 1.
bb06ba08 3068
cc9d2425
VS
30692010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
3072 autogen issues.
3073
460d8402
CF
30742010-04-26 Christian Franke <franke@computer.org>
3075
3076 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
3077 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
3078 (grub_get_prefix): Remove function.
3079 * util/grub-emu.c (main): Replace grub_get_prefix () call by
3080 make_system_path_relative_to_its_root ().
3081 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3082
553c01f9
CF
30832010-04-24 Christian Franke <franke@computer.org>
3084
3085 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
3086 (kernel_img_LDFLAGS): Remove -static-libgcc.
3087
2aec1692
CF
30882010-04-24 Christian Franke <franke@computer.org>
3089
3090 * configure.ac: Do not CHECK_BSS_START_SYMBOL
3091 and CHECK_END_SYMBOL if grub-emu is built.
3092 Unset TARGET_OBJ2ELF if grub-emu is built
3093 without module support.
3094
f67dc308
JS
30952010-04-24 Jiro SEKIBA <jir@unicus.jp>
3096
3097 Nilfs2 support.
3098
3099 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
3100 (grub_fstest_SOURCES): Likewise.
3101 (pkglib_MODULES): Add nilfs2.mod.
3102 (nilfs2_mod_SOURCES): New variable.
3103 (nilfs2_mod_CFLAGS): Likewise.
3104 (nilfs2_mod_LDFLAGS): Likewise.
3105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3106 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3107 * fs/nilfs2.c: New file.
3108
4ba8d354
VS
31092010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
3112 is not supported.
3113
0d2c20c6
GS
31142010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
3115
3116 Add grub-mkconfig support for NetBSD.
3117
3118 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
3119 * util/grub-mkconfig.in: export new NetBSD specific variables.
3120 * po/POTFILES-shell: added 10_netbsd.in.
3121 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
3122
bc4a2d83
BC
31232010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
3124
3125 Fix emu build with grub-emu-pci and grub-emu-modules.
3126
3127 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
3128 functions.
3129 * include/grub/libpciaccess.h: New file.
3130 * conf/any-emu.rmk: Update kernel headers for emu build.
3131
f48c87aa
VS
31322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
3135
18959385
VS
31362010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
3139
0037de3f
VS
31402010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
3143 Retrieve chosen/bootpath if bootpath isn't hardcoded.
3144 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
3145 util/ieee1275/ofpath.c.
3146 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
3147 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
3148 * include/grub/sparc64/ieee1275/boot.h
3149 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
3150 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
3151 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
3152 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
3153 const char *.
3154 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
3155 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
3156 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
3157 install.
3158
38e55e90
GS
31592010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
3160
3161 * util/grub-mkconfig.in: Corrected two == equality tests.
3162 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
3163 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
3164 expect a number appended to it.
3165 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
3166 expects a number appended to it.
3167
a9e6ff28
VS
31682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
3171
0b830b8f
VS
31722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * util/hostdisk.c (make_device_name): Change to new partition naming.
3175
0973daeb
VS
31762010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
3179
460d8402 31802010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
3181
3182 * Makefile.in: Add missing localedir setting.
3183
0b456309
CW
31842010-04-14 Colin Watson <cjwatson@ubuntu.com>
3185
3186 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
3187 mistake in r2156. Noticed by Anthony Fok.
3188
3189 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
3190 @localedir@.
3191 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3192
08f46d62
BC
31932010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
3194
3195 Fix a spurious, uninitialized variable warning.
3196
3197 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
3198 Initialize variable, shdr.
3199 (grub_freebsd_load_elfmodule): Likewise.
3200 (grub_freebsd_load_elf_meta): Likewise.
3201
8c4a72d4
BC
32022010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
3203
3204 Fix for escaped dollar in double quoted strings.
3205
3206 * script/yylex.l: Updated flex rules.
3207 * conf/tests.rmk: Rule for new testcase.
3208 * tests/grub_script_dollar.in: New testcase.
3209
ce44826e
CPE
32102010-04-13 Carles Pina i Estany <carles@pina.cat>
32112010-04-13 Colin Watson <cjwatson@ubuntu.com>
3212
3213 Enclose all translated strings in grub.cfg in single quotes, and
3214 escape them appropriately (Ubuntu bug #552921).
3215
3216 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
3217 * util/grub.d/10_hurd.in: Use it.
3218 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3219 * util/grub.d/10_linux.in (linux_entry): Likewise.
3220
4b0cd8f8
VS
32212010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 Fix cygwin compilation.
3224
3225 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
3226 * include/grub/misc.h (__register_frame_info)
3227 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
3228 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3229 * kern/misc.c (__register_frame_info)
3230 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
3231 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3232
01fcf061
VS
32332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
3236
5d04b11e
VS
32372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Unify libgcc processing.
3240
3241 * Makefile.in (kernel_img_LDFLAGS): New variable.
3242 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
3243 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
3244 overwriting.
3245 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
3246 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
3247 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
3248 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
3249 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
3250 overwriting. Remove -lgcc and -static-libgcc
3251 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
3252 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3253 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3254 (kernel_img_LDFLAGS): Append instead of overwriting.
3255 Remove -lgcc and -static-libgcc
3256 * conf/sparc64-ieee1275.rmk: Likewise.
3257 * include/grub/powerpc/libgcc.h: Move to ...
3258 * include/grub/libgcc.h: .. this.
3259 * include/grub/libgcc.h: Don't export most of the function on x86.
3260 (__bswapsi2): New export.
3261 (__bswapdi2): Likewise.
3262 * include/grub/mips/libgcc.h: Removed.
3263 * include/grub/sparc64/libgcc.h: Likewise.
3264
b7f3ac29
VS
32652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
3268 disk_info_msg (conflicts with gettexting into languages with cases).
3269
2c7031b1
GS
32702010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3271
3272 Add grub-probe support for NetBSD.
3273
3274 * util/getroot.c (find_root_device): Convert block device to
3275 character device on NetBSD.
3276 * util/probe.c (probe): Require character device on NetBSD.
3277 * util/hostdisk.c: NetBSD specific headers.
3278 (configure_device_driver): new function to tune device driver
3279 parameters (currently only for NetBSD floppy driver).
3280 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3281 via disklabel ioctl).
3282 (open_device): call configure_device_driver on NetBSD.
3283 (convert_system_partition_to_system_disk): NetBSD specific code.
3284 (device_is_wholedisk): Likewise.
3285 (grub_util_biosdisk_get_grub_dev): Likewise.
3286 (make_device_name): Fixed a typo in bsd_part_str.
3287 * configure.ac: check for opendisk() and getrawpartition() on
3288 NetBSD and set LIBUTIL.
3289 * Makefile.in: add LIBUTIL to LIBS.
3290
f516290c
BC
32912010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3292
3293 Documentation fix.
3294
3295 * util/grub-script-check.c: Better help message.
3296
d8dcc0df
BC
32972010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3298
3299 Fix FreeBSD build.
3300
3301 * configure.ac: Flex version check.
3302 * conf/common.rmk: Add -Wno-error to sh.mod.
3303 * script/yylex.l: Remove all #pragma.
3304
6734334a
VS
33052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3308 prototype.
3309 Reported by: Seth Goldberg.
3310
daea6abd
VS
33112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3314 Rename "module" to "module2".
3315 Reported by: Seth Goldberg.
3316
f2fd9d2b
VS
33172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3320 EXPORT_FUNC.
3321 Reported by: Seth Goldberg.
3322
be124579
VS
33232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * lib/posix_wrap/locale.h: Add missing file.
3326 Reported by: Seth Goldberg.
3327
ef5da797
VS
33282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 grub-emu module load support.
3331
3332 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3333 NO_DYNAMIC_MODULES switched to this.
3334 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3335 (CFLAGS): Likewise.
3336 * conf/any-emu.rmk: Generate symlist.
3337 (kernel_img_HEADERS): Add util/datetime.h.
3338 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3339 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3340 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3341 kern/$(target_cpu)/cache.S.
3342 * configure.ac (grub-emu-modules): New option.
3343 * genmk.rb: Handle multiple source lists.
3344 * include/grub/sdl.h: New file.
3345 * include/grub/libusb.h: Likewise.
3346 * util/grub-emu.c (main): Hanle (host) root.
3347 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3348 GRUB_ERR_UNKNOWN_DEVICE.
3349 * util/misc.c: Move mm functions to ...
3350 * util/mm.c: ... here. All users updated.
3351
47822096
VS
33522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3355 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3356 missing files.
3357 (maintainer-clean): Remove libgcrypt-grub.
3358
5d7e7445
VS
33592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3362
25f4e252
EC
33632010-04-09 EFI Coder <eficoder@hotmail.com>
3364
3365 * normal/menu_text.c (print_message): Clean up the message and show
3366 the Fn information when on EFI
3367 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3368
027de555
VS
33692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3372 All users updated.
3373 * normal/crypto.c (read_crypto_list): Likewise.
3374 * normal/dyncmd.c (read_command_list): Likewise.
3375 * normal/term.c (read_terminal_list): Likewise.
3376 * normal/main.c (read_lists): Use explicit prefix.
3377 (read_lists_hook): Use read_lists.
3378 (grub_normal_execute): Likewise.
3379
47779711
VS
33802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3383 Reported by: Thomas Schmitt.
3384 Add -no-emul-boot to grub-mkisofs parameters.
3385
1118c32e
VS
33862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * font/font.c: Indented.
3389
7d652447
BC
33902010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3391
3392 Elif support to GRUB script (by Deepak Vankadaru).
3393
3394 * tests/grub_script_if.in: New testcase.
3395 * conf/tests.rmk: Rule for new testcase.
3396 * script/parser.y: Grammar rules for elif.
3397
34bb22df
BC
33982010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3399
3400 While and until loops support to GRUB script.
3401
3402 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3403 (grub_script_create_cmdwhile): New function prototype.
3404 (grub_script_execute_cmdwhile): New function prototype.
3405 * script/execute.c (grub_script_execute_cmdwhile): New function.
3406 * script/parser.y (command): New commands.
3407 (whilecmd): New grammar rule.
3408 (untilcmd): New grammar rule.
3409 * script/script.c (grub_script_create_cmdwhile): New function.
3410 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3411 function.
3412
3413 * tests/grub_script_while1.in: New testcase.
3414 * conf/tests.rmk: Rule for new testcase.
3415
e215d8e0
VS
34162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3419 as *.jpg.
3420
d7c43ba1
MV
34212010-04-09 Mario Vazquez <mariovazq@gmail.com>
3422
3423 GRUB_BACKGROUND support.
3424
3425 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3426 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3427
d64795c0
VS
34282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 3431 Idea by: Mario Vazquez
d64795c0
VS
3432
3433 * util/grub.d/00_header.in: Load pf2 and image modules.
3434
f267f83a
VS
34352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 grub-mkconfig multiple terminal support.
3438
3439 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3440 * util/grub.d/00_header.in: Likewise.
3441
b7841ceb
VS
34422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3445 we use cd $(srcdir).
3446
df60998c
CW
34472010-04-08 Colin Watson <cjwatson@ubuntu.com>
3448
3449 * util/grub.d/10_linux.in: Only use the first word of
3450 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3451 spaces in GRUB_DISTRIBUTOR.
3452 * util/grub.d/10_kfreebsd.in: Likewise.
3453 * util/grub.d/10_hurd.in: Likewise.
3454
fa09c82e
BC
34552010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3456
14e18ae3 3457 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
3458
3459 * tests/util/grub-shell.in: Remove -serial stdio option.
3460
daf892b3
BC
34612010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 POSIX header file wrappers.
3464
3465 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3466 equivalents.
3467 * lib/posix_wrap/ctype.h: Likewise.
3468 * lib/posix_wrap/errno.h: Likewise.
3469 * lib/posix_wrap/langinfo.h: Likewise.
3470 * lib/posix_wrap/limits.h: Likewise.
3471 * lib/posix_wrap/localcharset.h: Likewise.
3472 * lib/posix_wrap/stdint.h: Likewise.
3473 * lib/posix_wrap/stdio.h: Likewise.
3474 * lib/posix_wrap/stdlib.h: Likewise.
3475 * lib/posix_wrap/string.h: Likewise.
3476 * lib/posix_wrap/sys/types.h: Likewise.
3477 * lib/posix_wrap/unistd.h: Likewise.
3478 * lib/posix_wrap/wchar.h: Likewise.
3479 * lib/posix_wrap/wctype.h: Likewise.
3480 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3481 (grub_script.yy.h): Likewise.
3482 * script/yylex.l: Remove POSIX emulation #defines.
3483 * Makefile.in (POSIX_CFLAGS): New variable.
3484 (GNULIB_UTIL_CFLAGS): Likewise.
3485
3486 Regexp support.
3487
3488 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3489 (regexp_mod_SOURCES): New variable.
3490 (regexp_mod_CFLAGS): Likewise.
3491 (regexp_mod_LDFLAGS): Likewise.
3492 * commands/regexp.c: New file.
3493 * gnulib/regcomp.c: New file. Imported from gnulib.
3494 * gnulib/regex.c: Likewise.
3495 * gnulib/regex_internal.c: Likewise.
3496 * gnulib/regex_internal.h: Likewise.
3497 * gnulib/regexec.c: Likewise.
3498 * gnulib/regex.h: Likewise.
3499
974ac4f7
VS
35002010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3503 unsupported video mode types.
3504
2622c3ff
VS
35052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3508
064cb524
VS
35092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3512 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3513
a8c3b552
VS
35142010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 Remove unused grub_vga_get_font.
3517
3518 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3519 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3520
187bbe3d
GS
35212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3522
3523 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3524 * include/grub/misc.h: Likewise.
3525
b9396631
GS
35262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3527
3528 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3529 for which failure is fatal.
3530
50479feb
GS
35312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3532
3533 * util/grub-install.in: Use mkdir -p to create grub directory.
3534 * util/i386/efi/grub-install.in: Likewise.
3535 * util/ieee1275/grub-install.in: Likewise.
3536
b1654fdf
GS
35372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3538
3539 * Makefile.in (LEX): new variable.
3540
bd5a6415
GS
35412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3542
3543 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3544 `=' and added double quotes on operands of this equality test.
3545
3db3a82b
VS
35462010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * Makefile.in (uninstall): Remove a leftover debug echo.
3549 Reported by: Grégoire Sutre
3550
38023412
VS
35512010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 MIPS multiboot2 support.
3554
3555 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3556 (multiboot2_mod_SOURCES): New variable.
3557 (multiboot2_mod_CFLAGS): Likewise.
3558 (multiboot2_mod_LDFLAGS): Likewise.
3559 (multiboot2_mod_ASFLAGS): Likewise.
3560 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3561 definition.
3562 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3563 (MULTIBOOT_MBI_REGISTER): Likewise.
3564 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3565 (MULTIBOOT_ELF32_MACHINE): Likewise.
3566 (MULTIBOOT_ELF64_MACHINE): Likewise.
3567 * include/grub/mips/multiboot.h: New file.
3568 * include/grub/video.h (grub_video_driver_id): New type
3569 GRUB_VIDEO_DRIVER_SM712.
3570 (grub_video_get_info_and_fini): Export.
3571 (grub_video_get_palette): Likewise.
3572 (grub_video_get_driver_id): Likewise.
3573 * include/multiboot2.h: Resynced with spec.
3574 * loader/i386/multiboot.c: Moved from here ...
3575 * loader/multiboot.c: ... here. All users updated.
3576 (grub_multiboot_boot): Use platform-specific macros.
3577 * loader/i386/multiboot_elfxx.c: Moved from here ...
3578 * loader/multiboot_elfxx.c: ... here. All users updated.
3579 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3580 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3581 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3582
47674667
VS
35832010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 Import gnulib argp module.
3586
3587 * gnulib/argp-ba.c: New file.
3588 * gnulib/argp-eexst.c: Likewise.
3589 * gnulib/argp-fmtstream.c: Likewise.
3590 * gnulib/argp-fmtstream.h: Likewise.
3591 * gnulib/argp-fs-xinl.c: Likewise.
3592 * gnulib/argp-help.c: Likewise.
3593 * gnulib/argp-namefrob.h: Likewise.
3594 * gnulib/argp-parse.c: Likewise.
3595 * gnulib/argp-pin.c: Likewise.
3596 * gnulib/argp-pv.c: Likewise.
3597 * gnulib/argp-pvh.c: Likewise.
3598 * gnulib/argp-version-etc.c: Likewise.
3599 * gnulib/argp-version-etc.h: Likewise.
3600 * gnulib/argp-xinl.c: Likewise.
3601 * gnulib/argp.h: Likewise.
3602
495442ed
VS
36032010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * kern/device.c (grub_device_iterate): Clear errors after failed
3606 opening device.
3607
f9fd65df
VS
36082010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3611 returned by firmware.
3612
af09641e
VS
36132010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3616 compilation on coreboot and qemu
3617
016883a5
VS
36182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * include/multiboot2.h: Resync with spec.
3621
f97e1f7d
VS
36222010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 Multiboot2 tag support
3625
3626 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3627 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3628 Remove loader/multiboot_loader.c.
3629 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3630 (grub_multiboot2_real_boot): Likewise.
3631 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3632 (grub_get_multiboot_mmap_count): New proto.
3633 (grub_fill_multiboot_mmap): Likewise.
3634 (grub_multiboot_set_video_mode): Likewise.
3635 (grub_multiboot_set_console): Likewise.
3636 (grub_multiboot_load): Likewise.
3637 (grub_multiboot_load_elf): Likewise.
3638 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3639 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3640 * include/multiboot.h: Resynced with specification.
3641 * include/multiboot2.h: Resynced with specification.
3642 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3643 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3644 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3645 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3646 users updated.
3647 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3648 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3649 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3650 Removed.
3651 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3652 Moved from here...
3653 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3654 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3655 Moved from here...
3656 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3657 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3658 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3659 All users updated.
3660 * loader/i386/multiboot_mbi2.c: New file.
3661
3506b90b
VS
36622010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 Resync with gnulib.
3665
3666 * Makefile.in (GNULIB_CFLAGS): New variable.
3667 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3668 (grub_script_check_CFLAGS): New variable.
3669 * gnulib/alloca.h: Resync with gnulib.
3670 * gnulib/error.c: Likewise.
3671 * gnulib/error.h: Likewise.
3672 * gnulib/fnmatch.c: Likewise.
3673 * gnulib/fnmatch_loop.c: Likewise.
3674 * gnulib/getdelim.c: Likewise.
3675 * gnulib/getline.c: Likewise.
3676 * gnulib/getopt.c: Likewise.
3677 * gnulib/getopt1.c: Likewise.
3678 * gnulib/getopt_int.h: Likewise.
3679 * gnulib/gettext.h: Likewise.
3680 * gnulib/progname.c: Likewise.
3681 * gnulib/progname.h: Likewise.
3682
394a3120
GS
36832010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3684
3685 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3686 which is the case with --disabled-nls.
3687
3688 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3689 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3690 * util/misc.c: Likewise.
3691 * util/mkisofs/mkisofs.c: Likewise.
3692 * util/mkisofs/mkisofs.h: Likewise.
3693
969d1c78
VS
36942010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 Simplify Apple CC support.
3697
3698 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3699 Add 0 byte at the end not to have a symbol with empty target.
3700 * mmap/i386/pc/mmap_helper.S: Likewise.
3701 * genmk.rb: Ignore errors 2030 and 2050.
3702 * kern/i386/pc/startup.S: Use LOCAL when possible.
3703
8d2977bb
BC
37042010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3705
3706 Testcase and the fix for final semicolon on cmdline.
3707
3708 * tests/grub_script_final_semicolon.in: New testcase.
3709 * conf/tests.rmk: Rules for the new testcase.
3710 * script/parser.y: Grammar fix.
3711
a7bd6915
BC
37122010-03-26 BVK Chaitanya <bvk@localhost>
3713
3714 Blank lines testcase for GRUB script.
3715
3716 * tests/grub_script_blanklines.in: New testcase.
3717 * conf/tests.rmk: Rules for the new testcase.
3718
e4ff6628
VS
37192010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 Don't use __FILE__.
3722
3723 * genmk.rb: Add -DGRUB_FILE to all C targets.
3724 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3725 * include/grub/list.h: Likewise.
3726 * include/grub/misc.h: Likewise.
3727 * include/grub/mm.h: Likewise.
3728 * include/grub/test.h: Likewise.
3729 * kern/mm.c: Likewise.
3730 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3731
6a5cf6b6
VS
37322010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 Sunpc partitions support.
3735
3736 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3737 (grub_fstest_SOURCES): Likewise.
3738 (pkglib_MODULES): Add part_sunpc.mod.
3739 (part_sunpc_mod_SOURCES): New variable.
3740 (part_sunpc_mod_CFLAGS): Likewise.
3741 (part_sunpc_mod_LDFLAGS): Likewise.
3742 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3743 * partmap/sunpc.c: New file.
3744
746d9045
BC
37452010-03-26 BVK Chaitanya <bvk@localhost>
3746
3747 For loop support to GRUB script.
3748
3749 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3750 (grub_script_create_cmdfor): New function prototype.
3751 (grub_script_execute_cmdfor): New function prototype.
3752 * script/execute.c (grub_script_execute_cmdfor): New function.
3753 * script/parser.y (command): New for command.
3754 (forcmd): New grammar rule.
3755 * script/script.c (grub_script_create_cmdfor): New function.
3756 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3757 function.
3758 * tests/grub_script_for1.in: New testcase.
3759 * conf/tests.rmk: Rules for new testcase.
3760
18486b18
VS
37612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 Nested partitions
3764
3765 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3766 'partition' is NULL, grub_partition_get_start already does that.
3767 * commands/loadenv.c (check_blocklists): Likewise.
3768 (write_blocklists): Likewise.
3769 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3770 (grub_fstest_SOURCES): Likewise.
3771 (pkglib_MODULES): Add part_bsd.mod.
3772 (part_bsd_mod_SOURCES): New variable.
3773 (part_bsd_mod_CFLAGS): Likewise.
3774 (part_bsd_mod_LDFLAGS): Likewise.
3775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3776 (grub_emu_SOURCES): Likewise.
3777 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3778 * include/grub/bsdlabel.h: New file.
3779 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3780 'get_name'.
3781 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3782 (grub_partition_map_list): New variable.
3783 (grub_partition_map_register): Inline.
3784 (grub_partition_map_unregister): Likewise.
3785 (FOR_PARTITION_MAPS): New macro.
3786 (grub_partition_map_iterate): Removed.
3787 (grub_partition_get_start): Handle nested partitions.
3788 * include/grub/msdos_partition.h: Remove bsd-related entries.
3789 (grub_pc_partition): Remove.
3790 * kern/disk.c (grub_disk_close): Free partition data.
3791 (grub_disk_adjust_range): Handle nested partitions.
3792 * kern/partition.c (grub_partition_map_probe): New function.
3793 (grub_partition_probe): Parse name to number, handle subpartitions.
3794 (get_partmap): New function.
3795 (grub_partition_iterate): Handle subpartitions.
3796 (grub_partition_get_name): Likewise.
3797 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3798 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3799 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3800 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3801 Set 'number'.
3802 (acorn_partition_map_probe): Remove.
3803 (acorn_partition_map_get_name): Likewise.
3804 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3805 Set 'number'.
3806 Set 'index' to 0 since there can be only one partition entry per sector.
3807 (amiga_partition_map_probe): Remove.
3808 (amiga_partition_map_get_name): Likewise.
3809 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3810 Set 'number'.
3811 Set 'offset' and 'index' to real positions of partitions.
3812 (apple_partition_map_probe): Remove.
3813 (apple_partition_map_get_name): Likewise.
3814 * partmap/bsdlabel.c: New file.
3815 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3816 Set 'number'.
3817 Allocate 'data' so it can be correctly freed.
3818 Set 'index' to offset inside sector.
3819 (gpt_partition_map_probe): Remove.
3820 (gpt_partition_map_get_name): Likewise.
3821 * partmap/msdos.c (grub_partition_parse): Remove.
3822 (pc_partition_map_iterate): Don't force raw access.
3823 Set 'number'.
3824 Make 'ext_offset' a local variable.
3825 (pc_partition_map_probe): Remove.
3826 (pc_partition_map_get_name): Remove.
3827 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3828 Set 'number'.
3829 (sun_partition_map_probe): Remove.
3830 (sun_partition_map_get_name): Likewise.
3831 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3832 (grub_pcpart_type): Likewise.
3833 * util/hostdisk.c (open_device): Handle new numbering scheme.
3834 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3835 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3836 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3837 * util/grub-install.in: Insert all subpartition modules.
3838 * util/ieee1275/grub-install.in: Likewise.
3839
a3940f88
AG
38402010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3841
3842 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3843 grammar.
3844
21b99926 38452010-03-24 Colin Watson <cjwatson@ubuntu.com>
3846
3847 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3848
bed1d352
CW
38492010-03-21 Colin Watson <cjwatson@ubuntu.com>
3850
3851 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3852 match where 'make install' puts them.
3853 * util/i386/efi/grub-install.in: Likewise.
3854
c9f58427
CW
38552010-03-19 Colin Watson <cjwatson@ubuntu.com>
3856
3857 * .bzrignore: Add gentrigtables, grub-script-check,
3858 grub_script_check_init.c, grub_script_check_init.h, and
3859 trigtables.c.
3860
f84afb27
VS
38612010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * kern/parser.c: Indented.
3864
ed0e3d30
VS
38652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3868
0ea81d98
VS
38692010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3872 alpha_mask_size == 0 case.
3873
0cdc2a09
BC
38742010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3875
3876 GRUB shell lexer and parser improvements.
3877
3878 * conf/any-emu.rmk: Build rule updates.
3879 * conf/common.rmk: Likewise.
3880 * conf/i386-coreboot.rmk: Likewise.
3881 * conf/i386-efi.rmk: Likewise.
3882 * conf/i386-ieee1275.rmk: Likewise.
3883 * conf/i386-pc.rmk: Likewise.
3884 * conf/powerpc-ieee1275.rmk: Likewise.
3885 * conf/x86_64-efi.rmk: Likewise.
3886
3887 * configure.ac: Configure check for flex.
3888
3889 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3890 types.
3891 (grub_lexer_param): Struct member updates.
3892 (grub_parser_param): Likewise.
3893 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3894 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3895 (grub_script_lexer_init): Prototype update.
3896 (grub_script_lexer_record_start): Likewise.
3897 (grub_script_lexer_record_stop): Likewise.
3898 (grub_script_lexer_yywrap): New function prototype.
3899 (grub_script_lexer_fini): Likewise.
3900 (grub_script_execute_argument_to_string): Removed by...
3901 (grub_script_execute_argument_to_argv): ...better version.
3902
3903 * script/execute.c (ROUND_UPTO): New macro.
3904 (grub_script_execute_cmdline): Out of memory fixes.
3905 (grub_script_execute_menuentry): Likewise.
3906 (grub_script_execute_argument_to_string): Removed. Update all
3907 users by...
3908 (grub_script_execute_argument_to_argv): ...better version.
3909 * script/function.c (grub_script_function_create): Use
3910 grub_script_execute_argument_to_argv instead of
3911 grub_script_execute_argument_to_string.
3912
3913 * script/lexer.c (check_varstate): Removed.
3914 (check_textstate): Removed.
3915 (grub_script_lexer_record_start): Likewise.
3916 (grub_script_lexer_record_stop): Likewise.
3917 (recordchar): Replaced with...
3918 (grub_script_lexer_record): ...new function.
3919 (nextchar): Removed.
3920 (grub_script_lexer_init): Rewritten.
3921 (grub_script_yylex): Rewritten.
3922 (append_newline): New function.
3923 (grub_script_lexer_yywrap): New function.
3924 (grub_script_lexer_fini): New function.
3925 (grub_script_yyerror): Sets error flag.
3926
3927 * script/yylex.l: New file.
3928 (grub_lexer_yyfree): Wrapper for flex yyffre.
3929 (grub_lexer_yyalloc): Likewise.
3930 (grub_lexer_yyrealloc): Likewise.
3931 * script/parser.y: Refactored.
3932
3933 * script/script.c (grub_script_arg_add): Out of memory fixes.
3934 (grub_script_add_arglist): Likewise.
3935 (grub_script_create_cmdline): Likewise.
3936 (grub_script_create_cmdmenu): Likewise.
3937 (grub_script_add_cmd): Likewise.
3938 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3939 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3940 unnecessary code.
3941
3942 * tests/grub_script_echo1.in: New testcase.
3943 * tests/grub_script_vars1.in: New testcase.
3944 * tests/grub_script_echo_keywords.in: New testcase.
3945
1d63a066
VS
39462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 Remove some redundancy in build system.
3949
3950 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3951 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3952 (TARGET_LDFLAGS): Add -nostdlib.
3953 (TARGET_IMG_LDFLAGS): Likewise.
3954 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3955 anything since mmap isn't available.
3956 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3957 Add util/time.c.
3958 (pkglib_MODULES): Remove reboot.mod.
3959 (reboot_mod_SOURCES): Removed.
3960 (reboot_mod_CFLAGS): Likewise.
3961 (reboot_mod_LDFLAGS): Likewise.
3962 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3963 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3964 (DEFSYMFILES): Add kernel_syms.lst.
3965 (kernel_img_HEADERS): Add common headers.
3966 (symlist.c): New target.
3967 (kernel_syms.lst): Likewise.
3968 (pkglib_MODULES): Add memdisk.mod.
3969 (memdisk_mod_SOURCES): New variable.
3970 (memdisk_mod_CFLAGS): Likewise.
3971 (memdisk_mod_LDFLAGS): Likewise.
3972 (pkglib_MODULES): Add reboot.mod.
3973 (reboot_mod_SOURCES): New variable.
3974 (reboot_mod_CFLAGS): Likewise.
3975 (reboot_mod_LDFLAGS): Likewise.
3976 (pkglib_MODULES): Add date.mod.
3977 (date_mod_SOURCES): New variable.
3978 (date_mod_CFLAGS): Likewise.
3979 (date_mod_LDFLAGS): Likewise.
3980 (pkglib_MODULES): Add datehook.mod.
3981 (datehook_mod_SOURCES): New variable.
3982 (datehook_mod_CFLAGS): Likewise.
3983 (datehook_mod_LDFLAGS): Likewise.
3984 (pkglib_MODULES): Add lsmmap.mod.
3985 (lsmmap_mod_SOURCES): New variable.
3986 (lsmmap_mod_CFLAGS): Likewise.
3987 (lsmmap_mod_LDFLAGS): Likewise.
3988 (pkglib_MODULES): Add boot.mod.
3989 (boot_mod_SOURCES): New variable.
3990 (boot_mod_CFLAGS): Likewise.
3991 (boot_mod_LDFLAGS): Likewise.
3992 * conf/i386-coreboot.rmk: Removed redundant parts.
3993 * conf/i386-ieee1275.rmk: Likewise.
3994 * conf/i386-pc.rmk: Likewise.
3995 * conf/mips-yeeloong.rmk: Likewise.
3996 * conf/mips.rmk: Likewise.
3997 * conf/powerpc-ieee1275.rmk: Likewise.
3998 * conf/sparc64-ieee1275.rmk: Likewise.
3999 * conf/x86_64-efi.rmk: Likewise.
4000 * conf/i386-coreboot.rmk: Moved qemu parts ..
4001 * conf/i386-qemu.rmk: ... here
4002 * conf/i386-efi.rmk: Moved common parts to...
4003 * conf/x86-efi.rmk: ... here.
4004 * conf/i386.rmk: Added modules common to all x86 variants.
4005 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
4006 * disk/memdisk.c: Remove grub/machine/kernel.h.
4007 * gensymlist.sh.in: Include symbol.h.
4008 * hook/datehook.c: Correct module name.
4009 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
4010 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
4011 * include/grub/i386/efi/serial.h: New file.
4012 * include/grub/x86_64/efi/serial.h: Likewise.
4013 * util/time.c: Likewise.
4014 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
4015
463ac55f
CK
40162010-03-14 Colin King <colin.king@ubuntu.com>
40172010-03-14 Colin Watson <cjwatson@ubuntu.com>
4018
4019 Shrink the pre-partition-table part of boot.img by eight bytes.
4020
4021 * boot/i386/pc/boot.S (ERR): New macro.
4022 (chs_mode): Use ERR.
4023 (geometry_error): Likewise.
4024 (hd_probe_error): Remove. This is only used once, so we wrwite
4025 it inline instead.
4026 (read_error): Instead of printing read_error_string, just set up
4027 %si and fall through to ...
4028 (error_message): ... this new function, also used by ERR.
4029
08e46ede
CW
40302010-03-14 Colin Watson <cjwatson@ubuntu.com>
4031
4032 Speed up consecutive hostdisk operations on the same device.
4033
4034 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
4035 (grub_util_biosdisk_open): Initialise disk->data.
4036 (struct linux_partition_cache): New structure.
4037 (linux_find_partition): Cache partition start positions; these are
4038 expensive to compute on every read and write.
4039 (open_device): Cache open file descriptor in disk->data, so that we
4040 don't have to reopen it and flush the buffer cache for consecutive
4041 operations on the same device.
4042 (grub_util_biosdisk_close): New function.
4043 (grub_util_biosdisk_dev): Set `close' member.
4044
4045 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
4046 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
4047 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4048 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4049 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
4050
4a6d2d06
VS
40512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 Compile parts of grub-emu as modules.
4054
4055 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
4056 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
4057 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
4058 (all-local): Add $(GRUB_EMU).
4059 (install-local): Install $(GRUB_EMU).
4060 (uninstall): Uninstall $(GRUB_EMU).
4061 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
4062 * kern/dl.c: Likewise.
4063 * commands/sleep.c: Not include machine/time.h.
4064 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
4065 (COMMON_CFLAGS): Likewise.
4066 (sbin_UTILITIES): Remove grub-emu.
4067 (grub_emu_SOURCES): Removed.
4068 (kernel_img_RELOCATABLE): New variable.
4069 (pkglib_PROGRAMS): Add kernel.img.
4070 (kernel_img_SOURCES): New variable
4071 (kernel_img_CFLAGS): Likewise.
4072 (kernel_img_LDFLAGS): Likewise.
4073 (TARGET_NO_STRIP): Likewise.
4074 (TARGET_NO_DYNAMIC_MODULES): Likewise.
4075 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
4076 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
4077 (grub-emu): New target.
4078 (GRUB_EMU): New variable.
4079 * configure.ac: Whitelist -emu as possible x86_64 architecture.
4080 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
4081 * loader/xnu.c: Likewise.
4082 * include/grub/pci.h: Likewise.
4083 * genemuinit.sh: New file.
4084 * genemuinitheader.sh: Likewise.
4085 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
4086 Support TARGET_NO_DYNAMIC_MODULES.
4087 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
4088 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
4089 * disk/loopback.c: Likewise.
4090 * font/font_cmd.c: Likewise.
4091 * partmap/acorn.c: Likewise.
4092 * partmap/amiga.c: Likewise.
4093 * partmap/apple.c: Likewise.
4094 * partmap/gpt.c: Likewise.
4095 * partmap/msdos.c: Likewise.
4096 * partmap/sun.c: Likewise.
4097 * parttool/msdospart.c: Likewise.
4098 * term/gfxterm.c: Likewise.
4099 * video/bitmap.c: Likewise.
4100 * video/readers/jpeg.c: Likewise.
4101 * video/readers/png.c: Likewise.
4102 * video/readers/tga.c: Likewise.
4103 * video/video.c: Likewise.
4104 * util/grub-emu.c (read_command_list): Removed.
4105 (main): Don't call util_init_nls.
4106 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
4107 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
4108
91fdd2ed
VS
41092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
4112 date.mod, datehook.mod.
4113 (datetime_mod_SOURCES): New variable.
4114 (datetime_mod_CFLAGS): Likewise.
4115 (datetime_mod_LDFLAGS): Likewise.
4116 (date_mod_SOURCES): Likewise.
4117 (date_mod_CFLAGS): Likewise.
4118 (date_mod_LDFLAGS): Likewise.
4119 (datehook_mod_SOURCES): Likewise.
4120 (datehook_mod_CFLAGS): Likewise.
4121 (datehook_mod_LDFLAGS): Likewise.
4122 * conf/sparc64-ieee1275.rmk: Likewise.
4123 * lib/ieee1275/datetime.c: New file.
4124
873ccae6
VS
41252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
4128 (ieee1275_fb_mod_SOURCES): New variable.
4129 (ieee1275_fb_mod_CFLAGS): Likewise.
4130 (ieee1275_fb_mod_LDFLAGS): Likewise.
4131 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
4132 New proto.
4133 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
4134 (HEAP_MAX_ADDR): Likewise.
4135 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
4136 type.
4137 Correct stop condition.
4138 (grub_ieee1275_devices_iterate): New function.
4139 * video/ieee1275.c: New file.
4140
601c97c0
VS
41412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
4144
4145 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
4146 as scratch.
4147 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
4148 SCRATCH_PAD_DISKBOOT as scratch.
4149 (bootit): Pass Openfirmware pointer in %o4.
4150 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
4151 of 0x200000.
4152 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
4153 with util/grub-mkrawimage.c.
4154 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
4155 * include/grub/aout.h (AOUT_MID_SUN): New definition.
4156 (grub_aout_get_type) [GRUB_UTIL]: Removed.
4157 (grub_aout_load) [GRUB_UTIL]: Likewise.
4158 * include/grub/kernel.h (grub_modules_get_end): New proto.
4159 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
4160 (SCRATCH_PAD_BOOT): New definition.
4161 (SCRATCH_PAD_DISKBOOT): Likewise.
4162 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
4163 * include/grub/sparc64/ieee1275/ieee1275.h
4164 (grub_ieee1275_original_stack): New variable
4165 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
4166 New definition
4167 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
4168 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
4169 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
4170 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
4171 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
4172 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
4173 (grub_platform_image_format_t): New type.
4174 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
4175 * kern/main.c (grub_modules_get_end)
4176 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
4177 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
4178 (codestart): Switch stacks.
4179 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
4180 variable.
4181 (grub_heap_init): Use grub_modules_get_end.
4182 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
4183 stack.
4184 * util/grub-mkrawimage.c (generate_image): Support sparc64.
4185 (main): Likewise.
4186 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
4187
d68b491e
TG
41882010-03-14 Thorsten Glaser <tg@mirbsd.org>
4189
4190 * util/grub-mkrescue.in: Base ISO UUID on UTC.
4191
4e02ed50
MK
41922010-03-08 Matt Kraai <kraai@ftbfs.org>
4193
4194 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
4195 bug #559005).
4196
1f15fc1e
VS
41972010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * genmoddep.awk: Output all missing symbols and not only first.
4200
fce5d8ff
VS
42012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * NEWS: Put the date of 1.98 release.
4204
d1e8a02f
VS
42052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
4208 ft2build.h.
4209
696fd607
VS
42102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
4213 completition in the middle of string.
4214
33e2e6f3
VS
42152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * util/grub-mkrescue.in: Use mktemp with explicit template.
4218
b1f6d291
VS
42192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
4222
2ac227c7
VS
42232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
4226 right pointer.
4227
8f9a632b
VS
42282010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Fix FreeBSD compilation.
4231
4232 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
4233 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
4234
60b03859
VS
42352010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
4238
48a5a769
VS
42392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
4242
3ab4bd77
VS
42432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
4246
d116e0d8
RM
42472010-03-04 Robert Millan <rmh.grub@aybabtu.com>
4248
4249 Support relative image path in theme file.
4250
4251 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
4252 (image_set_property): Handle theme_dir and relative path.
4253
c7ef54aa
VS
42542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * configure.ac: Alias amd64 to x86_64.
4257
fcee14ed
VS
42582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * NEWS: mention multiboot on EFI.
4261
d0780363
VS
42622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * kern/main.c (grub_load_modules): Handle errors from init functions of
4265 embeded modules.
4266
41168ea4
VS
42672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * normal/autofs.c (autoload_fs_module): Handle errors.
4270
b54d93ac
VS
42712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 Disable linux.mod on qemu-mips since it's not functional and leads
4274 to compilation failure.
4275
4276 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4277 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4278 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4279 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4280 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4281 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4282 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4283 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4284 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4285 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4286 Reported by: BVK Chaitanya
4287
fc8345da
JU
42882010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4289
4290 * INSTALL: Add gettext as a dependency and add qemu to a new section
4291 "Prerequisites for make-check".
4292
4760f979
CF
42932010-03-04 Christian Franke <franke@computer.org>
4294
4295 * util/grub-pe2elf.c: Add missing include "progname.h".
4296
f209b5b2
VS
42972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * normal/crypto.c (read_crypto_list): Fix a typo.
4300 Reported by: Seth Goldberg.
4301
b4b7be98
VS
43022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 4305 Reported by: Seth Goldberg.
b4b7be98 4306
c0ee0385
VS
43072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4310 ascii.bitmaps.
4311
a8efbf64
VS
43122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 4315 Reported by: Seth Goldberg.
a8efbf64 4316
08dcd913
VS
43172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * util/i386/efi/grub-install.in: Copy gettext files.
4320
c4d0b332
VS
43212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4324
c6f2fe52
VS
43252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 Wait for user entry basing on presence of output rather than on errors.
4328
4329 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4330 (grub_install_newline_hook): Likewise.
4331 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4332 * normal/menu.c (show_menu): Check line_counter to determine presence
4333 of output.
4334 * normal/term.c (grub_normal_line_counter): New variable.
4335 (grub_normal_get_line_counter): New function.
4336 (grub_install_newline_hook): Likewise.
4337
5382b1e4
VS
43382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4341
5519963b
VS
43422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * configure.ac: Update version to 1.98.
4345
72b28631
VS
43462010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * util/grub.d/10_linux.in (linux_entry): Don't default to
4349 gfxpayload=keep if Linux doesn't support video handover.
4350
c140a180
VS
43512010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 Don't compile video modules on yeeloong since video subsystem is part
4354 of kernel.
4355
4356 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4357 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4358 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4359 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4360 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4361 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4362 * include/grub/bitmap_scale.h: Likewise.
4363 * include/grub/bufio.h: Likewise.
4364 * include/grub/font.h: Likewise.
4365 * include/grub/gfxterm.h: Likewise.
4366 * include/grub/video.h: Likewise.
4367 * include/grub/vbe.h: Don't include video_fb.h.
4368 * video/i386/pc/vbe.c: Include video_fb.h.
4369 * commands/i386/pc/vbetest.c: Include video.h.
4370
a0ca21c2
CW
43712010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4372
4373 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4374 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4375 default entry if GRUB_SAVEDEFAULT=true. This allows using
4376 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4377 saving a new default on every boot.
4378
4a8a763c
VS
43792010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4382 * normal/term.c (read_terminal_list): Likewise.
4383 * normal/main.c (grub_normal_init_page): Likewise.
4384 (grub_normal_read_line_real): Likewise.
4385
607ffde2
VS
43862010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4389 memory leak.
4390 Reported by: Seth Goldberg.
4391
2b8fa975
CW
43922010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4393
4394 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4395 duplicate declaration of `start'.
4396
618307dd
VS
43972010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4400 filename.
4401 Reported by: Georgy Buranov
4402
7dd05b96 44032010-02-20 Carles Pina i Estany <carles@pina.cat>
4404
4405 * util/grub-mkrawimage.c (usage): Change string formatting to
4406 improve gettext.
4407
d1484a42
MRA
44082010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4409
4410 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4411 backspace keys.
4412
42b1d186
VS
44132010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4416 Reported by: Michael Suchanek.
4417
44182010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
4419
4420 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4421 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4422
d9f31a41
VS
44232010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Remove any reference to non-free fonts.
4426
4427 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4428 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4429 uses non-free components.
4430 * font/font.c (grub_font_get_name): Remove example name.
4431 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4432 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4433 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4434 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4435
2793c71e
GB
44362010-02-16 Georgy Buranov <gburanov@gmail.com>
4437
4438 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4439
402e3779
VS
44402010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4443 Double divisor.
4444 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4445 features.
4446 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4447
0dd1e0dd
VS
44482010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4451
6fa7cfce
ST
44522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4453
4454 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4455 * docs/grub.texi (Command-line and menu entry commands): Document play
4456 command.
4457
37c8483b
ST
44582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4459
4460 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4461 parse arguments as inline tempo and notes. Move code for playing notes
4462 to...
4463 (play): ... new function.
4464
14da0fb7
ST
44652010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4466
4467 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4468 grub_uint16_t instead of short.
4469 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4470 disk from little endian to cpu endianness.
4471
04459e70
ST
44722010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4473
4474 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4475 GRUB_TICKS_PER_SECOND instead of 120.
4476
a0876943
VS
44772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4480 escape sequence after \e.
4481
e29f95dc
VS
44822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4485 non-ASCII characters.
4486
d27859b2
VS
44872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4490 set root in single quotes to prevent \, from being unescaped.
4491
bc028f2f
VS
44922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 Prevent unknown commands from stopping menuentry execution.
4495
4496 * script/execute.c (grub_script_execute_cmdline): Print error after
4497 unknown command.
4498
095f5f82
VS
44992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4502 Reported by: Pavel Pisa.
4503
8c717950
VS
45042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4507
904935c3
VS
45082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 Merge grub_ieee1275_map_physical into grub_map and rename to
4511 grub_ieee1275_map
4512
4513 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4514 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4515 Remove.
4516 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4517 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4518 necessary.
4519 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4520
5b59a4e3
VS
45212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4524 opening and not after.
4525
69e137e8
VS
45262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4529 constants.
4530
2c0fcc36
VS
45312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4534 (alloc_phys): Use ALIGN_UP instead of align_addr.
4535
8c6052ce
VS
45362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4539
17cec782
VS
45402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4543
e0128bbd
VS
45442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4547 verbose dprintf.
4548
ca62070b
VS
45492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 Fix over-4GiB seek on sparc64.
4552
4553 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4554 Replace pos_i and pos_lo with pos. All users updated.
4555 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4556 New constant.
4557 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4558 Likewise.
4559 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4560 and pos_lo.
4561
bdca2607
VS
45622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * util/grub-mkrawimage.c (main): Call set_program_name.
4565
da278c4d
VS
45662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Properly align 64-bit targets.
4569
4570 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4571 (generate_image): Use ALIGN_ADDR.
4572
b274d734
VS
45732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 Properly create cross-endian images.
4576
4577 * include/grub/types.h (grub_host_to_target_addr): New macro
4578 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4579
82da2062
VS
45802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4583
7cae4377
VS
45842010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4587
4588 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4589 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4590 (grub_linux_boot): Divide by 64K when on VESA.
4591
65a533e7
VS
45922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 Support GRUB_GFXPAYLOAD_LINUX.
4595
4596 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4597 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4598
dd01d397
VS
45992010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4602 to show messages instead of discarding them.
4603 Process errors after executing command and not before. Keep old method
4604 too as precaution.
4605
660960d6
VS
46062010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * configure.ac: Check for ft2build.h.
4609
62509f04
VS
46102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4613
473df63d
VS
46142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * genkernsyms.sh.in: Use TARGET_CC.
4617
c98d2a13
CW
46182010-02-07 Colin Watson <cjwatson@ubuntu.com>
4619
4620 * NEWS: Update.
4621
6e14234c
VS
46222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
4625 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4626 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 4627
b255e9cf
YB
46282010-02-07 Yves Blusseau <blusseau@zetam.org>
4629
6e14234c 4630 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 4631
98e6959d
VS
46322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 Fix warnings in grub-emu when compiling with maximum warning options.
4635
4636 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4637 (grub_arch_modules_addr): Return 0 and not NULL.
4638 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 4639 (xstrdup): Use newstr instead of dup.
f88d801b
VS
4640 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4641 of disk to dsk to avoid shadowing.
74e4934e
VS
4642 (find_free_slot): Fix prototype.
4643 * util/getroot.c (grub_util_is_dmraid): Make static.
4644 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4645 Add missing prototype.
4646 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 4647
74e31b5c
VS
46482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4651 appropriately.
4652
6b2ad14b
VS
46532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4656 code out.
4657
8f891adc
VS
46582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4661 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4662 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4663 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4664 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4665 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4666
74b45184
VS
46672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * include/grub/err.h (grub_err_printf): Don't export.
4670
a4bced77
VS
46712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4674
007d0695
VS
46752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4678 * kern/misc.c (grub_gettext_dummy): Make static.
4679
b6c0d9c2
VS
46802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4683 by non-valid ones.
4684 * kern/term.c (grub_putchar): Likewise.
4685
f51a90d0
VS
46862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4689 buggy hook call and memory leak.
4690
6846cec5
VS
46912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4694
468d69fe
VS
46952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4698
51906b8c
VS
46992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4702 modevar.
4703 Return grub_errno on allocation error.
4704
09706ce5
VS
47052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4708
911df80c
YB
47092010-02-06 Yves Blusseau <blusseau@zetam.org>
4710
4711 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4712 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4713
3746a6bc
VS
47142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4717 non-pxe disk.
4718 (grub_pxefs_open): Likewise.
4719
09706ce5
VS
47202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4721
4722 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4723 * util/grub.d/10_kfreebsd.in: Likewise.
4724 * util/grub.d/10_linux.in: Likewise.
4725
7cc192d9
VS
47262010-02-06 Colin D Bennett <colin@gibibit.com>
4727
4728 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4729 (gfxmenu_mod_SOURCES): New variable.
4730 (gfxmenu_mod_CFLAGS): Likewise.
4731 (gfxmenu_mod_LDFLAGS): Likewise.
4732 * include/grub/term.h (grub_term_set_current_output): Declare
4733 argument as const.
4734 * docs/gfxmenu-theme-example.txt: New file.
4735 * gfxmenu/gfxmenu.c: Likewise.
4736 * gfxmenu/gui_box.c: Likewise.
4737 * gfxmenu/gui_canvas.c: Likewise.
4738 * gfxmenu/gui_circular_progress.c: Likewise.
4739 * gfxmenu/gui_image.c: Likewise.
4740 * gfxmenu/gui_label.c: Likewise.
4741 * gfxmenu/gui_list.c: Likewise.
4742 * gfxmenu/gui_progress_bar.c: Likewise.
4743 * gfxmenu/gui_string_util.c: Likewise.
4744 * gfxmenu/gui_util.c: Likewise.
4745 * gfxmenu/icon_manager.c: Likewise.
4746 * gfxmenu/model.c: Likewise.
4747 * gfxmenu/named_colors.c: Likewise.
4748 * gfxmenu/theme_loader.c: Likewise.
4749 * gfxmenu/view.c: Likewise.
4750 * gfxmenu/widget-box.c: Likewise.
4751 * include/grub/gfxmenu_model.h: Likewise.
4752 * include/grub/gfxmenu_view.h: Likewise.
4753 * include/grub/gfxwidgets.h: Likewise.
4754 * include/grub/gui.h: Likewise.
4755 * include/grub/gui_string_util.h: Likewise.
4756 * include/grub/icon_manager.h: Likewise.
4757
47582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Agglomerate scrolling in gfxterm.
4761
4762 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4763 (grub_virtual_screen_setup): Initialise 'total_screen'.
4764 (write_char): Split to ...
4765 (paint_char): ... this ...
4766 (write_char): ... and this.
4767 (paint_char): Handle delayed scrolling.
4768 (draw_cursor): Likewise.
4769 (scroll_up): Split to ...
4770 (real_scroll): ... this ...
4771 (scroll_up): ... and this.
4772 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4773 characters.
4774 (grub_gfxterm_refresh): Call real_scroll.
4775
47762010-02-06 Colin D Bennett <colin@gibibit.com>
4777
4778 * include/grub/misc.h (grub_iscntrl): New inline function.
4779 (grub_isalnum): Likewise.
4780 (grub_strtol): Likewise.
4781
47822010-02-06 Colin D Bennett <colin@gibibit.com>
4783
4784 * normal/menu_text.c (get_entry_number): Move from here ...
4785 * normal/menu.c (get_entry_number): ... moved here.
4786 * include/grub/menu.h (grub_menu_get_default_entry_index):
4787 New prototype.
4788 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4789 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4790 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4791 (grub_menu_viewer_should_return): Likewise.
4792 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4793 * normal/menu_text.c (run_menu): Enable menu switching.
4794 * normal/menu_viewer.c (should_return): New variable.
4795 (menu_viewer_changed): Likewise.
4796 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4797 (grub_menu_viewer_should_return): New function.
4798 (menuviewer_write_hook): Likewise.
4799 (grub_menu_viewer_init): Likewise.
4800
48012010-02-06 Colin D Bennet <colin@gibibit.com>
48022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Support for gfxterm in a window.
4805
4806 * include/grub/gfxterm.h: New file.
4807 * include/grub/video.h (struct grub_video_rect): New declaration.
4808 (grub_video_rect_t): Likewise.
4809 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4810 (refcount): New variable.
4811 (render_target): Likewise.
4812 (window): Likewise.
4813 (repaint_callback): Likewise.
4814 (grub_virtual_screen_setup): Use 'render_target'.
4815 (init_window): New function.
4816 (grub_gfxterm_init_window): Likewise.
4817 (grub_gfxterm_init): Check reference counter.
4818 Use init_window.
4819 (destroy_window): New function.
4820 (grub_gfxterm_destroy_window): Likewise.
4821 (grub_gfxterm_fini): Check reference counter.
4822 Use destroy_window.
4823 (redraw_screen_rect): Restore viewport.
4824 Use 'render_target' and 'window'.
4825 Call 'repaint_callback'.
4826 (write_char): Use 'render_target'.
4827 (draw_cursor): Likewise.
4828 (scroll_up): Restore viewport.
4829 Use 'render_target' and 'window'.
4830 Call 'repaint_callback'.
4831 (grub_gfxterm_cls): Likewise.
4832 (grub_gfxterm_refresh): Use 'window'.
4833 (grub_gfxterm_set_repaint_callback): New function.
4834 (grub_gfxterm_background_image_cmd): Use 'window'.
4835 (grub_gfxterm_get_term): New function.
4836 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4837
48382010-02-06 Colin D Bennett <colin@gibibit.com>
4839
4840 Bitmap scaling support.
4841
4842 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4843 (bitmap_scale_mod_SOURCES): New variable.
4844 (bitmap_scale_mod_CFLAGS): Likewise.
4845 (bitmap_scale_mod_LDFLAGS): Likewise.
4846 * include/grub/bitmap_scale.h: New file.
4847 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4848 (background_image_cmd_options): New variable.
4849 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4850 (cmd): Rename and change type to ...
4851 (background_image_cmd_handle): ... this. All users updated.
4852 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4853 * video/bitmap_scale.c: New file.
4854
48552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 SDL support.
4858
4859 * Makefile.in (LIBSDL): New variable.
4860 (enable_grub_emu_sdl): Likewise.
4861 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4862 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4863 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4864 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4865 * util/sdl.c: New file.
4866
48672010-02-06 Colin D Bennett <colin@gibibit.com>
48682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Double buffering support.
4871
4872 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4873 * include/grub/video.h: Update comment.
4874 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4875 New type.
4876 (grub_video_fb_doublebuf_blit_init): New prototype.
4877 * term/gfxterm.c (scroll_up): Support double buffering.
4878 (grub_gfxterm_refresh): Likewise.
4879 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4880 (grub_video_fb_doublebuf_blit_init): Likewise.
4881 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4882 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4883 'displayed_page', 'render_page' and 'update_screen'.
4884 (grub_video_vbe_fini): Free offscreen buffer.
4885 (doublebuf_pageflipping_commit): New function.
4886 (doublebuf_pageflipping_update_screen): Likewise.
4887 (doublebuf_pageflipping_init): Likewise.
4888 (double_buffering_init): Likewise.
4889 (grub_video_vbe_setup): Enable doublebuffering.
4890 (grub_video_vbe_swap_buffers): Implement.
4891 (grub_video_vbe_set_active_render_target): Handle double buffering.
4892 (grub_video_vbe_get_active_render_target): Likewise.
4893 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4894 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4895 (grub_video_vbe_enable_double_buffering): Likewise.
4896 (grub_video_vbe_swap_buffers): Use update_screen.
4897 (grub_video_set_mode): Use double buffering.
4898
48992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4900
4901 * maintainance/gentrigtables.py: Remove.
4902 * lib/trig.c: Likewise.
4903
4904 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4905
4906 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4907 `trigtables.c'.
4908 (trigtables.c): New rule.
4909 (gentrigtables): Likewise.
4910 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4911
49122010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4913
4914 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4915 integer constants.
4916
49172010-02-06 Colin D Bennet <colin@gibibit.com>
4918
4919 Trigonometry support.
4920
4921 * include/grub/trig.h: New file.
4922 * lib/trig.c: Likewise.
4923 * maintainance/gentrigtables.py: Likewise.
4924 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4925 (trig_mod_SOURCES): New variable.
4926 (trig_mod_CFLAGS): Likewise.
4927 (trig_mod_LDFLAGS): Likewise.
4928
5562834e
VS
49292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4932 disk devices.
4933
4f8528fc
VS
49342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4937 error.
4938
2b4068e9
VS
49392010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * util/hostdisk.c (open_device): Don't use partition device when reading
4942 before the partition.
4943 (grub_util_biosdisk_read): Don't read from partition and before the
4944 partition in single operation.
4945 (grub_util_biosdisk_write): Don't write to partition and before the
4946 partition in single operation.
4947
399f6e4d
TL
49482010-02-03 Torsten Landschoff <torsten@debian.org>
4949
4950 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4951 last sectors.
4952
996649b0
VS
49532010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4956 CDROM reads.
4957 (grub_biosdisk_write): Refuse to write to CDROM.
4958
3b205d4d
VS
49592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4962
61e89d9d
VS
49632010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * font/font.c (find_glyph): Check that bmp_idx is available before
4966 using it.
4967 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4968 with (font == NULL).
4969
bf7fcba2
CS
49702010-01-28 Christian Schmitt <chris@ilovelinux.de>
4971
4972 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4973
f45d2663
BC
49742010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4975
4976 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4977 * util/grub-script-check.c (getline): Fix empty lines case.
4978
ec1444e6
RM
49792010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4980
4981 * Makefile.in (check): Exit with fail status when one of the tests
4982 fails.
4983 * tests/example_functional_test.c (example_test): Fix reversed assert.
4984 * tests/example_unit_test.c (example_test): Likewise.
4985
2e1cb9bb
CW
49862010-01-28 Colin Watson <cjwatson@ubuntu.com>
4987
4988 * util/grub.d/10_linux.in: This script does not use any of the
4989 contents of gettext.sh, only the external command `gettext', so stop
4990 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4991 the same prefix as GRUB.)
4992 * util/grub.d/10_kfreebsd.in: Likewise.
4993
63533ab0
VS
49942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4997 of the line.
4998
989e1f93
VS
49992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5002 last sectors.
5003
e709ebe2
VS
50042010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
5007 having a 4KiB and not 32KiB buffer size.
5008
27dea7ed
RM
50092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5010
5011 * util/hostfs.c: Include `<errno.h>'.
5012 (grub_hostfs_read): Handle errors from fseeko() and fread().
5013
67667b9c
RM
50142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5015
5016 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
5017 loop when using read hooks on files whose size isn't sector-aligned.
5018
c294d9d8
RM
50192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5020
5021 Remove unused parameter.
5022
5023 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
5024 (grub_iso9660_open): Remove initialization of `data->length'.
5025
af75a9f1
RM
50262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5027
5028 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
5029 memleak conditions.
5030
254e2ce5 50312010-01-27 Carles Pina i Estany <carles@pina.cat>
5032
5033 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
5034 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
5035
b510928c 50362010-01-26 Carles Pina i Estany <carles@pina.cat>
5037
5038 * util/bin2h.c (usage): Fix warning (space after backslash).
5039
aa2f9dd2 50402010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 5041
5042 * font/font.c: Include `grub/fontformat.h.
5043 Remove font file format constants.
5044 (grub_font_load): Use the new macros.
5045 * include/grub/fontformat.h: New file.
5046 * util/grub-mkfont.c: Include `grub/fontformat.c'.
5047 (write_font_pf2): Use the new macros.
5048
94e7e712
RM
50492010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5050
5051 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
5052 does.
5053
3973a59a
RM
50542010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5055
5056 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
5057
5058 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
5059 (_start): Macroify `0x7F'.
5060
5061 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
5062 (make_install_device): Use "(pxe)" as fallback prefix when booting
5063 via PXE.
5064
42e0cba3
GS
50652010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * configure.ac: Reset LIBS after check for libgcc symbols.
5068
847effd8
CW
50692010-01-25 Colin Watson <cjwatson@ubuntu.com>
5070
5071 * util/hostdisk.c (open_device): Add trailing newline to debug
5072 message.
5073
ea4a7e35
GS
50742010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5075
5076 * configure.ac: Check for `limits.h'.
5077 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
5078
67951a53
RM
50792010-01-24 Robert Millan <rmh.grub@aybabtu.com>
5080
5081 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
5082 capitalize error strings.
5083
c273d4ce
ST
50842010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
5085
5086 * util/grub.d/10_hurd.in: Add a recovery mode.
5087
69be5b74
VS
50882010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * configure.ac: Check for libgcc symbols with -nostdlib.
5091
fc9e5810
BC
50922010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
5093
5094 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
5095
4b358c0a
VS
50962010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
5099 stack since heap may be unavailable at that point.
5100 (grub_ofconsole_gotoxy): Likewise.
5101
454fcd1c
VS
51022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * configure.ac: Check for _restgpr_14_x.
5105 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
5106 and _savegpr_* prototypes.
5107
566863ca
RM
51082010-01-22 Robert Millan <rmh.grub@aybabtu.com>
5109
5110 Use generic grub_reboot() for i386-efi.
5111
5112 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
5113 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
5114 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
5115
bf86e59a
VS
51162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
5119 presence of "prefix" variable as it breaks when normal.mod is
5120 embedded.
5121
d645e0f8
VS
51222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
5125 stack since heap is unavailable at that point.
5126
f9ab2e25
VS
51272010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
5130 (grub_freebsd_bootinfo): Rewritten.
5131 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
5132
01fc7054
VS
51332010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
5136
caab4fd6
RM
51372010-01-21 Robert Millan <rmh.grub@aybabtu.com>
5138
5139 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
5140 domain now.
5141
67eb1427
FZ
51422010-01-20 Felix Zielcke <fzielcke@z-51.de>
5143
5144 * util/misc.c (make_system_path_relative_to_its_root): Change the work
5145 around for handling "/" to the correct fix. Fix a memory leak. Use
5146 xstrdup instead of strdup.
5147
a9ed4ff3
VS
51482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
5151
51522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
5153
5154 Optimise glyph lookup by Basic Multilingual Plane lookup array.
5155
5156 * font/font.c (struct grub_font): New member 'bmp_idx'.
5157 (font_init): Initialise 'bmp_idx'.
5158 (load_font_index): Fill 'bmp_idx'.
5159 (find_glyph): Make inline. Use bmp_idx for BMP characters.
5160
48209f4f
VS
51612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
5164 unnecessary calls.
5165
9f0a4bb7
VS
51662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Move context handling out of the kernel.
5169
5170 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
5171 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
5172 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
5173 * conf/i386-efi.rmk: Likewise.
5174 * conf/i386-ieee1275.rmk: Likewise.
5175 * conf/i386-pc.rmk: Likewise.
5176 * conf/powerpc-ieee1275.rmk: Likewise.
5177 * conf/sparc64-ieee1275.rmk: Likewise.
5178 * conf/x86_64-efi.rmk: Likewise.
5179 * include/grub/env.h: Include grub/menu.h.
5180 (grub_env_var_type): Removed.
5181 (grub_env_var): Replaced field 'type' with 'global'.
5182 (grub_env_find): New prototype.
5183 (grub_env_context_open): Remove EXPORT_FUNC.
5184 (grub_env_context_close): Likewise.
5185 (grub_env_export): Likewise.
5186 (grub_env_set_data_slot): Removed.
5187 (grub_env_get_data_slot): Likewise.
5188 (grub_env_unset_data_slot): Likewise.
5189 (grub_env_unset_menu): New prototype.
5190 (grub_env_set_menu): Likewise.
5191 (grub_env_get_menu): Likewise.
5192 * include/grub/env_private.h: New file.
5193 * include/grub/normal.h (grub_context_init): New prototype.
5194 (grub_context_fini): Likewise.
5195 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
5196 * normal/context.c (grub_cmd_export): ... to here.
5197 * kern/env.c: Include env_private.h.
5198 (HASHSZ): Moved to include/grub/env_private.h.
5199 (grub_env_context): Likewise.
5200 (grub_env_sorted_var): Likewise.
5201 (current_context): Renamed from this ...
5202 (grub_current_context): ...to this. 'static' removed. All users updated.
5203 (grub_env_find): Removed 'static'.
5204 (grub_env_context_open): Moved to normal/context.c.
5205 (grub_env_context_close): Likewise.
5206 (grub_env_export): Likewise.
5207 (mangle_data_slot_name): Removed.
5208 (grub_env_set_data_slot): Likewise.
5209 (grub_env_get_data_slot): Likewise.
5210 (grub_env_unset_data_slot): Likewise.
5211 * kern/main.c (grub_set_root_dev): Don't export root.
5212 It will be done later.
5213 (grub_main): Don't export prefix.
5214 It will be done later.
5215 * normal/context.c: New file.
5216 * normal/main.c (free_menu): Use grub_env_unset_menu.
5217 (grub_normal_add_menu_entry): Use grub_env_get_menu.
5218 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
5219 (GRUB_MOD_INIT(normal)): Call grub_context_init.
5220 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
5221
8dd35b8c
VS
52222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 setpci support.
5225
5226 * commands/setpci.c: New file.
5227 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
5228 (setpci_mod_SOURCES): New variable.
5229 (setpci_mod_CFLAGS): Likewise.
5230 (setpci_mod_LDFLAGS): Likewise.
5231
449193d5
VS
52322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 Byte-addressable PCI configuration space.
5235
5236 * bus/pci.c (grub_pci_make_address): Use byte address instead of
5237 dword address.
5238 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
5239 GRUB_PCI_REG_CACHELINE.
5240 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
5241 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
5242 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
5243 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
5244 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
5245 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
5246 grub_pci_make_address.
5247 (lock_rom_area): Likewise.
5248 * commands/lspci.c (grub_lspci_iter): Use macroses
5249 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
5250 of grub_pci_make_address.
5251 * disk/ata.c (grub_ata_pciinit): Likewise.
5252 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
5253 (GRUB_PCI_REG_VENDOR): Likewise.
5254 (GRUB_PCI_REG_DEVICE): Likewise.
5255 (GRUB_PCI_REG_COMMAND): Likewise.
5256 (GRUB_PCI_REG_STATUS): Likewise.
5257 (GRUB_PCI_REG_REVISION): Likewise.
5258 (GRUB_PCI_REG_CLASS): Likewise.
5259 (GRUB_PCI_REG_CACHELINE): Likewise.
5260 (GRUB_PCI_REG_LAT_TIMER): Likewise.
5261 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
5262 (GRUB_PCI_REG_BIST): Likewise.
5263 (GRUB_PCI_REG_ADDRESSES): Likewise.
5264 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5265 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5266 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5267 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5268 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5269 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5270 (GRUB_PCI_REG_CIS_POINTER): Likewise.
5271 (GRUB_PCI_REG_SUBVENDOR): Likewise.
5272 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
5273 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
5274 (GRUB_PCI_REG_CAP_POINTER): Likewise.
5275 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5276 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5277 (GRUB_PCI_REG_MIN_GNT): Likewise.
5278 (GRUB_PCI_REG_MAX_LAT): Likewise.
5279 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5280 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5281 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 5282 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
5283 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5284 space.
5285
96d73208
RM
52862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5287
5288 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5289 can be reliably determined to be supported.
5290
d4484482
RM
52912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5292
5293 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5294 that VESA is supported.
5295 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5296 supported.
5297
00308ecf
VS
52982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5301
f66924a4
RM
53022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5303
5304 * util/misc.c (make_system_path_relative_to_its_root): Work around
5305 special-casing of "/", as previous incarnation of this routine did.
5306
cbca0ada
VS
53072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 Fix any-emu compilation.
5310
5311 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5312 * grub_bin2h_SOURCES: New variable.
5313
34a66d99
RM
53142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5315
5316 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5317
94fabf58
RM
53182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5319
5320 * util/grub.d/00_header.in: Fix handling of locale_dir.
5321
02cf98ca
VS
53222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5325 as possible unifont location (Gentoo).
5326 Reported by: Alexander Brüning
5327
327dbcd7
VS
53282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 Don't try to generate lists for kernel.img.
5331
5332 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5333 (pkglib_MODULES): Remove kernel.img.
5334 (kernel_img_EXPORTS): Removed.
5335 (kernel_img_RELOCATABLE): New variable.
5336 * conf/x86_64-efi.rmk: Likewise.
5337 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5338
ca467290
VS
53392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5342 grub_xasprintf or grub_snprintf.
5343 (grub_vsprintf): Likewise.
5344 (grub_snprintf): New proto.
5345 (grub_vsnprintf): Likewise.
5346 (grub_xasprintf): Likewise.
5347 (grub_xvasprintf): Likewise.
5348 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5349 (grub_sprintf): Removed.
5350 (grub_vsnprintf): New function.
5351 (grub_snprintf): Likewise.
5352 (grub_xvasprintf): Likewise.
5353 (grub_xasprintf): Likewise.
5354 (grub_vsprintf): Renamed to ...
5355 (grub_vsnprintf_real): ...this. New argument max_len.
5356
aca655fd
BC
53572010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5358
5359 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5360 fix grub-script-check warning.
5361
7ee92c32
VS
53622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * include/grub/font.h (grub_font_load): Fix prototype.
5365
f80927ca
VS
53662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5369
119c50ea
VS
53702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * include/grub/x86_64/at_keyboard.h: New file.
5373
47d5f3c1
VS
53742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * loader/mips/linux.c: Include missing grub/i18n.h.
5377
55ff5266
RM
53782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5379
5380 * normal/menu.c (notify_execution_failure): Clarify error message.
5381
c893cc87
RM
53822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5383
5384 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5385 return value (and revert all return statements). Update users.
5386
917dd370
CW
53872010-01-20 Dan Merillat <debian@dan.merillat.org>
5388
5389 * kern/device.c (grub_device_iterate): Allocate new part_ent
5390 structure based on sizeof (*p) rather than sizeof (p->next), to
5391 account for structure padding.
5392
5393 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5394 disk is NULL, which might happen for LVM physical volumes with no
5395 LVM signature.
5396
d4a4ee57
RM
53972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5398
5399 * loader/mips/linux.c (grub_cmd_initrd)
5400 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5401
54022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5403
5404 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5405 (grub_video_video_init, grub_video_bitmap_init)
5406 (grub_font_manager_init, grub_term_gfxterm_init)
5407 (grub_at_keyboard_init): New extern declarations.
5408 (grub_machine_init): Initialize gfxterm and at_keyboard.
5409
5410 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5411
5412 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5413 `gfxterm.mod' into core image.
5414
5415 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5416 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5417 (kernel_img_FORMAT): Copy to ...
5418
5419 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5420 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5421 (kernel_img_FORMAT): ... here, and ...
5422
5423 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5424 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5425 (kernel_img_FORMAT): ... here.
5426
5427 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5428 and input (at_keyboard) terminals in kernel.
5429 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5430
5431 (pkglib_MODULES): Remove `pci.mod'.
5432 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5433 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5434 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5435 (at_keyboard_mod_LDFLAGS): Remove variables.
5436
54372010-01-11 Felix Zielcke <fzielcke@z-51.de>
5438
5439 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5440
54412009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5442
5443 * include/grub/mips/libgcc.h: Only export symbols for functions
5444 that libgcc provides.
5445
54462009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 MIPS support.
5449
5450 * bus/bonito.c: New file.
5451 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5452 GRUB_PCI_NUM_DEVICES.
5453 * term/i386/pc/serial.c: Move to ...
5454 * term/serial.c: ... here. All users updated.
5455 * util/i386/pc/grub-mkimage.c: Move to ...
5456 * util/grub-mkrawimage.c: ... here. All users updated.
5457 * term/i386/pc/at_keyboard.c: Move to ...
5458 * term/at_keyboard.c: ... here. All users updated.
5459 * conf/mips-qemu-mips.rmk: New file.
5460 * conf/mips-yeeloong.rmk: Likewise.
5461 * conf/mips.rmk: Likewise.
5462 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5463 mipsel-qemu-mips.
5464 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5465 to port addresses.
5466 (grub_ata_pciinit): Support CS5536.
5467 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5468 * font/font_cmd.c (loadfont_command): Open file before passing it to
5469 grub_font_load.
5470 (pseudo_file_read): New function.
5471 (pseudo_file_close): Likewise.
5472 (pseudo_fs): New structure.
5473 (load_font_module): New function.
5474 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5475 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5476 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5477 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5478 * include/grub/i386/at_keyboard.h: Split into ...
5479 * include/grub/at_keyboard.h: ... this ...
5480 * include/grub/i386/at_keyboard.h: ... and this.
5481 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5482 New prototype.
5483 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5484 updated.
5485 (grub_elf64_size): Likewise.
5486 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5487 filename.
5488 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5489 * include/grub/i386/coreboot/serial.h: Rewritten.
5490 * include/grub/i386/ieee1275/serial.h: Include
5491 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5492 * include/grub/i386/pc/serial.h: Moved from here ...
5493 * include/grub/serial.h: ... to here. All users updated.
5494 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5495 (GRUB_PCI_NUM_BUS): Likewise.
5496 (GRUB_PCI_NUM_DEVICES): Likewise.
5497 (grub_pci_device_map_range): Add missing volatile keyword.
5498 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5499 * include/grub/mips/at_keyboard.h: New file.
5500 * include/grub/mips/cache.h: Likewise.
5501 * include/grub/mips/io.h: Likewise.
5502 * include/grub/mips/kernel.h: Likewise.
5503 * include/grub/mips/libgcc.h: Likewise.
5504 * include/grub/mips/pci.h: Likewise.
5505 * include/grub/mips/qemu-mips/boot.h: Likewise.
5506 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5507 * include/grub/mips/qemu-mips/loader.h: Likewise.
5508 * include/grub/mips/qemu-mips/memory.h: Likewise.
5509 * include/grub/mips/qemu-mips/serial.h: Likewise.
5510 * include/grub/mips/qemu-mips/time.h: Likewise.
5511 * include/grub/mips/relocator.h: Likewise.
5512 * include/grub/mips/time.h: Likewise.
5513 * include/grub/mips/types.h: Likewise.
5514 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5515 * include/grub/mips/yeeloong/boot.h: Likewise.
5516 * include/grub/mips/yeeloong/kernel.h: Likewise.
5517 * include/grub/mips/yeeloong/loader.h: Likewise.
5518 * include/grub/mips/yeeloong/memory.h: Likewise.
5519 * include/grub/mips/yeeloong/pci.h: Likewise.
5520 * include/grub/mips/yeeloong/serial.h: Likewise.
5521 * include/grub/mips/yeeloong/time.h: Likewise.
5522 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5523 * kern/elf.c (grub_elf32_size): New parameter. All users
5524 updated.
5525 (grub_elf64_size): Likewise.
5526 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5527 Load modules before saying "Welcome to GRUB!".
5528 Call grub_refresh after saying "Welcome to GRUB!".
5529 * kern/mips/cache.S: New file.
5530 * kern/mips/cache_flush.S: Likewise.
5531 * kern/mips/dl.c: Likewise.
5532 * kern/mips/init.c: Likewise.
5533 * kern/mips/qemu-mips/init.c: Likewise.
5534 * kern/mips/startup.S: Likewise.
5535 * kern/mips/yeeloong/init.c: Likewise.
5536 * kern/term.c (grub_putcode): Handle NULL terminal.
5537 (grub_getcharwidth): Likewise.
5538 (grub_getkey): Likewise.
5539 (grub_checkkey): Likewise.
5540 (grub_getkeystatus): Likewise.
5541 (grub_getxy): Likewise.
5542 (grub_getwh): Likewise.
5543 (grub_gotoxy): Likewise.
5544 (grub_cls): Likewise.
5545 (grub_setcolorstate): Likewise.
5546 (grub_setcolor): Likewise.
5547 (grub_getcolor): Likewise.
5548 (grub_refresh): Likewise.
5549 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5550 (write_jump): Add hatch nop.
5551 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5552 * lib/mips/setjmp.S: New file.
5553 * loader/mips/linux.c: Likewise.
5554 * term/i386/pc/at_keyboard.c: Move from here ...
5555 * term/at_keyboard.c: ... to here.
5556 * term/i386/pc/serial.c: Moved from here ...
5557 * term/serial.c: ... to here. All users updated.
5558 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5559 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5560 (serial_translate_key_sequence): Avoid deadlock.
5561 (grub_serial_getkey): Handle backspace.
5562 (grub_serial_putchar): Fix newline handling.
5563 * util/i386/pc/grub-mkimage.c: Move from here ...
5564 * util/grub-mkrawimage.c: ... to here. All users updated.
5565 (generate_image): New parameters 'font_path' and 'format'.
5566 Support embedding font.
5567 Use grub_host_to_target* instead of grub_cpu_to_le*.
5568 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5569 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5570 (options): New option "--font".
5571 (usage): Likewise.
5572 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5573 (main): Handle "--font".
5574 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5575 (grub_virtual_screen_setup): Set bg_color_display.
5576 (redraw_screen_rect): Use bg_color_display instead of incorrect
5577 bg_color.
5578 (grub_gfxterm_cls): Likewise.
5579 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5580 Support embedding config file.
5581 (add_segments): Likewise.
5582 (options): New option "--config".
5583 (main): Handle "--config".
5584 * video/sm712.c: New file.
5585
25c2b5b3
RM
55862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5587
5588 Fix parallel builds.
5589
5590 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5591 font.c depend on ascii.h).
5592
55932010-01-12 Carles Pina i Estany <carles@pina.cat>
5594
5595 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5596
55972010-01-11 Carles Pina i Estany <carles@pina.cat>
5598
5599 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5600 By default: disabled.
5601 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5602 parameter.
5603
56042010-01-10 Carles Pina i Estany <carles@pina.cat>
5605
5606 * font/font.c: Update copyright years.
5607 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5608
56092010-01-10 Carles Pina i Estany <carles@pina.cat>
5610
5611 * font/font.c: Include `ascii.h'.
5612 (ASCII_BITMAP_SIZE): New macro.
5613 (ascii_font_glyph): Define.
5614 (ascii_glyph_lookup): New function.
5615 (grub_font_get_string_width): Change comment. If glyph not found, use
5616 ascii_glyph_lookup.
5617 (grub_font_get_glyph_with_fallback): If glyph not available returns
5618 ascii_glyph_lookup.
5619 * util/grub-mkfont.c (file_formats): New enum.
5620 (options): Add `ascii-bitmaps' new option.
5621 (usage): Add `asii-bitmaps' new option.
5622 (write_font_ascii_bitmap): New function.
5623 (write_font): Rename to ...
5624 (write_font_p2): ... this. Remove print_glyphs call.
5625 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5626 used. Call print_glyphs.
5627 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5628
56292010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5630
5631 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5632 (grub_bin2h_SOURCES): New variable.
5633 * util/bin2h.c: New file.
5634
915fc1b8
VS
56352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * include/multiboot.h: Resynced with spec.
5638 * include/multiboot2.h: Likewise.
5639 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5640 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5641
9444b678
RM
56422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5643
5644 * include/grub/term.h (grub_term_register_input,
5645 grub_term_register_output): Check return of terminal init()
5646 routines, and abort if errors are raised.
5647
5648 * commands/terminal.c: Update copyright year.
5649
cba98e8d
RM
56502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5651
5652 * commands/terminal.c (grub_cmd_terminal_input)
5653 (grub_cmd_terminal_output): Check return of terminal init()
5654 routines, and abort if errors are raised.
5655
6f7db5d6
VS
56562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * include/grub/i386/bsd.h: Fix include pathes.
5659
262bff8d
VS
56602010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Add missing *BSD copyright headers.
5663
5664 * include/grub/aout.h: Add BSD licence.
5665 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5666 * include/grub/i386/freebsd_linker.h: ... here,
5667 * include/grub/i386/freebsd_reboot.h: ... here,
5668 * include/grub/i386/netbsd_bootinfo.h: ... here,
5669 * include/grub/i386/netbsd_reboot.h: ... here,
5670 * include/grub/i386/openbsd_bootarg.h: ... here,
5671 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5672 licence to each file.
5673
b2cab848
RM
56742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5675
5676 * acinclude.m4: Remove `nop' assembly instruction; it's not
5677 implemented by all architectures.
5678
2cb6be4b
RM
56792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5680
5681 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5682 ELILO. This is no longer necessary.
5683
a2eaee15
BC
56842010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5685
5686 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5687
5688 * util/grub-script-check.c: grub-script-check tool.
5689 * conf/common.rmk: Make rules for grub-script-check.
5690
88d17012
RM
56912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5692
5693 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5694 spotting it back in 2008. Shame on me for forgetting he did.
5695
5696 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5697
8040619d
RM
56982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5699
5700 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5701 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5702 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5703 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5704 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5705 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5706
a0c2a0f6
RM
57072010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5708
5709 * include/grub/test.h: Add license header.
5710 * tests/example_functional_test.c: Likewise.
5711 * tests/example_unit_test.c: Likewise.
5712 * tests/lib/functional_test.c: Likewise.
5713 * tests/lib/test.c: Likewise.
5714 * tests/lib/unit_test.c: Likewise.
5715
b0b13907
VS
57162010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 Use flag-based instead of hook-based video mode selection and "auto"
5719 keyword.
5720
5721 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5722 (grub_video_set_mode): Changed prototype. All users updated.
5723 (grub_video_check_mode_flag): New inline function.
5724 * video/video.c (parse_modespec): New function.
5725 (grub_video_set_mode): Parse flags and keywords.
5726
ea379330 57272010-01-17 Carles Pina i Estany <carles@pina.cat>
5728
5729 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5730 fprintf call.
5731
e15c215e
FZ
57322010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5733
5734 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5735
409ae1c9 57362010-01-16 Carles Pina i Estany <carles@pina.cat>
5737
5738 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5739 string.
5740 * util/grub-emu.c (usage): Likewise.
5741 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5742 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5743 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5744 * util/i386/pc/grub-setup.c (usage): Likewise.
5745
70a14d3d 57462010-01-16 Carles Pina i Estany <carles@pina.cat>
5747
5748 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5749 the message.
5750 (grub_util_info): Likewise.
5751 (grub_util_error): Likewise.
5752 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5753 and/or new lines in `grub_util_warna', `grub_util_info',
5754 `grub_util_error' calls.
5755 * util/getroot.c: Likewise.
5756 * util/grub-editenv.c: Likewise.
5757 * util/grub-emu.c: Likewise.
5758 * util/grub-fstest.c: Likewise.
5759 * util/grub-mkdevicemap.c: Likewise.
5760 * util/grub-mkfont.c: Likewise.
5761 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5762 * util/grub-mkrelpath.c: Likewise.
5763 * util/grub-pe2elf.c: Likewise.
5764 * util/grub-probe.c: Likewise.
5765 * util/hostdisk.c: Likewise.
5766 * util/i386/efi/grub-mkimage.c: Likewise.
5767 * util/i386/pc/grub-mkimage.c: Likewise.
5768 * util/i386/pc/grub-setup.c: Likewise.
5769 * util/ieee1275/ofpath.c: Likewise.
5770 * util/mkisofs/eltorito.c: Likewise.
5771 * util/mkisofs/rock.c: Likewise.
5772 * util/mkisofs/write.c: Likewise.
5773 * util/raid.c: Likewise.
5774 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5775 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5776
a0b766fc
VS
57772010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 Enable multiboot on non-pc.
5780
5781 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5782 multiboot.mod and multiboot2.mod to ...
5783 * conf/i386.rmk (pkglib_MODULES): ... here.
5784 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5785 Moved to ...
5786 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5787 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5788 Moved to ...
5789 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5790 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5791 Moved to ...
5792 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5793 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5794 Moved to ...
5795 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5796 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5797 relocator.mod.
5798 (ata_mod_SOURCES): Removed.
5799 (ata_mod_CFLAGS): Likewise.
5800 (ata_mod_LDFLAGS): Likewise.
5801 (relocator_mod_SOURCES): Removed.
5802 (relocator_mod_CFLAGS): Likewise.
5803 (relocator_mod_ASFLAGS): Likewise.
5804 (relocator_mod_LDFLAGS): Likewise.
5805 Include i386.mk.
5806 * include/grub/x86_64/multiboot.h: New file.
5807 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5808 Terminate EFI.
5809
884ade56
VS
58102010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 Video multiboot support.
5813
5814 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5815 New prototype.
5816 * include/multiboot.h: Resynced with multiboot specification.
5817 * include/multiboot2.h: Likewise.
5818 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5819 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5820 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5821 (HAS_VGA_TEXT): Likewise.
5822 (accepts_video): New variable.
5823 (grub_multiboot_set_accepts_video): New function.
5824 (grub_multiboot_get_mbi_size): Account for video structures.
5825 (set_video_mode): New function.
5826 (retrieve_video_parameters): Likewise.
5827 (grub_multiboot_make_mbi): Fill video fields.
5828
0d90e8a6
VS
58292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 Video driver ids.
5832
5833 * include/grub/video.h (grub_video_driver_id): New type.
5834 (grub_video_adapter): New member 'id'. All users updated.
5835 (grub_video_get_driver_id): New proto.
5836 * video/video.c (grub_video_get_driver_id): New function.
5837
5c71db1b 58382010-01-14 Carles Pina i Estany <carles@pina.cat>
5839
5840 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5841 `var=val'.
5842
cca15b52 58432010-01-14 Carles Pina i Estany <carles@pina.cat>
5844
5845 * normal/cmdline.c (print_completion): Gettextizze.
5846
c586fbb2 58472001-01-14 Carles Pina i Estany <carles@pina.cat>
5848
5849 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5850
ba2f6848 58512010-01-14 Carles Pina i Estany <carles@pina.cat>
5852
5853 * gettext/gettext.c (grub_gettext_translate): Push and pop
5854 grub_errno.
5855 (grub_gettext_delete_list): Change comment style.
5856 * kern/err.c (grub_error): Gettextizze.
5857 (grub_fatal): Gettextizze.
5858
0a46429a
RM
58592010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5860
5861 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5862 (grub_linux16_real_boot): ... this.
5863 * kern/i386/loader.S: Likewise.
5864 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5865 (grub_linux16_boot): New function. Switches to text mode and calls
5866 grub_linux16_real_boot().
5867
5868 * loader/i386/bsd.c: Include `<grub/video.h>'.
5869 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5870 text mode before calling grub_unix_real_boot().
5871
5872 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5873 (grub_multiboot_boot): Switch to text mode before calling
5874 grub_relocator32_boot().
5875
5876 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5877 (grub_chainloader_boot): Switch to text mode before calling
5878 grub_chainloader_real_boot().
5879
d6f93a66
RM
58802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
58812010-01-05 Colin Watson <cjwatson@ubuntu.com>
5882
5883 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5884 non-empty value.
5885
58862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
58872010-01-05 Colin Watson <cjwatson@ubuntu.com>
5888
5889 * util/grub.d/00_header.in: Define a "savedefault" function for use
5890 in menu entries.
5891 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5892
58932010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
58942010-01-05 Colin Watson <cjwatson@ubuntu.com>
5895
5896 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5897 saved_entry if boot_once is unset.
5898 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5899 previous saved entry (i.e. grub-reboot).
5900
59012009-12-08 Colin Watson <cjwatson@ubuntu.com>
5902
5903 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5904
59052009-12-08 Colin Watson <cjwatson@ubuntu.com>
5906
5907 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5908 `var=val'.
5909 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5910
59112009-12-08 Colin Watson <cjwatson@ubuntu.com>
5912
5913 * util/grub-reboot.in: Fix --version output.
5914 * util/grub-set-default.in: Likewise.
5915
59162009-12-08 Colin Watson <cjwatson@ubuntu.com>
5917
5918 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5919 blocks.
5920
59212009-12-08 Colin Watson <cjwatson@ubuntu.com>
5922
5923 * util/grub.d/00_header.in: Quote the value assigned to `default',
5924 in case it contains spaces.
5925
59262009-12-08 Colin Watson <cjwatson@ubuntu.com>
5927
5928 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5929 `save_default_entry' call from the macosx case to the linux case.
5930
59312009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
59322009-10-25 Colin Watson <cjwatson@ubuntu.com>
5933
5934 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5935 in `chosen' environment variable.
5936 * normal/menu_text.c (get_entry_number): Check if the variable
5937 matches the title of a menu entry.
5938 (run_menu): Pass menu to get_entry_number.
5939
5940 * util/grub-reboot.in: New file.
5941 * util/grub-set-default.in: New file.
5942 * conf/common.rmk (grub-reboot): New utility.
5943 (grub-set-default): New utility.
5944
5945 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5946 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5947 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5948 move it to `saved_entry' for the next boot. Load environment on
5949 initialisation.
5950 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5951 * util/grub.d/10_hurd.in: Likewise.
5952 * util/grub.d/10_linux.in (linux_entry): Likewise.
5953 * util/grub.d/10_windows.in: Likewise.
5954 * util/grub.d/30_os-prober.in: Likewise.
5955
5956 * util/grub-install.in: Create environment block.
5957 * util/i386/efi/grub-install.in: Likewise.
5958 * util/ieee1275/grub-install.in: Likewise.
5959 * util/sparc64/ieee1275/grub-install.in: Likewise.
5960
0934d184
BC
59612010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5962
5963 Unit testing framework for GRUB.
5964
5965 * Makefile.in: Test framework build rules for 'make check'.
5966 * conf/tests.rmk: Build rules for individual tests and framework.
5967
5968 * include/grub/test.h: Header file for whitebox tests.
5969 * tests/lib/functional_test.c: Framework support for whitebox
5970 functional tests.
5971 * tests/lib/test.c: Common whitebox testing code for unit and
5972 functional tests.
5973 * tests/lib/unit_test.c: Framework support for whitebox unit
5974 tests.
5975
5976 * tests/util/grub-shell-tester.in: Support utility for grub-script
5977 tests.
5978 * tests/util/grub-shell.in: Utility to execute grub-script
5979 commands in a Qemu instance.
5980
5981 * tests/example_functional_test.c: Example whitebox functional
5982 test.
5983 * tests/example_grub_script_test.in: Example grub-script test.
5984 * tests/example_scripted_test.in: Example scripted test.
5985 * tests/example_unit_test.c: Example whitebox unit test.
5986
9c4ffeeb
VS
59872010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5990 Add loader/i386/multiboot_mbi.c.
5991 (multiboot2_mod_SOURCES): Likewise.
5992 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5993 (multiboot2_mod_SOURCES): Likewise.
5994 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5995 (grub_multiboot_make_mbi): Likewise.
5996 (grub_multiboot_free_mbi): Likewise.
5997 (grub_multiboot_init_mbi): Likewise.
5998 (grub_multiboot_add_module): Likewise.
5999 (grub_multiboot_set_bootdev): Likewise.
6000 * loader/i386/multiboot.c (mbi): Removed.
6001 (mbi_dest): Likewise.
6002 (alloc_mbi): New variable.
6003 (grub_multiboot_payload_size): Removed. All users updated.
6004 (grub_multiboot_pure_size): New variable.
6005 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
6006 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
6007 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
6008 (grub_fill_multiboot_mmap): Likewise.
6009 (grub_multiboot_get_bootdev): Likewise.
6010 (grub_multiboot): Use multiboot_mbi functions.
6011 * loader/i386/multiboot_mbi.c: New file.
6012
17383dfe
VS
60132010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
6016 it would result in module crash.
6017
c1f28820
VS
60182010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
6021 (grub_ofconsole_getwh): Split to ...
6022 (grub_ofconsole_getwh): ... this.
6023 (grub_ofconsole_dimensions): ...and this.
6024 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
6025
58655a16
RM
60262010-01-13 Robert Millan <rmh.grub@aybabtu.com>
6027
6028 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
6029
10891398
VS
60302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * loader/i386/pc/multiboot2.c: Removed stalled file.
6033
0b8a223c
VS
60342010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
6037 Reported by: Grégoire Sutre
6038
92ab12b0
RM
60392010-01-11 Robert Millan <rmh.grub@aybabtu.com>
6040
6041 * util/misc.c (canonicalize_file_name): New function.
6042 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
6043 instead of realpath().
6044
a788afb6
CW
60452010-01-11 Colin Watson <cjwatson@ubuntu.com>
6046
6047 * util/grub-install.in (usage): Clarify meaning of --root-directory,
6048 and make it clearer that it's optional. Based on confusion
6049 witnessed on IRC.
6050
ffa8e3d2
VS
60512010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
6054 in premature implicit newline.
6055
e9060a9d
VS
60562010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6059 which resulted in garbled command line at the end of screen.
6060
f0d0c0b7
RM
60612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6062
6063 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
6064 initialization with similar approach as with other Linux loaders.
6065
0e60bae7
RM
60662010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6067
6068 Fix i386-ieee1275 build.
6069
6070 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
6071 and grub_term_height() for video_{width,height} initialization.
6072
60732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
6074
6075 Fix grub-emu build.
6076
6077 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
6078
cdb3f378
RM
60792010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
60802010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6081
6082 Support for multiple terminals.
6083
6084 * Makefile.in (pkglib_DATA): terminal.lst.
6085 (terminal.lst): New target.
6086 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
6087 (GRUB_MOD_INIT(handler)): Likewise.
6088 (GRUB_MOD_FINI(handler)): Likewise.
6089 * commands/help.c (grub_cmd_help): Handle multiple terminals.
6090 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
6091 * commands/sleep.c (do_print): Use grub_term_restore_pos.
6092 (grub_cmd_sleep): Use grub_term_save_pos.
6093 * commands/terminal.c: New file.
6094 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
6095 commands/terminal.c and lib/charset.c.
6096 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
6097 (pkglib_MODULES): Add terminal.mod.
6098 (terminal_mod_SOURCES): New variable.
6099 (terminal_mod_CFLAGS): Likewise.
6100 (terminal_mod_LDFLAGS): Likewise.
6101 * genhandlerlist.sh: Don't handle terminals.
6102 * genmk.rb: Generate terminal-*.lst.
6103 * genterminallist.sh: New file.
6104 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
6105 (grub_is_valid_utf8): Likewise.
6106 (grub_utf8_to_ucs4_alloc): Likewise.
6107 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
6108 (grub_menu_register_viewer): Changed argument.
6109 (grub_menu_try_text): New proto.
6110 (grub_gfxmenu_try_hook): New declaration.
6111 * include/grub/normal.h (grub_normal_exit_level): New declaration.
6112 (grub_menu_init_page): Additional argument term.
6113 (grub_normal_init_page): Likewise.
6114 (grub_cmdline_get): Arguments simplified.
6115 (grub_utf8_to_ucs4_alloc): Removed.
6116 (grub_print_ucs4): Additional argument term.
6117 (grub_getstringwidth): Likewise.
6118 (grub_print_message_indented): Likewise.
6119 (grub_menu_text_register_instances): New proto.
6120 (grub_show_menu): Likewise.
6121 (read_terminal_list): Likewise.
6122 (grub_set_more): Likewise.
6123 * include/grub/parser.h: Include handler.h.
6124 * include/grub/reader.h: Rewritten.
6125 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
6126 (GRUB_TERM_WIDTH): Changed to function.
6127 (GRUB_TERM_HEIGHT): Likewise.
6128 (GRUB_TERM_BORDER_WIDTH): Likewise.
6129 (GRUB_TERM_BORDER_HEIGHT): Likewise.
6130 (GRUB_TERM_NUM_ENTRIES): Likewise.
6131 (GRUB_TERM_ENTRY_WIDTH): Likewise.
6132 (GRUB_TERM_CURSOR_X): Likewise.
6133 (grub_term_input_class): Likewise.
6134 (grub_term_output_class): Likewise.
6135 (grub_term_outputs_disabled): New declaration.
6136 (grub_term_inputs_disabled): Likewise.
6137 (grub_term_outputs): Likewise.
6138 (grub_term_inputs): Likewise.
6139 (grub_term_register_input): Rewritten.
6140 (grub_term_register_output): Likewise.
6141 (grub_term_unregister_input): Likewise.
6142 (grub_term_unregister_output): Likewise.
6143 (FOR_ACTIVE_TERM_INPUTS): New macro.
6144 (FOR_DISABLED_TERM_INPUTS): Likewise.
6145 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6146 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6147 * include/grub/terminfo.h: Add oterm argument to all protypes.
6148 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
6149 Use grub_rescue_run.
6150 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
6151 All users updated.
6152 * kern/reader.c: Removed. All users updated.
6153 * kern/rescue_reader.c (grub_rescue_init): Removed.
6154 (grub_rescue_reader): Likewise.
6155 (grub_register_rescue_reader): Likewise.
6156 (grub_rescue_run): New function based on kern/reader.c.
6157 * kern/term.c: Adapted for multiterm.
6158 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
6159 (grub_is_valid_utf8): Likewise.
6160 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
6161 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
6162 right terminal.
6163 * loader/i386/linux.c (grub_linux_boot): Likewise.
6164 * normal/auth.c (grub_username_get): New function.
6165 (grub_auth_check_authentication): Use grub_username_get.
6166 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
6167 * normal/color.c: Adapt for multiterm.
6168 * normal/main.c (read_config_file): Don't use grub_reader_loop.
6169 (grub_normal_init_page): Additional argument term.
6170 (read_lists): Call read_terminal_lists.
6171 (grub_enter_normal_mode): Call grub_cmdline_run.
6172 Handle grub_normal_exit_level.
6173 (grub_cmd_normal): Make reentrant.
6174 (grub_cmd_normal_exit): New function.
6175 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
6176 * normal/menu.c: Adapt for multiterm.
6177 * normal/menu_entry.c: Likewise.
6178 * normal/menu_text.c: Likewise.
6179 * normal/menu_viewer.c: Removed. All users updated.
6180 * normal/term.c: New file.
6181 * util/console.c: Change order of includes to workaround a bug in
6182 ncurses headers.
6183 * term/terminfo.c: New argument oterm on all exported functions.
6184 All users updated.
6185 * util/grub-editenv.c (grub_term_input_class): Removed.
6186 (grub_term_output_class): Likewise.
6187
1a064917
RM
61882010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6189
6190 Make loader output a bit more user-friendly.
6191
6192 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
6193 is being loaded. Likewise for the Hurd.
6194
6195 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
6196 that kernel of FreeBSD ${version} is being loaded.
6197
6198 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
6199 grub_dprintf().
6200 (grub_cmd_initrd): Likewise.
6201 * util/grub.d/10_linux.in (linux_entry): Print message indicating
6202 that Linux ${version} is being loaded. Likewise for initrd.
6203
5ce0a83a 62042010-01-09 Carles Pina i Estany <carles@pina.cat>
6205
6206 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
6207
809bbfeb 62082010-01-08 Carles Pina i Estany <carles@pina.cat>
6209
6210 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
6211 (GRUB_MOD_INIT): Gettextizze.
6212 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
6213 (GRUB_MOD_INIT): Gettextizze.
6214 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
6215 (grub_cmd_linux): Capitalise Linux.
6216 (GRUB_MOD_INIT): Gettextizze.
6217 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
6218 (grub_cmd_linux): Capitalise Linux.
6219 (GRUB_MOD_INIT): Gettextizze.
6220 * loader/i386/linux.c: Include `<grub/i18n.h>'.
6221 (grub_cmd_linux): Capitalise Linux.
6222 (GRUB_MOD_INIT): Gettextizze.
6223 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
6224 (GRUB_MOD_INIT): Gettextizze.
6225 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
6226 (grub_cmd_linux): Capitalise Linux.
6227 (GRUB_MOD_INIT): Gettextizze.
6228 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
6229 (grub_cpu_xnu_init): Gettextizze.
6230 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
6231 (GRUB_MOD_INIT): Gettextizze.
6232 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
6233 (GRUB_MOD_INIT): Gettextizze.
6234 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
6235 (grub_linux_load64): Capitalise Linux.
6236 (GRUB_MOD_INIT): Gettextizze.
6237 * loader/xnu.c: Include `<grub/i18n.h>'.
6238 (GRUB_MOD_INIT): Gettextizze.
6239 * po/POTFILES: Add `loader/efi/appleloader.c',
6240 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
6241 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
6242 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
6243 `loader/i386/xnu.c', `loader/multiboot_loader.c',
6244 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
6245 and `loader/xnu.c'.
6246
b394b2ca
RM
62472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
6248
6249 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
6250
62512010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
6252
6253 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
6254 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
6255 * util/mkisofs/mkisofs.c (main): Readjust --version output.
6256
bc8b32b3
RM
62572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6258
6259 Reset Multiboot 2 support. New loader implements the draft in
6260 /branches/multiboot2 and shares as much code as possible with the
6261 production Multiboot 1 implementation.
6262
6263 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
6264 * loader/multiboot2.c: Likewise.
6265 * loader/i386/multiboot_helper.S: Likewise.
6266 * include/multiboot2.h: Replace with latest version from the draft
6267 in /branches/multiboot2.
6268
6269 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
6270 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
6271 and `loader/multiboot2.c'.
6272 (pkglib_MODULES): Add `multiboot2.mod'.
6273 (multiboot2_mod_SOURCES): New variable.
6274 (multiboot2_mod_LDFLAGS): Likewise.
6275 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6276
6277 * conf/i386-pc.rmk: Likewise.
6278
6279 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6280 (multiboot_mod_SOURCES): Remove variable.
6281 (multiboot_mod_LDFLAGS): Likewise.
6282 (multiboot_mod_CFLAGS): Likewise.
6283
6284 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6285 `<multiboot2.h>' instead of `<multiboot.h>'.
6286 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6287 (MULTIBOOT_HEADER_MAGIC): New macros.
6288
6289 * loader/multiboot_loader.c (module_version_status): Remove variable.
6290 (find_multi_boot2_header): Remove function.
6291 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6292 logic. Always check for the Multiboot version we're compiling for.
6293 (grub_cmd_module_loader): Likewise.
6294 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6295 command instead of `multiboot'.
6296
5d2c52b8
RM
62972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6298
6299 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6300 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6301 all users.
6302
53108d92
RM
63032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
63042010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 Fix breakage introduced with previous commit.
6307
6308 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6309 commands.
6310 * normal/handler.c (read_handler_list): Revert part of previous commit
6311 affecting this file.
6312 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6313 (grub_normal_execute): ... here.
6314
e2e936b2
RM
63152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6316
6317 Merge prefix-redefinition-fix branch.
6318
6319 * normal/autofs.c (read_fs_list): Make function capable of being
6320 run multiple times, gracefuly replacing the previous data
6321 structures.
6322 * normal/dyncmd.c (read_command_list): Likewise.
6323 * normal/handler.c (read_handler_list): Likewise.
6324 * normal/main.c (read_lists): New function. Calls all the
6325 list reading functions.
6326 (grub_normal_execute): Use read_lists() instead of calling all
6327 list reading functions explicitly. Register read_lists() as a
6328 variable hook attached to ${prefix}.
6329
607a3701
VS
63302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 Merge crypto branch.
6333
6334 * Makefile.in (pkglib_DATA): Add crypto.lst.
6335 (crypto.lst): New target.
6336 * commands/hashsum.c: New file.
6337 * commands/password.c (check_password): Use grub_crypto_memcmp.
6338 * commands/password_pbkdf2.c: New file.
6339 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6340 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6341 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6342 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6343 -I$(srcdir)/lib/libgcrypt_wrap.
6344 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6345 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6346 password_pbkdf2.mod.
6347 (crypto_mod_SOURCES): New variable.
6348 (crypto_mod_CFLAGS): Likewise.
6349 (crypto_mod_LDFLAGS): Likewise.
6350 (hashsum_mod_SOURCES): New variable.
6351 (hashsum_mod_CFLAGS): Likewise.
6352 (hashsum_mod_LDFLAGS): Likewise.
6353 (pbkdf2_mod_SOURCES): New variable.
6354 (pbkdf2_mod_CFLAGS): Likewise.
6355 (pbkdf2_mod_LDFLAGS): Likewise.
6356 (password_pbkdf2_mod_SOURCES): New variable.
6357 (password_pbkdf2_mod_CFLAGS): Likewise.
6358 (password_pbkdf2_mod_LDFLAGS): Likewise.
6359 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6360 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6361 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6362 Include conf/gcry.rmk.
6363 * include/grub/auth.h: Rewritten.
6364 * include/grub/crypto.h: New file.
6365 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6366 * include/grub/normal.h (read_crypto_list): New prototype.
6367 * lib/crypto.c: New file.
6368 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6369 * lib/pbkdf2.c: Likewise.
6370 * normal/auth.c (grub_auth_strcmp): Removed.
6371 (grub_iswordseparator): Likewise.
6372 (grub_auth_strword): Likewise.
6373 (is_authenticated): Use grub_strword.
6374 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6375 and grub_strword. Pass entered password to authentication callback.
6376 * normal/crypto.c: New file.
6377 * normal/main.c: Call read_crypto_list.
6378 * util/grub-mkpasswd-pbkdf2.c: New file.
6379 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6380
42841caa
VS
63812010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 Fix descent and ascent calculation.
6384
6385 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6386 (options): New option "asce".
6387 (usage): Likewise.
6388 (add_char): Ignore invalid glyphs for descent calculation.
6389 Calculate ascent from actual content.
6390 (print_glyphs): Use 'asce'.
6391 (write_font): Likewise. Allow ascent override.
6392 (main): Handle "asce" option.
6393
e7730de7 63942010-01-06 Carles Pina i Estany <carles@pina.cat>
6395
6396 * kern/err.c: Include `<grub/i18n.h>'.
6397 (grub_print_error): Add full stop. Gettextizze.
6398 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6399 (grub_bsd_load_elf): Capitalise ELF.
6400 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6401 (grub_cmd_freebsd_module): Likewise.
6402 (grub_cmd_freebsd_module_elf): Likewise.
6403 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6404
40e3a41f 64052010-01-06 Carles Pina i Estany <carles@pina.cat>
6406
6407 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6408 * commands/search_file.c (HELP_MESSAGE): New macro.
6409 * commands/search_label.c (HELP_MESSAGE): Likewise.
6410 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6411 * po/POTFILES: Add `commands/search_file.c',
6412 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6413 `commands/search.c'.
6414
83507e68
RM
64152010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6416
6417 * config.rpath: Update from Gnulib.
6418
465c787b
YB
64192010-01-05 Yves Blusseau <blusseau@zetam.org>
6420
6421 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6422
6581dd3a
YB
64232010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6424
6425 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6426
3bff18c5
CW
64272010-01-05 Colin Watson <cjwatson@ubuntu.com>
6428
6429 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6430 arguments to fread so that we get a return value in bytes, rather
6431 than something that will normally be rounded down to 0.
6432 Adjust error handling to avoid producing garbage when size_t is not
6433 the same size as long long.
6434
a1368118
CW
64352010-01-05 Colin Watson <cjwatson@ubuntu.com>
6436
6437 * util/mkisofs/write.c (padblock_write): Check return value of
6438 fread.
6439
7c302978
RM
64402010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6441
6442 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6443 floppy images now.
6444
6445 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6446
e33ace06
RM
64472010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6448
6449 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6450 instead of manual alignment.
6451 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6452 verbose). Avoid attempts to read past end of the device
6453 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6454 but GRUB_DISK_CACHE_SIZE may exceed that).
6455
4b856776
RM
64562010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6457
6458 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6459 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6460 it to upper layer.
6461
52c2d97f
VS
64622010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6465 New constant.
6466 (grub_efi_piwg_device_path): New structure
6467 (grub_efi_piwg_device_path_t): New type.
6468 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6469 (devpath_1): Transform to a structure. All users updated.
6470 (devpath_2): Likewise.
6471 (devpath_3): Likewise.
6472 (devpath_4): Likewise.
6473 (devpath_5): Likewise.
6474
98ff6a54
VS
64752010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * loader/efi/appleloader.c: Restored. Update all users.
6478
3a73dcb6
RM
64792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6480
6481 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6482
6483 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6484 (struct boot_blocklist): Move from here ...
6485 * include/grub/i386/pc/boot.h [ASM_FILE]
6486 (struct grub_boot_blocklist): ... to here. Update all users.
6487 (setup): Only initialize `start' member of `first_block'
6488 structure. Add assert() calls to verify the other members.
6489
6490 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6491 (generate_image): Fix broken blocklist length initialization.
6492 Add assert() call to verify blocklist `segment' field.
6493
ab0eeb0c
RM
64942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6495
6496 * loader/efi/appleloader.c: Remove. Update all users.
6497
58bc8bd5
RM
64982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6499
6500 * boot/i386/pc/boot.S: Update copyright year.
6501 * boot/i386/pc/cdboot.S: Likewise.
6502 * boot/i386/pc/diskboot.S: Likewise.
6503 * boot/i386/pc/lnxboot.S: Likewise.
6504 * boot/i386/pc/pxeboot.S: Likewise.
6505 * bus/pci.c: Likewise.
6506 * commands/cmp.c: Likewise.
6507 * commands/help.c: Likewise.
6508 * commands/hexdump.c: Likewise.
6509 * commands/i386/pc/halt.c: Likewise.
6510 * commands/i386/pc/play.c: Likewise.
6511 * commands/i386/pc/vbeinfo.c: Likewise.
6512 * commands/ls.c: Likewise.
6513 * commands/test.c: Likewise.
6514 * disk/dmraid_nvidia.c: Likewise.
6515 * disk/i386/pc/biosdisk.c: Likewise.
6516 * disk/ieee1275/nand.c: Likewise.
6517 * disk/ieee1275/ofdisk.c: Likewise.
6518 * disk/lvm.c: Likewise.
6519 * disk/raid.c: Likewise.
6520 * disk/raid6_recover.c: Likewise.
6521 * disk/scsi.c: Likewise.
6522 * fs/affs.c: Likewise.
6523 * fs/cpio.c: Likewise.
6524 * fs/ext2.c: Likewise.
6525 * fs/hfs.c: Likewise.
6526 * fs/iso9660.c: Likewise.
6527 * fs/ntfs.c: Likewise.
6528 * fs/sfs.c: Likewise.
6529 * fs/udf.c: Likewise.
6530 * fs/ufs.c: Likewise.
6531 * fs/xfs.c: Likewise.
6532 * gencmdlist.sh: Likewise.
6533 * genmk.rb: Likewise.
6534 * include/grub/disk.h: Likewise.
6535 * include/grub/efi/api.h: Likewise.
6536 * include/grub/efi/efi.h: Likewise.
6537 * include/grub/efi/pe32.h: Likewise.
6538 * include/grub/elf.h: Likewise.
6539 * include/grub/fs.h: Likewise.
6540 * include/grub/i386/at_keyboard.h: Likewise.
6541 * include/grub/i386/pc/memory.h: Likewise.
6542 * include/grub/i386/pc/vbe.h: Likewise.
6543 * include/grub/i386/pci.h: Likewise.
6544 * include/grub/i386/tsc.h: Likewise.
6545 * include/grub/ieee1275/ieee1275.h: Likewise.
6546 * include/grub/ntfs.h: Likewise.
6547 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6548 * include/grub/sparc64/libgcc.h: Likewise.
6549 * include/grub/symbol.h: Likewise.
6550 * include/grub/types.h: Likewise.
6551 * include/multiboot2.h: Likewise.
6552 * io/gzio.c: Likewise.
6553 * kern/device.c: Likewise.
6554 * kern/disk.c: Likewise.
6555 * kern/efi/efi.c: Likewise.
6556 * kern/efi/mm.c: Likewise.
6557 * kern/elf.c: Likewise.
6558 * kern/file.c: Likewise.
6559 * kern/i386/dl.c: Likewise.
6560 * kern/i386/pc/init.c: Likewise.
6561 * kern/i386/pc/startup.S: Likewise.
6562 * kern/ieee1275/ieee1275.c: Likewise.
6563 * kern/ieee1275/init.c: Likewise.
6564 * kern/main.c: Likewise.
6565 * kern/mm.c: Likewise.
6566 * kern/powerpc/dl.c: Likewise.
6567 * kern/sparc64/dl.c: Likewise.
6568 * kern/x86_64/dl.c: Likewise.
6569 * lib/hexdump.c: Likewise.
6570 * loader/efi/appleloader.c: Likewise.
6571 * loader/i386/ieee1275/linux.c: Likewise.
6572 * loader/i386/pc/chainloader.c: Likewise.
6573 * loader/i386/pc/linux.c: Likewise.
6574 * loader/i386/pc/multiboot2.c: Likewise.
6575 * loader/ieee1275/multiboot2.c: Likewise.
6576 * loader/multiboot2.c: Likewise.
6577 * loader/multiboot_loader.c: Likewise.
6578 * loader/powerpc/ieee1275/linux.c: Likewise.
6579 * normal/completion.c: Likewise.
6580 * normal/menu_entry.c: Likewise.
6581 * partmap/apple.c: Likewise.
6582 * util/grub.d/10_hurd.in: Likewise.
6583 * util/hostfs.c: Likewise.
6584 * video/readers/png.c: Likewise.
6585
e2d70b5c
CW
65862010-01-03 Colin Watson <cjwatson@ubuntu.com>
6587
6588 * include/grub/misc.h (GNUC_PREREQ): New macro.
6589 (ATTRIBUTE_ERROR): New macro.
6590 * include/grub/list.h (grub_bad_type_cast_real): Use
6591 ATTRIBUTE_ERROR.
6592
a173283f 65932010-01-03 Carles Pina i Estany <carles@pina.cat>
6594
6595 * normal/menu_text.c (print_message): Change messages.
6596
7fa7ff74 65972010-01-03 Carles Pina i Estany <carles@pina.cat>
6598
6599 * normal/menu_entry.c (store_completion): Gettextizze.
6600
136d24f6 66012010-01-03 Carles Pina i Estany <carles@pina.cat>
6602
6603 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6604
f936862e 66052010-01-03 Carles Pina i Estany <carles@pina.cat>
6606
6607 * po/POTFILES: Sort correctly.
6608
29c44ad1 66092010-01-03 Carles Pina i Estany <carles@pina.cat>
6610
6611 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6612 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6613 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6614 full stop.
6615 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6616 summary. Gettextizze the strings.
6617 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6618 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6619 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6620 full stop.
6621 (GRUB_MOD_INIT): Remove command name from summary.
6622 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6623 summary.
6624 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6625 * term/i386/pc/serial.c (options): Add full stops.
6626 (GRUB_MOD_INIT): Remove command name from the summary.
6627
77a79592 66282010-01-03 Carles Pina i Estany <carles@pina.cat>
6629
6630 * commands/acpi.c: Gettextizze help strings and/or options. Include
6631 `grub/i18n.h' if needed.
6632 * commands/blocklist.c: Likewise.
6633 * commands/boot.c: Likewise.
6634 * commands/cat.c: Likewise.
6635 * commands/cmp.c: Likewise.
6636 * commands/configfile.c: Likewise.
6637 * commands/crc.c: Likewise.
6638 * commands/date.c: Likewise.
6639 * commands/echo.c: Likewise.
6640 * commands/efi/fixvideo.c: Likewise.
6641 * commands/efi/loadbios.c: Likewise.
6642 * commands/gptsync.c: Likewise.
6643 * commands/halt.c: Likewise.
6644 * commands/handler.c: Likewise.
6645 * commands/hdparm.c: Likewise.
6646 * commands/hexdump.c: Likewise.
6647 * commands/i386/cpuid.c: Likewise.
6648 * commands/i386/pc/drivemap.c: Likewise.
6649 * commands/i386/pc/halt.c: Likewise.
6650 * commands/i386/pc/pxecmd.c: Likewise.
6651 * commands/i386/pc/vbeinfo.c: Likewise.
6652 * commands/i386/pc/vbetest.c: Likewise.
6653 * commands/ieee1275/suspend.c: Likewise.
6654 * commands/keystatus.c: Likewise.
6655 * commands/loadenv.c: Likewise.
6656 * commands/ls.c: Likewise.
6657 * commands/lsmmap.c: Likewise.
6658 * commands/lspci.c: Likewise.
6659 * commands/memrw.c: Likewise.
6660 * commands/minicmd.c: Likewise.
6661 * commands/parttool.c: Likewise.
6662 * commands/password.c: Likewise.
6663 * commands/probe.c: Likewise.
6664 * commands/read.c: Likewise.
6665 * commands/reboot.c: Likewise.
6666 * commands/search.c: Likewise.
6667 * commands/sleep.c: Likewise.
6668 * commands/test.c: Likewise.
6669 * commands/true.c: Likewise.
6670 * commands/usbtest.c: Likewise.
6671 * commands/videotest.c: Likewise.
6672 * commands/xnu_uuid.c: Likewise.
6673 * disk/loopback.c: Likewise.
6674 * hello/hello.c: Likewise.
6675 * loader/i386/bsd.c: Likewise.
6676 * term/i386/pc/serial.c: Likewise.
6677 * po/POTFILES: Add new files.
6678
da8d5c53
CW
66792010-01-02 Colin Watson <cjwatson@ubuntu.com>
6680
6681 * term/i386/pc/at_keyboard.c
6682 (keyboard_controller_wait_untill_ready): Rename to ...
6683 (keyboard_controller_wait_until_ready): ... this. Update all users.
6684
33937904 66852010-01-01 Carles Pina i Estany <carles@pina.cat>
6686
6687 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6688 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6689 string using string width.
6690 * normal/menu_text.c (grub_print_message_indented): Use
6691 grub_print_spaces and not print_spaces.
6692 (print_timeout): Likewise.
6693 (print_spaces): Move to...
6694 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6695
3fd3b8d8
RM
66962010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6697
6698 Import from Gnulib.
6699
6700 * gnulib/getdelim.c: New file.
6701 * gnulib/getline.c: Likewise.
6702
33433555
VS
67032009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6704
6705 * include/grub/list.h (grub_assert_fail): Removed.
6706 (grub_bad_type_cast_real): New function.
6707 (grub_bad_type_cast): New macro.
6708 (GRUB_AS_LIST): Use grub_bad_type_cast.
6709 (GRUB_AS_LIST_P): Likewise.
e44721e8 6710 (GRUB_AS_NAMED_LIST): Likewise.
33433555 6711 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 6712 (GRUB_AS_PRIO_LIST): Likewise.
33433555 6713 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 6714 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 6715
f5a51306
VS
67162009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6719 Fix syntax error.
6720
90d1e879
RM
67212009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6722
6723 * configure.ac: Check for TARGET_CFLAGS initialization before we
6724 initialize it ourselves (sigh).
6725 Move a few modifications to TARGET_CFLAGS to be unconditional
6726 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6727 eh_frame)
6728
6729 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6730 * term/i386/pc/at_keyboard.c
6731 (keyboard_controller_wait_untill_ready): Likewise.
6732 (keyboard_controller_led): Rename `led_status' paramter to avoid
6733 name conflict.
6734
465b5a81 67352009-12-28 Carles Pina i Estany <carles@pina.cat>
6736
6737 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6738 quotes.
6739
c181849b
VS
67402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6743
9c8739a4
VS
67442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * normal/menu_text.c (grub_print_message_indented): Prevent
6747 past-the-end-of-array dereference.
6748
3e74249c
VS
67492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6752 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6753
64fd18ed 67542009-12-27 Carles Pina i Estany <carles@pina.cat>
6755
6756 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6757 * normal/main.c (grub_normal_read_line): Remove a space from the
6758 default prompt.
6759
714af9b9 67602009-12-27 Carles Pina i Estany <carles@pina.cat>
6761
6762 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6763 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6764 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6765 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6766 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6767 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6768 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6769
82f3e412 67702009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 6771
6772 * video/readers/jpeg.c (cmd): Declare.
6773 (grub_cmd_jpegtest): Use `grub_command_t' type.
6774 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6775 Assign to `cmd'.
6776 (GRUB_MOD_FINI): Use `cmd' to unregister.
6777 * video/readers/png.c (cmd): Declare.
6778 (grub_cmd_pngtest): Use `grub_command_t' type.
6779 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6780 Assign to `cmd'.
6781 (GRUB_MOD_FINI): Use `cmd' to unregister.
6782 * video/readers/tga.c (cmd): Declare.
6783 (grub_cmd_tgatest): Use `grub_command_t' type.
6784 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6785 Assign to `cmd'.
6786 (GRUB_MOD_FINI): Use `cmd' to unregister.
6787
82f3e412 67882009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 6789
6790 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6791 stops.
6792 * kern/corecmd.c (grub_register_core_commands): Likewise.
6793 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6794 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6795 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6796 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6797 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6798 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6799 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6800 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6801 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6802 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6803 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6804 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6805 * normal/handler.c (insert_handler): Likewise.
6806 * normal/main.c (GRUB_MOD_INIT): Likewise.
6807 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6808
fdcdbb66 68092009-12-26 Carles Pina i Estany <carles@pina.cat>
6810
6811 * commands/help.c (grub_cmd_help): Print the command name before the
6812 summary.
6813 (GRUB_MOD_INIT): Remove command name from the summary.
6814 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 6815 string as summary.
fdcdbb66 6816 * lib/arg.c (find_long): Print the command name before the summary.
6817 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6818 summary.
6819 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6820 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6821 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6822 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6823 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6824 * commands/date.c (GRUB_MOD_INIT): Likewise.
6825 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6826 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6827 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6828 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6829 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6830 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6831 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6832 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6833 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6834 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6835 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6836 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6837 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6838 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6839 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6840 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6841 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6842 * commands/password.c (GRUB_MOD_INIT): Likewise.
6843 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6844 * commands/read.c (GRUB_MOD_INIT): Likewise.
6845 * commands/search.c (GRUB_MOD_INIT): Likewise.
6846 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6847 * commands/test.c (GRUB_MOD_INIT): Likewise.
6848 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6849 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6850 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6851 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6852 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6853 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6854 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6855 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6856 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6857 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6858 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6859 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6860 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6861 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6862
9c288be2
VS
68632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 Use search command for preliminar UUID search.
6866
6867 * commands/search.c: Split into ...
6868 * commands/search_wrap.c: ...this
6869 * commands/search.c: ...and this.
6870 * commands/search_file.c: New file.
6871 * commands/search_label.c: New file.
6872 * commands/search_uuid.c: New file.
6873 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6874 Add commands/search_wrap.c, commands/search_file.c,
6875 commands/search_label.c and commands/search_uuid.c.
6876 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6877 (search_mod_SOURCES): Set to commands/search_wrap.c.
6878 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6879 search_label.mod.
6880 (search_fs_file_mod_SOURCES): New variable.
6881 (search_fs_file_mod_CFLAGS): Likewise.
6882 (search_fs_file_mod_LDFLAGS): Likewise.
6883 (search_label_mod_SOURCES): Likewise.
6884 (search_label_mod_CFLAGS): Likewise.
6885 (search_label_mod_LDFLAGS): Likewise.
6886 (search_fs_uuid_mod_SOURCES): New variable.
6887 (search_fs_uuid_mod_CFLAGS): Likewise.
6888 (search_fs_uuid_mod_LDFLAGS): Likewise.
6889 (fs_file_mod_SOURCES): Removed.
6890 (fs_file_mod_CFLAGS): Likewise.
6891 (fs_file_mod_LDFLAGS): Likewise.
6892 (fs_uuid_mod_SOURCES): Removed.
6893 (fs_uuid_mod_CFLAGS): Likewise.
6894 (fs_uuid_mod_LDFLAGS): Likewise.
6895 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6896 Set to util/grub-install.in.
6897 * disk/fs_file.c: Removed.
6898 * disk/fs_uuid.c: Likewise.
6899 * include/grub/search.h: New file.
6900 * util/grub-install.in: Handle sparc64.
6901 Create and use load.cfg.
6902 * util/sparc64/ieee1275/grub-install.in: Removed.
6903
db943399
VS
69042009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6907 Ignore return status if CF is cleared.
6908 (grub_biosdisk_get_diskinfo_standard): Likewise.
6909
3fdae612
RM
69102009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6911
6912 * term/i386/pc/at_keyboard.c
6913 (keyboard_controller_wait_untill_ready): New function.
6914 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6915 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6916 for keyboard polling, rather than duplicate the same loop. This
6917 saves a few bytes in code size.
6918
7ebaa2b4
VS
69192009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 Support for (pxe[:server[:gateway]]) syntax and
6922 use environment variable for PXE.
6923
6924 * commands/i386/pc/pxecmd.c (options): Removed.
6925 (print_ip): Removed.
6926 (grub_cmd_pxe): Removed
6927 (grub_cmd_pxe_unload): New function.
6928 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6929 (grub_pxe_your_ip): Made static.
6930 (grub_pxe_default_server_ip): Likewise.
6931 (grub_pxe_default_gateway_ip): Likewise.
6932 (grub_pxe_blksize): Likewise.
6933 (parse_ip): New function.
6934 (grub_pxe_open): Support server and gateway specification.
6935 (grub_pxe_close): Free disk->data.
6936 (grub_pxefs_open): Use disk->data.
6937 (grub_pxefs_read): Likewise.
6938 (grub_env_write_readonly): New function.
6939 (set_mac_env): Likewise.
6940 (set_env_limn_ro): Likewise.
6941 (parse_dhcp_vendor): Likewise.
6942 (grub_pxe_detect): Set the environment variables.
6943 (set_ip_env): New function.
6944 (write_ip_env): Likewise.
6945 (grub_env_write_pxe_default_server): Likewise.
6946 (grub_env_write_pxe_default_gateway): Likewise.
6947 (grub_env_write_pxe_blocksize): Likewise.
6948 (GRUB_MOD_INIT(pxe)): Set environment variables.
6949 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6950 (grub_pxe_mac_addr_t): ... this. All users updated.
6951 (grub_pxe_your_ip): Removed.
6952 (grub_pxe_server_ip): Likewise.
6953 (grub_pxe_gateway_ip): Likewise.
6954 (grub_pxe_blksize): Likewise.
6955
ec5f98ab 69562009-12-25 Carles Pina i Estany <carles@pina.cat>
6957
6958 * commands/help.c: Include `<grub/i18n.h>'.
6959 (grub_cmd_help): Gettextizze.
6960 (GRUB_MOD_INIT): Likewise.
6961 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6962 (GRUB_MOD_INIT): Gettextizze.
6963 * commands/search.c: Include `<grub/i18n.h>'.
6964 (options): Gettextizze.
6965 (GRUB_MOD_INIT): Gettextizze.
6966 * lib/arg.c: Include `<grub/i18n.h>'.
6967 (help_options): Gettextizze.
6968 (find_long): Likewise.
6969 (grub_arg_show_help): Likewise.
6970 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6971 (read_command_list): Gettextizze.
6972 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 6973 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 6974
22815526
RM
69752009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6976
6977 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6978 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6979 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6980 (led_status): New variable.
6981 (keyboard_controller_led): New function.
6982 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6983 update led status for caps lock, num lock and scroll lock.
6984
0ad46fd7
FZ
69852009-12-25 Felix Zielcke <fzielcke@z-51.de>
6986
6987 * util/hostdisk.c (open_device): Fix a comment.
6988
d0e158c2
RM
69892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6990
6991 * util/grub-install.in (host_os): New variable.
6992 * util/i386/efi/grub-install.in (host_os): Likewise.
6993
401c0ad6
RM
69942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6995
6996 * util/mkisofs/write.c (padblock_write): Abort when given an
6997 excedingly large embed image, instead of silently truncating it.
6998
d14d3370
RM
69992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7000
7001 * include/multiboot.h: Indentation fixes.
7002
eeed10b4
RM
70032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7004
7005 * include/multiboot.h (struct multiboot_aout_symbol_table)
7006 (struct multiboot_elf_section_header_table): New structure
7007 declarations (stolen from GRUB Legacy).
7008 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
7009 table information.
7010
7011 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
7012 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
7013 type aliases.
7014
681c70ab
RM
70152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7016
7017 * include/multiboot.h: Make comments src2texi-friendly.
7018
e4d47d8d
RM
70192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7020
7021 For consistency with [multiboot]/docs/boot.S.
7022
7023 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
7024 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
7025 (MULTIBOOT_MAGIC2): Rename from this ...
7026 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
7027
a0b70bda
RM
70282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7029
7030 * include/multiboot.h: Remove `<grub/types.h>'.
7031 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
7032 types. Update all users.
7033
61ba42be 70342009-12-25 Carles Pina i Estany <carles@pina.cat>
7035
7036 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
7037 `couldn't' and `can not' by `cannot'.
7038 * commands/i386/pc/drivemap.c: Likewise.
7039 * disk/ata.c: Likewise.
7040 * disk/ieee1275/nand.c: Likewise.
7041 * fs/affs.c: Likewise.
7042 * fs/fat.c: Likewise.
7043 * fs/hfs.c: Likewise.
7044 * fs/hfsplus.c: Likewise.
7045 * fs/iso9660.c: Likewise.
7046 * fs/jfs.c: Likewise.
7047 * fs/minix.c: Likewise.
7048 * fs/reiserfs.c: Likewise.
7049 * fs/sfs.c: Likewise.
7050 * fs/udf.c: Likewise.
7051 * fs/ufs.c: Likewise.
7052 * fs/xfs.c: Likewise.
7053 * loader/powerpc/ieee1275/linux.c: Likewise.
7054 * loader/sparc64/ieee1275/linux.c: Likewise.
7055 * util/grub-probe.c: Likewise.
7056 * util/misc.c: Likewise.
7057
7fd0baee 70582009-12-24 Carles Pina i Estany <carles@pina.cat>
7059
7060 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
7061 grub_errno calls.
7062 * commands/acpi.c: Likewise.
7063 * commands/blocklist.c: Likewise.
7064 * commands/efi/loadbios.c: Likewise.
7065 * commands/i386/pc/drivemap.c: Likewise.
7066 * commands/loadenv.c: Likewise.
7067 * commands/memrw.c: Likewise.
7068 * commands/password.c: Likewise.
7069 * commands/videotest.c: Likewise.
7070 * disk/ata.c: Likewise.
7071 * disk/ata_pthru.c: Likewise.
7072 * disk/dmraid_nvidia.c: Likewise.
7073 * disk/ieee1275/nand.c: Likewise.
7074 * disk/ieee1275/ofdisk.c: Likewise.
7075 * disk/loopback.c: Likewise.
7076 * disk/lvm.c: Likewise.
7077 * disk/mdraid_linux.c: Likewise.
7078 * disk/raid.c: Likewise.
7079 * disk/raid6_recover.c: Likewise.
7080 * disk/scsi.c: Likewise.
7081 * efiemu/main.c: Likewise.
7082 * efiemu/mm.c: Likewise.
7083 * efiemu/pnvram.c: Likewise.
7084 * efiemu/symbols.c: Likewise.
7085 * font/font.c: Likewise.
7086 * fs/cpio.c: Likewise.
7087 * fs/hfsplus.c: Likewise.
7088 * fs/iso9660.c: Likewise.
7089 * fs/jfs.c: Likewise.
7090 * fs/minix.c: Likewise.
7091 * fs/ntfs.c: Likewise.
7092 * fs/ntfscomp.c: Likewise.
7093 * fs/reiserfs.c: Likewise.
7094 * fs/ufs.c: Likewise.
7095 * fs/xfs.c: Likewise.
7096 * gettext/gettext.c: Likewise.
7097 * include/grub/auth.h: Likewise.
7098 * kern/elf.c: Likewise.
7099 * kern/file.c: Likewise.
7100 * kern/ieee1275/init.c: Likewise.
7101 * kern/ieee1275/mmap.c: Likewise.
7102 * kern/ieee1275/openfw.c: Likewise.
7103 * kern/powerpc/dl.c: Likewise.
7104 * kern/sparc64/dl.c: Likewise.
7105 * lib/arg.c: Likewise.
7106 * loader/i386/bsd.c: Likewise.
7107 * loader/i386/bsdXX.c: Likewise.
7108 * loader/i386/efi/linux.c: Likewise.
7109 * loader/i386/efi/xnu.c: Likewise.
7110 * loader/i386/ieee1275/linux.c: Likewise.
7111 * loader/i386/linux.c: Likewise.
7112 * loader/i386/multiboot.c: Likewise.
7113 * loader/i386/pc/linux.c: Likewise.
7114 * loader/i386/pc/multiboot2.c: Likewise.
7115 * loader/i386/xnu.c: Likewise.
7116 * loader/ieee1275/multiboot2.c: Likewise.
7117 * loader/macho.c: Likewise.
7118 * loader/machoXX.c: Likewise.
7119 * loader/multiboot2.c: Likewise.
7120 * loader/multiboot_loader.c: Likewise.
7121 * loader/powerpc/ieee1275/linux.c: Likewise.
7122 * loader/sparc64/ieee1275/linux.c: Likewise.
7123 * loader/xnu.c: Likewise.
7124 * loader/xnu_resume.c: Likewise.
7125 * mmap/i386/pc/mmap.c: Likewise.
7126 * normal/menu_viewer.c: Likewise.
7127 * partmap/acorn.c: Likewise.
7128 * partmap/amiga.c: Likewise.
7129 * partmap/apple.c: Likewise.
7130 * script/lexer.c: Likewise.
7131 * term/gfxterm.c: Likewise.
7132 * term/i386/pc/serial.c: Likewise.
7133 * term/i386/pc/vga.c: Likewise.
7134 * term/ieee1275/ofconsole.c: Likewise.
7135 * term/terminfo.c: Likewise.
7136 * video/bitmap.c: Likewise.
7137 * video/efi_gop.c: Likewise.
7138 * video/efi_uga.c: Likewise.
7139 * video/fb/video_fb.c: Likewise.
7140 * video/i386/pc/vbe.c: Likewise.
7141 * video/readers/tga.c: Likewise.
7142 * video/video.c: Likewise.
7143
0ad46fd7 71442009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
7145
7146 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
7147 * commands/lspci.c: Likewise.
7148 * commands/probe.c: Likewise.
7149 * commands/xnu_uuid.c: Likewise.
7150 * conf/i386-coreboot.rmk: Likewise.
7151 * conf/i386-efi.rmk: Likewise.
7152 * conf/i386-ieee1275.rmk: Likewise.
7153 * conf/i386-pc.rmk: Likewise.
7154 * conf/powerpc-ieee1275.rmk: Likewise.
7155 * conf/sparc64-ieee1275.rmk: Likewise.
7156 * conf/x86_64-efi.rmk: Likewise.
7157 * fs/i386/pc/pxe.c: Likewise.
7158 * gettext/gettext.c: Likewise.
7159 * include/grub/efi/graphics_output.h: Likewise.
7160 * include/grub/i386/pc/memory.h: Likewise.
7161 * kern/env.c: Likewise.
7162 * kern/i386/qemu/startup.S: Likewise.
7163 * lib/i386/pc/biosnum.c: Likewise.
7164 * lib/i386/relocator.c: Likewise.
7165 * lib/i386/relocator_asm.S: Likewise.
7166 * lib/relocator.c: Likewise.
7167 * loader/i386/bsd.c: Likewise.
7168 * loader/i386/multiboot.c: Likewise.
7169 * loader/i386/pc/chainloader.c: Likewise.
7170 * loader/i386/xnu.c: Likewise.
7171 * loader/xnu.c: Likewise.
7172 * normal/main.c: Likewise.
7173 * normal/menu_text.c: Likewise.
7174 * util/getroot.c: Likewise.
7175 * util/grub-mkconfig_lib.in: Likewise.
7176 * util/grub.d/00_header.in: Likewise.
7177 * util/i386/pc/grub-mkimage.c: Likewise.
7178 * util/mkisofs/eltorito.c: Likewise.
7179 * util/mkisofs/exclude.h: Likewise.
7180 * util/mkisofs/hash.c: Likewise.
7181 * util/mkisofs/iso9660.h: Likewise.
7182 * util/mkisofs/joliet.c: Likewise.
7183 * util/mkisofs/mkisofs.c: Likewise.
7184 * util/mkisofs/mkisofs.h: Likewise.
7185 * util/mkisofs/multi.c: Likewise.
7186 * util/mkisofs/name.c: Likewise.
7187 * util/mkisofs/rock.c: Likewise.
7188 * util/mkisofs/tree.c: Likewise.
7189 * util/mkisofs/write.c: Likewise.
7190 * video/efi_gop.c: Likewise.
7191
009ec743
VS
71922009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
7195 size counting.
7196
0ad46fd7 71972009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
7198
7199 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
7200 * genmk.rb (class SCRIPT): Modify the target file instead of source.
7201
d3d30ea0
VS
72022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
7205 (GRUB_MOD_INIT(memrw)): Update help line.
7206
a34f5c70
VS
72072009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
7210 Use grub_extcmd_t. All users updated.
7211 (options): New variable.
7212 (grub_cmd_read): Restructure for readability. Support "-v" option.
7213 (grub_cmd_write): Restructure for readability.
7214
0ad46fd7 72152009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
7216
7217 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
7218
0ad46fd7 72192009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
7220
7221 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
7222 with the actual contents of the correspondending make variable.
7223 * util/grub-mkrescue.in (pkglib_DATA): New variable.
7224 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
7225 specifying `*.lst' and `efiemu??.o'
7226
0ad46fd7 72272009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
7228
7229 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
7230 after function name.
7231 Noticed by Rene Engelhard <rene@debian.org>.
7232
dc77a799
VS
72332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
7236 (options): New variable.
7237 (iospace): Likewise.
7238 (grub_lspci_iter): List IO spaces if "-i" was given.
7239 (grub_cmd_lspci): Parse options.
7240 (GRUB_MOD_INIT(lspci)): Use extcmd.
7241 (GRUB_MOD_FINI(lspci)): Likewise.
7242
0ad46fd7 72432009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
7244
7245 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
7246 `function' keyword.
7247 Patch by Tony Mancill <tmancill@debian.org>.
7248
b5d5993b
VS
72492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
7252 (grub_uhci_portstatus): Likewise.
7253 (grub_uhci_portstatus): Add necessary delay.
11d18281 7254 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 7255
941903f2 72562009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 7257
941903f2 7258 * commands/acpi.c (options): Fix capitalizations and/or full stops.
7259 (GRUB_MOD_INIT): Likewise.
7260 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 7261 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
7262 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 7263 * commands/efi/loadbios.c (enable_rom_area): Likewise.
7264 (enable_rom_area): Likewise.
7265 (GRUB_MOD_INIT): Likewise.
7266 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7267 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
7268 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7269 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
7270 * commands/hexdump.c (options): Likewise.
7271 * commands/i386/cpuid.c (options): Likewise.
7272 (GRUB_MOD_INIT): Likewise.
7273 * commands/i386/pc/drivemap.c (options): Likewise.
7274 (GRUB_MOD_INIT): Likewise.
7275 * commands/i386/pc/halt (options): Likewise.
7276 (GRUB_MOD_INIT): Likewise.
7277 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7278 * commands/i386/pc/pxecmd.c (options): Likewise.
7279 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7280 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7281 * commands/keystatus.c (options): Likewise.
7282 (GRUB_MOD_INIT): Likewise.
7283 * commands/loadenv.c (options): Likewise.
7284 * commands/ls.c (options): Likewise.
7285 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7286 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7287 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7288 * commands/parttool.c (helpmsg): Likewise.
7289 * commands/probe.c (options): Likewise.
7290 * commands/read.c (GRUB_MOD_INIT): Likewise.
7291 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7292 * commands/search.c (options): Likewise.
7293 * commands/sleep.c (options): Likewise.
7294 * commands/test.c (GRUB_MOD_INIT): Likewise.
7295 * commands/true.c (GRUB_MOD_INIT): Likewise.
7296 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7297 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7298 * lib/arg.c (help_options): Likewise.
e9bbb4e7 7299 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7300 `$(XGETTEXT)'.
98a50553 7301 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 7302
0ad46fd7 73032009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 7304
ef3c2c3a 7305 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
7306 instead of specifying them explicit.
7307
7922f68b
RM
73082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7309
7310 * NEWS: Add grub-probe support for GNU/Hurd.
7311
537ce47f
RM
73122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7313
7314 * NEWS: gettext was added after 1.97.
7315
9b214e3a
RM
73162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7317
7318 * util/mkisofs/msdos_partition.h: New file (based on
7319 include/grub/msdos_partition.h).
7320 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7321 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7322 (ld_options, main): Recognize --protective-msdos-label.
7323 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7324 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7325 (padblock_write): If `use_protective_msdos_label' is set, patch a
7326 protective DOS-style label in the output image.
7327
7328 * util/grub-mkrescue.in: Use --protective-msdos-label.
7329
e9309813
RM
73302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7331
7332 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7333 boot.
7334
0ae56929
RM
73352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7336
7337 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7338 variables.
7339 (ld_options, main): Recognize `--embedded-boot'.
7340 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7341 declarations.
7342 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7343 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7344 (padblock_write): Likewise. Rewrite to support embedded boot image.
7345
7346 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7347 for BIOS-based disk boot instead of only ElTorito.
7348
b15937b1
RM
73492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7350
7351 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7352 build (not needed for bootstrap).
7353
52cc3ce0
RM
73542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7355
7356 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7357 from i386-pc build (not needed for bootstrap).
7358 Rewrite a pair of strings.
7359
36f5ff04
RM
73602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7361
7362 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7363
973c6c85 73642009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
7365
7366 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7367
05d21547
AB
73682009-12-21 Andreas Born <futur.andy@googlemail.com>
7369
7370 * kern/env.c (grub_env_context_open): Mark exported variable for
7371 reexport.
7372
0175d51f
AB
73732009-12-21 Andreas Born <futur.andy@googlemail.com>
7374
7375 * kern/env.c (grub_env_export): Create nonexistent variables before
7376 exporting.
7377
7f39d92f 73782009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 7379
7f39d92f 7380 * include/grub/auth.h: Include `<grub/i18n.h>'.
7381 (GRUB_GET_PASSWORD): Gettextizze string.
7382 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7383 menu_text.c.
7384 (grub_utf8_to_ucs4_alloc): Fix indentation.
7385 (grub_print_ucs4): Likewise.
7386 (grub_getstringwidth): Likewise.
7387 (print_message_indented): New declaration.
7388 * normal/auth.c: Include `<grub/i18n.h>'.
7389 (grub_auth_check_authentication): Gettexttize string.
7390 * normal/cmdline.c: Include `<grub/i18n.h>'.
7391 (grub_cmdline_get): Gettextizze.
7392 * normal/color.c: Include `<grub/i18n.h>'.
7393 (grub_parse_color_name_pair): Gettexttize strings.
7394 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7395 string (use `print_message_indented').
7396 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7397 `include/grub/normal.h'.
7398 (print_message_indented): Renamed to ...
7399 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7400 used in normal/main.c).
7401 (print_message): Use `grub_print_message_indented' instead of
7402 `print_message_indented'.
7403 (print_timeout): Likewise.
7404 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7405 (grub_normal_print_device_info): Gettexttize strings.
7406 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7407
3041d898
VS
74082009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7411 of arguments. Return number of tokens and not arguments. All users
7412 updated.
7413
de15bf8e
VS
74142009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7417 non-MSDOS paritions.
7418
e0a6ca52
VS
74192009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * include/grub/types.h (UNUSED): Removed since it conflicts with
7422 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7423 Reported by Grégoire Sutre.
7424
b99518d1 74252009-12-19 Carles Pina i Estany <carles@pina.cat>
7426
7427 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7428 (grub_print_ucs4_alloc): Likewise.
7429 (grub_getstringwidth): Likewise.
7430 * normal/main.c (grub_normal_init_page): Gettextize version string.
7431 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7432 (getstringwidth): Renamed to ...
7433 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7434 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7435 (grub_print_ucs4): Remove `static' qualifer (now used in
7436 normal/main.c).
7437 * po/POTFILES: Add normal/main.c.
7438
bfd5e52b 74392009-12-19 Carles Pina i Estany <carles@pina.cat>
7440
7441 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7442 (print_message_indented): Add `margin_left' and `margin_right'
7443 parameters.
7444 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7445 strings.
7446 (print_timeout): Use `print_message_indented' to print the message.
7447 Deletes `second_stage' parameter.
7448 (run_menu): Update `print_timeout' calls.
7449
5a1ad2b9
VS
74502009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 Fix console palette on OpenFirmware.
7453
7454 * term/ieee1275/ofconsole.c (MAX): Removed.
7455 (colors): Redone based on VGA palette.
7456 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7457 colors are supported.
7458 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7459
b045f00a
VS
74602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Fix potential EfiEmu double prepare.
7463
7464 * efiemu/main.c (prepared): New variable
7465 (grub_efiemu_unload): Set prepare to '0'.
7466 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7467
7468 set_virtual_address_map support.
7469
7470 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7471 prototype.
7472 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7473 prototype.
7474 (grub_efiemu_crc32): Likewise.
7475 (grub_efiemu_crc64): Likewise.
7476 (grub_efiemu_set_virtual_address_map): Likewise.
7477 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7478 New definition.
7479 (grub_autoefi_set_virtual_address_map): Likewise.
7480 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7481 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7482 Restructure flow to accomodate it.
7483 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7484 (grub_efiemu_crc): Recompute CRC32.
7485 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7486 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7487 * efiemu/symbols.c (relocated_handle): New variable.
7488 (grub_efiemu_free_syms): Free relocated_handle.
7489 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7490 (grub_efiemu_write_sym_markers): New function.
7491 (grub_efiemu_set_virtual_address_map): Likewise.
7492
7493 Newer XNU parameters.
7494
7495 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7496 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7497 (grub_xnu_fill_devicetree): New prototype.
7498 (grub_xnu_heap_real_start): New variable.
7499 * loader/xnu.c (get_name_ptr): New function.
7500 (grub_xnu_load_driver): Fill namelen and name.
7501
7502 64-bit xnu support.
7503
7504 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7505 and 'loader/macho64.c'.
7506 * conf/i386-pc.rmk: Likewise.
7507 * conf/x86_64-efi.rmk: Likewise.
7508 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7509 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7510 * include/grub/macho.h (grub_macho_segment64): New structure.
7511 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7512 (grub_macho_size32): ... to this.
7513 (grub_macho32_get_entry_point): Renamed from ...
7514 (grub_macho_get_entry_point32): ... to this.
7515 (grub_macho_contains_macho64): New prototype.
7516 (grub_macho_size64): Likewise.
7517 (grub_macho_get_entry_point64): Likewise.
7518 (grub_macho32_load): Renamed from ...
7519 (grub_macho_load32): ... to this.
7520 (grub_macho32_filesize): Renamed from ...
7521 (grub_macho_filesize32): ... to this.
7522 (grub_macho32_readfile): Renamed from ...
7523 (grub_macho_readfile32): ... to this.
7524 (grub_macho_filesize64): New prototype.
7525 (grub_macho_readfile64): Likewise.
7526 (grub_macho_parse32): Likewise.
7527 (grub_macho_parse64): Likewise.
7528 * loader/macho.c: Split into ...
7529 * loader/machoXX.c: ... and this. Replace 32 with XX.
7530 * loader/macho32.c: New file.
7531 * loader/macho64.c: Likewise.
7532 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7533 (grub_cmd_xnu_kernel): Make 32-bit only.
7534 (grub_cmd_xnu_kernel64): New function.
7535 (grub_xnu_load_driver): Support Mach-O 64.
7536 (grub_cmd_xnu_mkext): Likewise.
7537 * util/grub.d/30_os-prober.in (osx_entry): New function.
7538 Generate entries for 64-bit boot too.
7539
7540 Eliminate ad-hoc tree format in XNU and EfiEmu.
7541
7542 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7543 * efiemu/pnvram.c: Rewritten to use environment variables.
7544 All users updated.
7545
7546 Inline utf16_to_utf8.
7547
7548 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7549 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7550 All users updated.
7551 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7552
7553 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7554 * commands/usbtest.c (grub_usb_get_string): ... move here.
7555 (usb_print_str): Fix error handling.
7556 * include/grub/usb.h (grub_usb_get_string): Remove.
7557
7558 UTF-8 to UTF-16 transformation.
7559
7560 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7561 (charset_mod_SOURCES): New variable.
7562 (charset_mod_CFLAGS): Likewise.
7563 (charset_mod_LDFLAGS): Likewise.
7564 * include/grub/utf.h: New file.
7565 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7566
7567 Support for device properties.
7568
7569 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7570 (grub_xnu_devprop_device_header): Likewise.
7571 (grub_xnu_devprop_device_descriptor): Likewise.
7572 (grub_xnu_devprop_add_device): New prototype.
7573 (grub_xnu_devprop_remove_device): Likewise.
7574 (grub_xnu_devprop_remove_property): Likewise.
7575 (grub_xnu_devprop_add_property_utf8): Likewise.
7576 (grub_xnu_devprop_add_property_utf16): Likewise.
7577 (grub_cpu_xnu_init): Likewise.
7578 (grub_cpu_xnu_fini): Likewise.
7579 (grub_cpu_xnu_unload): Likewise.
7580 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7581 (property_descriptor): Likewise.
7582 (devices): New variable.
7583 (grub_xnu_devprop_remove_property): New function.
7584 (grub_xnu_devprop_add_device): Likewise.
7585 (grub_xnu_devprop_remove_device): Likewise.
7586 (grub_xnu_devprop_add_property): Likewise.
7587 (grub_xnu_devprop_add_property_utf8): Likewise.
7588 (grub_xnu_devprop_add_property_utf16): Likewise.
7589 (hextoval): Likewise.
7590 (grub_cpu_xnu_fill_devprop): Likewise.
7591 (grub_cmd_devprop_load): Likewise.
7592 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7593 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7594 (cmd_devprop_load): New variable.
7595 (grub_cpu_xnu_init): New function.
7596 (grub_cpu_xnu_fini): Likewise.
7597 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7598 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7599 (grub_cmd_xnu_devtree): Likewise.
7600 (hextoval): New function.
7601 (unescape): Likewise.
7602 (grub_xnu_fill_devicetree): Likewise.
7603
7604 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7605 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7606
0945f181
VS
76072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 Workaround for broken ATI VBE.
7610
7611 * video/i386/pc/vbe.c (last_set_mode): New variable.
7612 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7613 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7614 (grub_video_vbe_setup): Don't check for reserved flag.
7615
0ad46fd7 76162009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
7617
7618 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7619 the `find' command.
7620
c179ebe4
VS
76212009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 UUID support for HFS.
7624
7625 * fs/hfs.c (grub_hfs_uuid): New function.
7626 (grub_hfs_fs): New value .uuid.
7627 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7628
0ad46fd7 76292009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
7630
7631 Fix a segfault with parsing unknown long options.
7632
7633 * util/grub-mkrelpath.c (options): Zero terminate it.
7634
c4a3e41a
CPE
76352009-12-13 Carles Pina i Estany <carles@pina.cat>
7636
7637 * include/grub/misc.h (grub_puts): New declaration.
7638 (grub_puts_): Likewise.
a22008a6 7639 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
7640 (grub_puts_): Likewise.
7641
2e8a7602
RM
76422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7643
7644 * util/grub-probe.c (probe): Improve error message.
7645
b50b77b9
RM
76462009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7647
7648 * loader/i386/multiboot_elfxx.c
7649 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7650 initialization.
7651
76522009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 Relocator framework
7655
7656 * loader/i386/xnu_helper.S: Removed. All users updated.
7657 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7658 (relocator_mod_SOURCES): New variable.
7659 (relocator_mod_CFLAGS): Likewise.
7660 (relocator_mod_LDFLAGS): Likewise.
7661 (relocator_mod_ASFLAGS): Likewise.
7662 * conf/x86_64.rmk: Likewise.
7663 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7664 (grub_multiboot_payload_entry_offset): Likewise.
7665 (grub_multiboot_forward_relocator): Likewise.
7666 (grub_multiboot_forward_relocator_end): Likewise.
7667 (grub_multiboot_backward_relocator): Likewise.
7668 (grub_multiboot_backward_relocator_end): Likewise.
7669 (grub_multiboot_payload_eip): New variable.
7670 (grub_multiboot_payload_orig): Likewise.
7671 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7672 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7673 * include/grub/i386/memory.h
7674 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7675 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7676 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7677 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7678 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7679 * include/grub/i386/relocator.h: New file.
7680 * include/grub/x86_64/relocator.h: Likewise.
7681 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7682 (XNU_RELOCATOR): New macro.
7683 (grub_xnu_launcher_start): Remove.
7684 (grub_xnu_launcher_end): Likewise.
7685 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7686 (grub_xnu_heap_real_start): Remove.
7687 (grub_xnu_heap_start): Change to void *. All users updated.
7688 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7689 * lib/i386/relocator.c: New file.
7690 * lib/i386/relocator_asm.S: Likewise.
7691 * lib/i386/relocator_backward.S: Likewise.
7692 * lib/mips/relocator.c: Likewise.
7693 * lib/mips/relocator_asm.S: Likewise.
7694 * lib/relocator.c: Likewise.
7695 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7696 (entry): Removed.
7697 (playground): Likewise.
7698 (grub_multiboot_payload_orig): New variable.
7699 (grub_multiboot_payload_dest): Likewise.
7700 (grub_multiboot_payload_size): Likewise.
7701 (grub_multiboot_payload_eip): Likewise.
7702 (grub_multiboot_payload_esp): Likewise.
7703 (grub_multiboot_boot): Use grub_relocator32_boot.
7704 (grub_multiboot_unload): Free relocators.
7705 (grub_multiboot): Setup stack. Use relocators.
7706 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7707 (grub_multiboot_load_elfXX): Use relocators.
7708 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7709 (grub_multiboot_payload_size): Likewise.
7710 (grub_multiboot_payload_dest): Likewise.
7711 (grub_multiboot_payload_entry_offset): Likewise.
7712 (grub_multiboot_forward_relocator): Likewise.
7713 (grub_multiboot_backward_relocator): Likewise.
7714 (grub_multiboot_real_boot): Likewise.
7715 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7716 (grub_xnu_entry_point): Likewise.
7717 (grub_xnu_arg1): Likewise.
7718 (grub_xnu_stack): Likewise.
7719 (grub_xnu_launch): Removed.
7720 (grub_xnu_boot_resume): New function.
7721 (grub_xnu_boot): Use relocators.
7722 * loader/i386/xnu_helper.S: Removed.
7723 * loader/xnu.c (grub_xnu_heap_start): New variable.
7724 (grub_xnu_heap_size): Likewise.
7725 (grub_xnu_heap_malloc): Use relocators.
7726 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7727
29eb90c6
VS
77282009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7731 anything.
7732
31027430
CPE
77332009-12-13 Carles Pina i Estany <carles@pina.cat>
7734
7735 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7736 GRUB_ERR_NONE before calling grub_env_set.
7737
dc0c71d9
RM
77382009-12-12 Robert Millan <rmh@aybabtu.com>
7739
7740 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7741 * genmk.rb (video): New variable.
7742 (CLEANFILES, VIDEOFILES): Add #{video}.
7743 (#{video}): New target rule.
7744 * genvideolist.sh: New file.
7745 * Makefile.in (pkglib_DATA): Add video.lst.
7746 (video.lst): New target rule.
7747 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7748 `video.lst'.
7749 * util/grub.d/30_os-prober.in: Replace `vbe' with
7750 ${GRUB_VIDEO_BACKEND}.
7751
2a4bfcf0
RM
77522009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7753
7754 * THANKS: Add David Miller.
7755
2a3aa4d5
RM
77562009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 libpciaccess support.
7759
7760 * Makefile.in (LIBPCIACCESS): New variable.
7761 (enable_grub_emu_pci): Likewise.
7762 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7763 util/pci.c and commands/lspci.c.
7764 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7765 * configure.ac (grub-emu-pci): New option.
7766 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7767 (grub_pci_device_unmap_range): Likewise.
7768 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7769 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7770 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7771 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7772 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7773 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7774 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7775 * include/grub/pciutils.h: New file.
7776 * util/pci.c: Likewise.
7777
0ad46fd7 77782009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
7779
7780 * util/misc.c: Don't include <errno.h> twice.
7781
0ad46fd7 77822009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
7783
7784 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7785 name in an error message.
7786 (grub_biosdisk_rw): Likewise.
7787
2e59983c
VS
77882009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 Eliminate NTFS 4Gib barrier.
7791
7792 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7793 (read_run_data): Likewise.
7794 (grub_ntfs_read_run_list): Likewise.
7795 (grub_ntfs_read_block): Likewise.
7796 (grub_ntfs_iterate_dir): Likewise.
7797 (read_mft): Likewise.
7798 (read_data): Likewise.
7799 Use COM_LOG_LEN.
7800 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7801 to avoid 64-bit division
7802 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7803 (grub_ntfs_rlst): Use grub_disk_addr_t.
7804
71ee178a
VS
78052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Eliminate grub-fstest 4Gib barrier.
7808
7809 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7810 (read_file): Fix error reporting.
7811
2520d4b8
VS
78122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 Eliminate hexdump 4Gib barrier.
7815
7816 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7817 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7818
e1f27065
VS
78192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7822 Fixes amarsh bug.
7823
1a0f7f45
RM
78242009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7825
7826 Remove miscellaneous files in distclean target.
7827
7828 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7829
c631d9fb
CW
78302009-12-09 Colin Watson <cjwatson@ubuntu.com>
7831
7832 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7833 if they're already set. This resolves the conflict between my
7834 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7835 fixing the --grub-probe option again.
7836 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7837 change on 2009-10-06, so that we now once again source
7838 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7839
7c7b6106
RM
78402009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7841
7842 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7843 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7844 `util/devicemap.c'.
7845
e3069ec1
CPE
78462009-12-08 Carles Pina i Estany <carles@pina.cat>
7847
7848 * include/grub/misc.h (grub_printf_): New declaration.
7849 * kern/misc.c (grub_printf_): New definition.
7850 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7851 instead of `grub_printf' and `_'.
7852 * normal/menu_entry.c (store_completion): Likewise.
7853 (run): Likewise.
7854 (grub_menu_entry_run): Likewise.
7855 * normal/menu_text.c (grub_wait_after_message): Likewise.
7856 (notify_booting): Likewise.
7857 (notify_fallback): Likewise.
7858 (notify_execution_failure): Likewise.
7859
d6ceebf1
CW
78602009-12-07 Colin Watson <cjwatson@ubuntu.com>
7861
7862 * configure.ac: Check for vasprintf.
7863 * util/misc.c (asprintf): Move allocation from here ...
7864 (vasprintf): ... to here. New function.
7865 (xasprintf): New function.
7866 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7867 prototypes.
7868 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7869 * util/grub-mkfont.c (write_font): Likewise.
7870 * util/grub-probe.c (probe): Likewise.
7871 * util/hostdisk.c (make_device_name): Likewise.
7872
de6daa8b
DM
78732009-12-06 David S. Miller <davem@sunset.davemloft.net>
7874
7875 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7876 anything even prefixed with 'cdrom' as a cdrom.
7877
0ad46fd7 78782009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
7879
7880 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7881 mount points.
7882
98d3dc02
CPE
78832009-12-05 Carles Pina i Estany <carles@pina.cat>
7884
7885 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7886 grub_gettext_msg_list.
7887 (grub_gettext_gettranslation_from_position): Return const char *
7888 and not char *.
a2c1332b 7889 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
7890 returns from the list if existing there.
7891 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7892 (grub_gettext_delete_list): Delete the list.
7893 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7894 lang environment variable is changed.
7895 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7896
b283f108
VS
78972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 Rename kernel.mod to kernel.img.
7900
7901 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7902 (kernel_mod_EXPORTS): Rename to ...
7903 (kernel_img_EXPORTS): ... this.
7904 (kernel_mod_SOURCES): Rename to ...
7905 (kernel_img_SOURCES): ... this.
7906 (kernel_mod_HEADERS): Rename to ...
7907 (kernel_img_HEADERS): ... this. All users updated.
7908 (kernel_mod_CFLAGS): Rename to ...
7909 (kernel_img_CFLAGS): ... this.
7910 (kernel_mod_ASFLAGS): Rename to ...
7911 (kernel_img_ASFLAGS): ... this.
7912 (kernel_mod_LDFLAGS): Rename to ...
7913 (kernel_img_LDFLAGS): ... this.
7914 * conf/x86_64-efi.rmk: Likewise.
7915 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7916 (read_kernel_image): ... this. All users updated.
7917 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7918
69055f8a
CPE
79192009-12-05 Carles Pina i Estany <carles@pina.cat>
7920
7921 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7922 (print_spaces): New function.
7923 (grub_print_ucs4): New function.
7924 (getstringwidth): New function.
7925 (print_message_indented): New function.
7926 (print_message): Gettexttize strings using print_message_indented.
7927 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7928 width.
7929 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 7930 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
7931 Gettextize.
7932 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7933 string.
7934 (run): Likewise.
7935 (grub_menu_entry_run): Likewise.
7936 * PO/POTFILES: Add normal/menu_entry.c.
7937
f616f51c
VS
79382009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7941
57bbe3be
CPE
79422009-12-05 Carles Pina i Estany <carles@pina.cat>
7943
7944 * util/grub-install.in: Install gettext .mo files.
7945 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7946
013d67a1
CPE
79472009-12-05 Carles Pina i Estany <carles@pina.cat>
7948
7949 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7950 grub_dprintf.
7951
fb954db0
RM
79522009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7953
7954 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7955 non-firmware-dependant one in realmode.S takes precedence.
7956
6b8474f8
RM
79572009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7958
7959 * commands/halt.c: Replace misc arch-specific headers with
7960 `<grub/misc.h>'.
7961 * commands/reboot.c: Likewise.
7962 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7963 `<grub/misc.h>'.
7964 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7965 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7966 (kernel_img_SOURCES): ... to here.
7967
7968 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7969 * include/grub/i386/pc/init.h: Likewise.
7970 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7971 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7972
7973 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7974
7975 * include/grub/i386/halt.h: Remove.
7976 * include/grub/i386/reboot.h: Likewise.
7977
7978 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7979
4b2e6ca2
DM
79802009-12-03 David S. Miller <davem@sunset.davemloft.net>
7981
7982 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7983 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7984 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7985 "progname.h"
7986 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7987 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7988 (usage): Add missing comma in printf.
7989
5239348f
RM
79902009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7991
7992 Use the same reboot approach on i386 coreboot and qemu as we do on
7993 BIOS.
7994
7995 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7996 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7997 * kern/i386/reboot.c: Remove.
7998 * include/grub/i386/reboot.h (grub_reboot): Export function.
7999 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
8000 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
8001 0xf000:0xfff0 instead of 0xffff:0x0000.
8002 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
8003 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
8004
ef34cbd4
RM
80052009-11-30 Robert Millan <rmh.grub@aybabtu.com>
8006
8007 Fix $srcdir != $objdir build.
8008
8009 * Makefile.in (po/%.po): Rewrite as ...
8010 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
8011
dc9837ea
ST
80122009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
8013
8014 Fix GNU/Hurd grub-install crash.
8015 * util/grub-probe.c (probe): Try to access `path' only when it is not
8016 NULL.
8017
2f857f98
VS
80182009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 Correct module naming.
8021
8022 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8023 (GRUB_MOD_INIT(efi_uga)): ... to this
8024 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8025 (GRUB_MOD_FINI(efi_uga)): ... to this
8026 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8027 (GRUB_MOD_INIT(efi_gop)): ... to this
8028 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8029 (GRUB_MOD_FINI(efi_gop)): ... to this
8030
c5448046
RM
80312009-11-28 Robert Millan <rmh.grub@aybabtu.com>
8032
8033 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
8034 translatable.
8035 (usage): Translate `arg' strings using gettext().
8036 Thanks to Jordi Mallach for the suggestion.
8037
c85184ad
VS
80382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 GOP support. Based on patch from Bean
8041 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8042
8043 * video/efi_gop.c: New file.
8044 * include/grub/efi/graphics_output.h: Likewise.
8045 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
8046 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8047 variables.
8048 * conf/x86_64-efi.rmk: Likewise.
8049
8a4c48d8
VS
80502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 Rename efi_fb to efi_uga.
8053
8054 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8055 'efi_uga.mod'.
8056 (efi_fb_mod_SOURCES): Rename this ...
8057 (efi_uga_mod_SOURCES): ... to this.
8058 (efi_fb_mod_CFLAGS): Rename this ...
8059 (efi_uga_mod_CFLAGS): ... to this.
8060 (efi_fb_mod_LDFLAGS): Rename this ...
8061 (efi_uga_mod_LDFLAGS): ... to this.
8062 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8063 'efi_uga.mod'.
8064 (efi_fb_mod_SOURCES): Rename this ...
8065 (efi_uga_mod_SOURCES): ... to this.
8066 (efi_fb_mod_CFLAGS): Rename this ...
8067 (efi_uga_mod_CFLAGS): ... to this.
8068 (efi_fb_mod_LDFLAGS): Rename this ...
8069 (efi_uga_mod_LDFLAGS): ... to this.
8070 * video/efi_fb.c: Move this ...
8071 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
8072
fb6c1a7b
RM
80732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8074
8075 * po/README: New file. Explain our PO file workflow.
8076
3bc7896c
RM
80772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8078
8079 * po/ChangeLog: Remove. Move relevant entries back to ...
8080 * ChangeLog: ... here.
8081 * po/ca.po: Remove (now handled by TLP).
8082 * po/id.po: Likewise.
8083 * po/zh_CN.po: Likewise.
8084 * Makefile.in (LINGUAS): Initialize in a way that supports
8085 empty set.
8086
9ed4841d
RM
80872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8088
8089 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
8090 reliing on po/LINGUAS.
8091 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
8092 (po/%.po): ... this.
8093
0ad46fd7 80942009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
8095
8096 * util/i386/efi/grub-mkimage.c: Include "progname.h".
8097 (main): Use `program_name' instead of nonexistent `progname'.
8098
e30dd392
FZ
80992009-11-26 Felix Zielcke <fzielcke@z-51.de>
8100
8101 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8102 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
8103
7656de4f
RM
81042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8105
8106 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
8107 commit.
8108 * conf/i386-efi.rmk: Likewise.
8109 * conf/i386-ieee1275.rmk: Likewise.
8110 * conf/powerpc-ieee1275.rmk: Likewise.
8111 * conf/sparc64-ieee1275.rmk: Likewise.
8112 * conf/x86_64-efi.rmk: Likewise.
8113
db77c4d4
FZ
81142009-11-26 Felix Zielcke <fzielcke@z-51.de>
8115
8116 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
8117
a755bb04
FZ
81182009-11-26 Felix Zielcke <fzielcke@z-51.de>
8119
8120 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
8121
8a4c07fd
RM
81222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8123
8124 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
8125 (grub_mkdevicemap_SOURCES): New variable.
8126 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
8127 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
8128 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
8129 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
8130 (grub_mkdevicemap_SOURCES): Remove.
8131 * conf/i386-efi.rmk: Likewise.
8132 * conf/i386-ieee1275.rmk: Likewise.
8133 * conf/i386-pc.rmk: Likewise.
8134 * conf/powerpc-ieee1275.rmk: Likewise.
8135 * conf/sparc64-ieee1275.rmk: Likewise.
8136 * conf/x86_64-efi.rmk: Likewise.
8137 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
8138 (usage): Fix strings to use `program_name'.
8139 (main): Initialize gettext.
8140 * util/grub-editenv.c: Likewise.
8141 * util/grub-emu.c: Likewise.
8142 * util/grub-fstest.c: Likewise.
8143 * util/grub-mkdevicemap.c: Likewise.
8144 * util/grub-mkfont.c: Likewise.
8145 * util/grub-mkrelpath.c: Likewise.
8146 * util/grub-pe2elf.c: Likewise.
8147 * util/grub-probe.c: Likewise.
8148 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
8149 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8150 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8151
8152 * util/misc.c: Include `"progname.h"'.
8153 (progname): Remove variable.
8154 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
8155
6f61ed55
FZ
81562009-11-25 Felix Zielcke <fzielcke@z-51.de>
8157
8158 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
8159 printf and print a newline after the menuentry header line.
8160 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8161
f022876b
FZ
81622009-11-25 Felix Zielcke <fzielcke@z-51.de>
8163
8164 autoconf >= 2.60 support $(localedir).
8165
8166 * INSTALL: Note that autoconf 2.60 is required.
8167 * configure.ac (AC_PREREQ): Bump to 2.60.
8168 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
8169 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8170
6717926e
YB
81712009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
8172
8173 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
8174 aclocal is run.
8175
08806a54
RM
81762009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8177
8178 * normal/main.c (grub_normal_read_line): Fix off-by-one
8179 buffer overflow.
8180
13b33fba
RM
81812009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8182
8183 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
8184 "parser.grub" in grub_command_execute() call.
8185
4a8572e9
CPE
81862009-11-24 Carles Pina i Estany <carles@pina.cat>
8187
8188 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
8189 * conf/i386-efi.rmk: Likewise.
8190 * conf/i386-ieee1275.rmk: Likewise.
8191 * conf/i386-pc.rmk: Likewise.
8192 * conf/powerpc-ieee1275.rmk: Likewise.
8193 * conf/sparc64-ieee1275.rmk: Likewise.
8194 * conf/x86_64-efi.rmk: Likewise.
8195 * gettext/gettex.c: Include <grub/i18n.h>.
8196 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
8197 here ...
8198 * include/grub/i18n.h: ... to here
8199 * include/grub/i18n.h: ... to here.
8200 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 8201 (grub_gettext_dummy): Move above user.
4a8572e9 8202
bee48093
FZ
82032009-11-24 Felix Zielcke <fzielcke@z-51.de>
8204
8205 * util/Makefile.in (install-local): Convert a `for' into a normal
8206 shell expansion.
8207
a031e91c
RM
82082009-11-24 Robert Millan <rmh.grub@aybabtu.com>
8209
8210 * autogen.sh: Add automake call.
8211 * config.guess: Remove.
8212 * config.sub: Likewise.
8213 * install-sh: Likewise.
8214
26bec39d
FZ
82152009-11-24 Felix Zielcke <fzielcke@z-51.de>
8216
8217 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
8218
8e2532fd
FZ
82192009-11-24 Felix Zielcke <fzielcke@z-51.de>
8220
8221 * util/Makefile.in (install-local): Convert a make `$(foreach)'
8222 function to a normal shell `for'.
8223
fefa1b7d
FZ
82242009-11-24 Felix Zielcke <fzielcke@z-51.de>
8225
8226 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8227
4501250b
FZ
82282009-11-24 Felix Zielcke <fzielcke@z-51.de>
8229
8230 * util/grub-mkrelpath.c: New file.
8231 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
8232 (grub_mkrelpath_SOURCES): New variable.
8233 * include/grub/util/misc.h: New function prototype.
8234 * util/misc.c (make_system_path_relative_to_its_root): New function.
8235
8236 * util/grub-mkconfig_lib.in (bindir): New variable.
8237 (grub_mkrelpath): Likewise.
8238 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
8239
8240 * util/probe.c (probe): Make the file path relative to its root.
8241 Change a info message to use the GRUB path. Enable again the
8242 check if we can read the file with GRUB facilities.
8243
8244 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
8245 to its root.
8246
11d9778b
FZ
82472009-11-24 Felix Zielcke <fzielcke@z-51.de>
8248
8249 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
8250 platform.
8251
4465287d
FZ
82522009-11-24 Felix Zielcke <fzielcke@z-51.de>
8253
8254 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
8255 strncmp().
8256
62b47f22
FZ
82572009-11-24 Felix Zielcke <fzielcke@z-51.de>
8258
8259 * util/getroot.c (grub_util_is_dmraid): New function.
8260 (grub_util_get_dev_abstraction): Treat dmraid and multipath
8261 devices as normal ones, not as LVM.
8262
1eafb9b9 82632009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
8264
8265 * conf/common.rmk: Add grub-gettext_lib target and updates
8266 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
8267 LDFLAGS.
8268 * gettext/gettext.c: New file. (Reads mo files).
8269 * include/grub/file.h (grub_file_pread): New prototype.
8270 * include/grub/i18n.h (_): New prototype.
8271 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
8272 prototypes.
8273 * kern/misc.c (grub_gettext_dummy): New function.
8274 * normal/menu_text.c: Include <grub/i18n.h>.
8275 * normal/menu_text.c (print_timeout): Gettexttize string.
8276 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
8277 * po/POTFILES: Add `normal/menu_text.c'.
8278 * po/ca.po: Add new translations.
c3ea6bd4
CPE
8279 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8280 gettext module and defines locale_dir and lang in grub.cfg.
8281 * NEWS: Add gettext support.
8282
0fdb2568
RM
82832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8284
8285 * util/hostdisk.c: Include `<grub/i18n.h>'.
8286 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8287 (make_device_name): Rewrite using asprintf.
8288 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8289 (find_system_device): If a device is not found, generate one just
8290 by reusing the OS path name.
8291 (read_device_map): Make it permissible for device.map not to exist.
8292
f515aa62
RM
82932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8294
8295 * script/sh/execute.c: Move from here ...
8296 * script/execute.c: ... to here. Update all users.
8297 * script/sh/function.c: Move from here ...
8298 * script/function.c: ... to here. Update all users.
8299 * script/sh/lexer.c: Move from here ...
8300 * script/lexer.c: ... to here. Update all users.
8301 * script/sh/main.c: Move from here ...
8302 * script/main.c: ... to here. Update all users.
8303 * script/sh/parser.y: Move from here ...
8304 * script/parser.y: ... to here. Update all users.
8305 * script/sh/script.c: Move from here ...
8306 * script/script.c: ... to here. Update all users.
8307
f84b481b
RM
83082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8309
8310 * configure.ac: Detect all `emu' platforms. Define
8311 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8312 --enable-grub-emu logic. Disable include/grub/machine
8313 symlink on `emu' platforms.
8314
8315 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8316 * gensymlist.sh.in: Likewise.
8317
8318 * include/grub/i386/coreboot/machine.h: Remove file.
8319 * include/grub/i386/efi/machine.h: Likewise.
8320 * include/grub/i386/ieee1275/machine.h: Likewise.
8321 * include/grub/i386/pc/machine.h: Likewise.
8322 * include/grub/i386/qemu/machine.h: Likewise.
8323 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8324 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8325 * include/grub/x86_64/efi/machine.h: Likewise.
8326
8327 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8328 * commands/halt.c: Likewise.
8329 * commands/reboot.c: Likewise.
8330 * include/grub/autoefi.h: Likewise.
8331 * include/grub/i386/at_keyboard.h: Likewise.
8332 * include/grub/i386/kernel.h: Likewise.
8333 * include/grub/i386/loader.h: Likewise.
8334 * include/grub/i386/pc/memory.h: Likewise.
8335 * kern/dl.c: Likewise.
8336 * kern/i386/coreboot/init.c: Likewise.
8337 * loader/i386/bsd.c: Likewise.
8338 * loader/i386/linux.c: Likewise.
8339 * loader/multiboot_loader.c: Likewise.
8340 * term/i386/pc/serial.c: Likewise.
8341 * term/usb_keyboard.c: Likewise.
8342
8343 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8344 `<grub/machine/machine.h>'
8345 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8346 * util/misc.c: Remove `<grub/machine/machine.h>' and
8347 `<grub/machine/time.h>'.
8348
8349 * Makefile.in (enable_grub_emu): Remove variable.
8350 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8351
8352 * conf/any-emu.rmk: New file.
8353 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8354 (grub_emu_init.c): Move from here ...
8355 * conf/any-emu.rmk: ... to here.
8356
8357 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8358 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8359 * conf/any-emu.rmk: ... to here.
8360
4efeab03
RM
83612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8362
8363 * include/grub/parser.h (grub_parser_register): Document need
8364 of `name' parameter.
8365 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8366 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8367 "sh" to "grub".
8368
ea1dd8bf
RM
83692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8370
8371 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8372 `$(XGETTEXT)'.
8373 * include/grub/i18n.h (N_): New macro.
8374 * util/mkisofs/mkisofs.h: Likewise.
8375 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8376 around N_().
8377 (usage): Use gettext() to translate help strings when printing them.
8378
0c140626
RM
83792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8380
8381 Based on patch from Bean
8382 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8383
8384 * video/efi_fb.c: New file.
8385 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8386 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8387 variables.
8388 * conf/x86_64-efi.rmk: Likewise.
8389
87d58298
RM
83902009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8391
8392 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8393 * util/i386/pc/grub-setup.c: Likewise.
8394
994cc3a3
ST
83952009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8396
8397 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8398 <hurd/fs.h>
8399 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8400 file_get_storage_info to implement grub_guess_root_device.
8401
26a61d6a
FZ
84022009-11-21 Felix Zielcke <fzielcke@z-51.de>
8403
8404 * Makefile.in (target): Use make's builtin $(shell) function
8405 instead of calling directly $(SHELL) to create the locale directories,
8406 inside the $(foreach) function.
8407
74ff1dd5
FZ
84082009-11-21 Felix Zielcke <fzielcke@z-51.de>
8409
8410 * util/grub-mkrescue.in: Print an error and usage if output option
8411 has not been given.
8412
0b787d0e
FZ
84132009-11-21 Felix Zielcke <fzielcke@z-51.de>
8414
8415 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8416 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8417 root and /boot are on different devices.
8418
1164b270
RM
84192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8420
8421 Fix build for srcdir != objdir.
8422
8423 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8424 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8425 $(srcdir).
8426 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8427 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8428 reference for input.
8429
13774a2f
RM
84302009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8431
8432 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8433 or hardlinking it). Remove -J option, Joliet is not compatible with
8434 multiple source directories.
8435
efda854e
RM
84362009-11-21 Carles Pina i Estany <carles@pina.cat>
84372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8438
8439 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8440 (process_input_dir): New function. Process an arbitrary input
8441 directory.
8442 Misc adjustments to support both "override mode" and system-wide mode.
8443
6c09890c
FZ
84442009-11-20 Felix Zielcke <fzielcke@z-51.de>
8445
8446 * configure.ac (UNIFONT_BDF): Rename to ...
8447 (FONT_SOURCE): ... this. Update all users.
8448
a797824f
FZ
84492009-11-20 Felix Zielcke <fzielcke@z-51.de>
8450
8451 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8452 to the list of unifont files to look for.
8453
cd4f42b0
RM
84542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8455
8456 Patch from Joe Auricchio <jauricchio@gmail.com>
8457 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8458 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8459 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8460
393c783d
FZ
84612009-11-19 Felix Zielcke <fzielcke@z-51.de>
8462
8463 * Makefile.in (install-local): Add a missing backslash.
8464
b2f1e327
FZ
84652009-11-19 Felix Zielcke <fzielcke@z-51.de>
8466
8467 * include/grub/x86_64/io.h: New file.
8468
f577f7a0
RM
84692009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8470
8471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8472 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8473 Include `"progname.h"'.
8474 (main): Initialize gettext.
8475 * util/i386/pc/grub-setup.c: Gettexttize.
8476 * util/i386/pc/grub-mkimage.c: Likewise.
8477
8478 * Makefile.in (po/*.po): Redefine as ...
8479 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8480
3bc7896c
RM
8481 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8482
c37943b6
RM
84832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8484
8485 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8486 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8487 (program_name): Remove.
8488 (main): Initialize gettext support.
6323f705
RM
8489 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8490 Include `<libintl.h>'.
8491 (_): New macro.
c37943b6
RM
8492
8493 * util/mkisofs/eltorito.c: Gettexttize.
8494 * util/mkisofs/joliet.c: Likewise.
8495 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
8496 * util/mkisofs/multi.c: Likewise.
8497 * util/mkisofs/rock.c: Likewise.
8498 * util/mkisofs/tree.c: Likewise.
8499 * util/mkisofs/write.c: Likewise.
8500
3bc7896c
RM
8501 * po/POTFILES: Update with new files.
8502
5ce77c6e
RM
85032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8504
8505 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8506 * util/mkisofs/iso9660.h: Likewise.
8507 * util/mkisofs/joliet.c: Likewise.
8508 * util/mkisofs/mkisofs.c: Likewise.
8509 * util/mkisofs/mkisofs.h: Likewise.
8510 * util/mkisofs/rock.c: Likewise.
8511 * util/mkisofs/tree.c: Likewise.
8512 * util/mkisofs/write.c: Likewise.
8513
8514 * util/mkisofs/eltorito.c (rcsid): Remove.
8515 * util/mkisofs/hash.c: Likewise.
8516 * util/mkisofs/joliet.c: Likewise.
8517 * util/mkisofs/name.c: Likewise.
8518 * util/mkisofs/rock.c: Likewise.
8519 * util/mkisofs/tree.c: Likewise.
8520 * util/mkisofs/write.c: Likewise.
8521
1dabbc77
RM
85222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8523
8524 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8525 instead of static allocation.
8526 * util/mkisofs/match.h: Likewise.
8527
633877cb
RM
85282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8529
3bc7896c
RM
8530 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8531 and `util/grub.d/10_linux.in'.
633877cb
RM
8532 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8533 translatable Shell files.
8534
af1c0c85
RM
85352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8536
8537 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8538
769ae37b
RM
85392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8540
8541 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 8542 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
8543 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8544 Add gettext initialization.
8545 (kfreebsd_entry): Make menuentry output translatable.
8546
85472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8548
8549 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8550 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8551 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8552 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8553 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 8554 * po/LINGUAS: New file.
769ae37b
RM
8555
85562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8557
8558 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8559 other things).
8560 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8561 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8562 bindtextdomain() calls for gettext initialization.
8563
85642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8565
8566 * gnulib/progname.c: New file (imported from Gnulib).
8567 * gnulib/progname.h: Likewise.
8568 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8569 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8570 (usage): Replace `progname' with `program_name'.
8571 (main): Use set_program_name() for program name initialization.
8572
85732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8574
8575 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8576 from here ...
8577 * Makefile.in (CPPFLAGS): ... to here.
8578
85792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8580
8581 * aclocal.m4: Move from here ...
8582 * acinclude.m4: ... to here.
8583 * autogen.sh: Add call to `aclocal'.
8584 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8585
85862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8587
8588 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8589 (LINGUAS): New variable.
8590 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8591 (install-local): Install MO files.
8592 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8593 * include/grub/i18n.h: New file.
3bc7896c
RM
8594 * po/POTFILES: New file.
8595 * po/ca.po: New file.
769ae37b
RM
8596 * util/grub.d/10_linux.in (bindir): New variable.
8597 Add gettext initialization.
8598 (linux_entry): Make menuentry output translatable.
8599 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8600 (usage): Make --help output translatable.
8601 (main): Initialize gettext.
8602
02c0a6ad
RM
86032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8604
8605 * import_gcry.py: New file (written by Vladimir with minor
8606 adjustments).
8607 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8608 ciphers.
8609 * INSTALL: Document that Python is required for bootstrap.
8610
86112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8612
8613 Import ciphers from libgcrypt 1.4.4.
8614
8615 * lib/libgcrypt/cipher/ChangeLog
8616 * lib/libgcrypt/cipher/ac.c
8617 * lib/libgcrypt/cipher/arcfour.c
8618 * lib/libgcrypt/cipher/bithelp.h
8619 * lib/libgcrypt/cipher/blowfish.c
8620 * lib/libgcrypt/cipher/camellia-glue.c
8621 * lib/libgcrypt/cipher/camellia.c
8622 * lib/libgcrypt/cipher/camellia.h
8623 * lib/libgcrypt/cipher/cast5.c
8624 * lib/libgcrypt/cipher/cipher.c
8625 * lib/libgcrypt/cipher/crc.c
8626 * lib/libgcrypt/cipher/des.c
8627 * lib/libgcrypt/cipher/dsa.c
8628 * lib/libgcrypt/cipher/ecc.c
8629 * lib/libgcrypt/cipher/elgamal.c
8630 * lib/libgcrypt/cipher/hash-common.c
8631 * lib/libgcrypt/cipher/hash-common.h
8632 * lib/libgcrypt/cipher/hmac-tests.c
8633 * lib/libgcrypt/cipher/md.c
8634 * lib/libgcrypt/cipher/md4.c
8635 * lib/libgcrypt/cipher/md5.c
8636 * lib/libgcrypt/cipher/primegen.c
8637 * lib/libgcrypt/cipher/pubkey.c
8638 * lib/libgcrypt/cipher/rfc2268.c
8639 * lib/libgcrypt/cipher/rijndael-tables.h
8640 * lib/libgcrypt/cipher/rijndael.c
8641 * lib/libgcrypt/cipher/rmd.h
8642 * lib/libgcrypt/cipher/rmd160.c
8643 * lib/libgcrypt/cipher/rsa.c
8644 * lib/libgcrypt/cipher/seed.c
8645 * lib/libgcrypt/cipher/serpent.c
8646 * lib/libgcrypt/cipher/sha1.c
8647 * lib/libgcrypt/cipher/sha256.c
8648 * lib/libgcrypt/cipher/sha512.c
8649 * lib/libgcrypt/cipher/tiger.c
8650 * lib/libgcrypt/cipher/twofish.c
8651 * lib/libgcrypt/cipher/whirlpool.c
8652
af2f93ac
RM
86532009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8654
8655 Fix build for systems without error().
8656
8657 * gnulib/error.c: New file (imported from Gnulib).
8658 * gnulib/error.h: Likewise.
8659 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8660 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8661 (this variable is now used by error()).
8662
73fb3dd5
FZ
86632009-11-16 Felix Zielcke <fzielcke@z-51.de>
8664
814f5e96
FZ
8665 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8666 instead of relying that char is signed.
73fb3dd5 8667
a691ca33
VS
86682009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8671 blocksize different from specified.
8672 (grub_pxefs_read): Likewise.
8673
2af8f0f4
FZ
86742009-11-16 Felix Zielcke <fzielcke@z-51.de>
8675
8676 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8677
8678 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8679 (grub_ata_readwrite): Likewise. Update 2 format strings.
8680 (grub_atapi_read): Likewise.
8681
8682 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8683 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8684 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8685 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8686 (ata_mod_LDFLAGS): Move from here ...
8687 * conf/i386.rmk: ... to here ...
8688 * conf/x86_64-efi.rmk: ... and here.
8689 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8690 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8691
83bdecaf
RM
86922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8693
8694 Relicense multiboot.h, with RMS' blessing.
8695
8696 * include/multiboot.h: Change to X11 license.
8697
fd6fd3d7
RM
86982009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8699
8700 Support --version in grub-mkisofs.
8701
8702 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8703 (OPTION_VERSION): New macro.
8704 (ld_options): Recognize --version.
8705 (usage): Move `program_name' from here ...
8706 (program_name): ... to here. Add `static' qualifier.
8707 (main): Recognize `OPTION_VERSION'.
8708
16a88c49
FZ
87092009-11-15 Felix Zielcke <fzielcke@z-51.de>
8710
8711 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8712 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8713
a4158476
RM
87142009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8715
8716 Fix help2man generation for mkisofs.
8717
8718 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8719 (usage): Send output to stdout (rather than stderr).
8720
fc2208b0
RM
87212009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8722
8723 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8724 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8725 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8726 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8727 (bin_SCRIPTS): Add `grub-mkfloppy'.
8728 (grub_mkfloppy_SOURCES): New variable.
8729
8730 * util/grub-mkrescue.in: New file.
8731 * util/i386/pc/grub-mkfloppy.in: New file.
8732
8733 * util/i386/coreboot/grub-mkrescue.in: Remove.
8734 * util/i386/pc/grub-mkrescue.in: Remove.
8735
8d0edf4a
RM
87362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8737
8738 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8739 from here ...
8740 * include/multiboot.h (struct multiboot_header): ... to here. Update
8741 all users.
8742 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8743 from here ...
8744 * include/multiboot.h (struct multiboot_info): ... to here. Update
8745 all users.
8746 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8747 from here ...
8748 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8749 Update all users.
8750 * include/grub/multiboot.h (struct grub_mod_list): Move
8751 from here ...
8752 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8753 Update all users.
8754
a73f5969
RM
87552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8756
8757 * include/multiboot2.h (multiboot_word): Rename from this ...
8758 (multiboot2_word): ... to this. Update all users.
8759 (multiboot_header): Rename from this ...
8760 (multiboot2_header): ... to this. Update all users.
8761 (multiboot_tag_header): Rename from this ...
8762 (multiboot2_tag_header): ... to this. Update all users.
8763 (multiboot_tag_start): Rename from this ...
8764 (multiboot2_tag_start): ... to this. Update all users.
8765 (multiboot_tag_name): Rename from this ...
8766 (multiboot2_tag_name): ... to this. Update all users.
8767 (multiboot_tag_module): Rename from this ...
8768 (multiboot2_tag_module): ... to this. Update all users.
8769 (multiboot_tag_memory): Rename from this ...
8770 (multiboot2_tag_memory): ... to this. Update all users.
8771 (multiboot_tag_unused): Rename from this ...
8772 (multiboot2_tag_unused): ... to this. Update all users.
8773 (multiboot_tag_end): Rename from this ...
8774 (multiboot2_tag_end): ... to this. Update all users.
8775
1c8927f0
RM
87762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8777
8778 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8779 this platform we should support Multiboot1 first.
8780
8781 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8782 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8783 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8784
6e1e0d89
RM
87852009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8786
8787 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8788 of write calls (converting them to fwrite() if they aren't already).
8789 (get_torito_desc): Likewise.
8790 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8791
7f2b34d8
RM
87922009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8793
8794 * util/i386/pc/grub-install.in: Move from here ...
8795 * util/grub-install.in: ... to here. Update all users.
8796
c0ef3311
CW
87972009-11-11 Colin Watson <cjwatson@ubuntu.com>
8798
8799 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8800
e1f240ff
RM
88012009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8802
8803 Support for El Torito without floppy emulation.
8804
8805 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8806 (init_boot_catalog): Improve error handling.
8807 (get_torito_desc): Don't use floppy emulation unless requested by
8808 user. Patch boot information table when requested via
8809 `-boot-info-table'.
8810 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8811 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8812 (use_boot_info_table): New variables.
8813 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8814 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8815 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8816 `--eltorito-emul-floppy'.
8817 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8818 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8819 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8820 (use_boot_info_table, get_731): New prototypes.
8821 * util/mkisofs/write.c (get_731): New function.
8822
af7d4de5
FZ
88232009-11-11 Felix Zielcke <fzielcke@z-51.de>
8824
8825 Fix the generation of the man page.
8826
8827 * util/pc/i386/grub-install.in: Source
8828 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8829
2c55dbc0
RM
88302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8831
8832 Large file support for grub-mkisofs.
8833
8834 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8835 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8836 (session_start): Upgrade type to `uint64_t'. Update all users.
8837 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8838 (struct directory_entry): Upgrade type of `starting_block' and
8839 `size' to `uint64_t'. Update all users.
8840 (struct deferred): Remove unused structure.
8841 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8842 Update all users.
8843 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8844 file is larger than `UINT32_MAX'.
8845 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8846 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8847 return value.
8848 (struct deferred_write): Upgrade type of `extent' and `size' to
8849 `uint64_t'. Update all users.
8850 (last_extent_written): Upgrade type to `uint64_t'. Update all
8851 users.
8852 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8853 Update all users. Upgrade type of `remain' to `int64_t' and
8854 `use' to `size_t'. Use error() to handle fread() errors.
8855 (write_files): Rely on write_one_file() rather than calling
8856 xfwrite() directly.
8857
6a9cead5
FZ
88582009-11-09 Felix Zielcke <fzielcke@z-51.de>
8859
8860 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8861
4825d790
RM
88622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8863
8864 * util/mkisofs/fnmatch.c: Remove.
8865 * util/mkisofs/getopt1.c: Likewise.
8866 * util/mkisofs/getopt.c: Likewise.
8867 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8868 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8869 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8870 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8871 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8872
8873 * configure.ac: Detect `mingw32msvc' host_os.
8874 Check for lstat(), getuid() and getgid().
8875
8876 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8877 instances of `u_char' with `uint8_t'.
8878
8879 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8880 [!HAVE_GETUID] (getuid): New function (stub).
8881 [!HAVE_GETGID] (getgid): Likewise.
8882 [!HAVE_LSTAT] (lstat): Likewise.
8883 [!S_IROTH] (S_IROTH): New macro (dummy).
8884 [!S_IRGRP] (S_IRGRP): Likewise.
8885
84b860d8
RM
88862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8887
8888 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8889 conditional expression).
8890
66e9b712
RM
88912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8892
8893 Import from Gnulib.
8894
8895 * gnulib/fnmatch.c: New file.
8896 * gnulib/fnmatch.h: Likewise.
8897 * gnulib/fnmatch_loop.c: Likewise.
8898 * gnulib/getopt.c: Likewise.
8899 * gnulib/getopt.h: Likewise.
8900 * gnulib/getopt1.c: Likewise.
8901 * gnulib/getopt_int.h: Likewise.
8902 * gnulib/gettext.h: Likewise.
8903
34f4a5b0
RM
89042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8905
8906 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8907 * normal/handler.c (read_handler_list): Likewise.
8908
ac451143
RM
89092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8910
8911 Misc cleanup.
8912
8913 * kern/command.c (grub_register_command_prio): Use
8914 grub_zalloc() instead of explicitly zeroing data.
8915 * kern/list.c: Include `<grub/mm.h>'.
8916 (grub_named_list_find): Replace `0' with `NULL'.
8917 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8918 (fs_module_list): Change type to `grub_named_list_t'. Update all
8919 users.
8920 * normal/dyncmd.c (read_command_list): Add space between function
8921 call and parenthesis.
8922 * normal/handler.c (read_handler_list): Likewise.
8923
4089b167
RM
89242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8925
8926 * normal/auth.c (punishment_delay): Moved from here ...
8927 (grub_auth_strcmp): ... to here (inside function).
8928
325f5037
RM
89292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8930
8931 * include/grub/list.h (struct grub_named_list): Remove `const'
8932 qualifier from `name'.
8933 (struct grub_prio_list): Likewise.
8934
7aea29a3
RM
89352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8936
8937 * normal/auth.c: Include `<grub/time.h>'.
8938 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8939
3fd6f044
RM
89402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8941
8942 * normal/auth.c (punishment_delay): New variable.
8943 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8944 (grub_auth_check_authentication): Punish failed login attempts with
8945 an incremental (2^N) delay.
8946
a4cd68e4
RM
89472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8948
8949 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8950 path with $(srcdir).
8951
7ad12f43
VS
89522009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8955
c1129f03
RM
89562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8957
8958 * util/i386/coreboot/grub-mkrescue.in: New file.
8959 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8960 variables.
8961
8962 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8963 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8964 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8965 requirements.
8966 * util/mkisofs/defaults.h: New file.
8967 * util/mkisofs/eltorito.c: Likewise.
8968 * util/mkisofs/exclude.h: Likewise.
8969 * util/mkisofs/fnmatch.c: Likewise.
8970 * util/mkisofs/getopt.c: Likewise.
8971 * util/mkisofs/getopt1.c: Likewise.
8972 * util/mkisofs/hash.c: Likewise.
8973 * util/mkisofs/include/fctldefs.h: Likewise.
8974 * util/mkisofs/include/mconfig.h: Likewise.
8975 * util/mkisofs/include/prototyp.h: Likewise.
8976 * util/mkisofs/include/statdefs.h: Likewise.
8977 * util/mkisofs/iso9660.h: Likewise.
8978 * util/mkisofs/joliet.c: Likewise.
8979 * util/mkisofs/match.c: Likewise.
8980 * util/mkisofs/match.h: Likewise.
8981 * util/mkisofs/mkisofs.c: Likewise.
8982 * util/mkisofs/mkisofs.h: Likewise.
8983 * util/mkisofs/multi.c: Likewise.
8984 * util/mkisofs/name.c: Likewise.
8985 * util/mkisofs/rock.c: Likewise.
8986 * util/mkisofs/tree.c: Likewise.
8987 * util/mkisofs/write.c: Likewise.
8988
ec8bb77d
VS
89892009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8992 being insecure.
8993
3716b12c
RM
89942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8995
8996 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8997 `grub-mkimage' (and use $0 when possible).
8998
b97b7b91
RM
89992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9000
9001 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
9002 error message for excessively large memory map.
9003
04114812
RM
90042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9005
9006 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
9007 executable bit.
9008
e4eb2373
RM
90092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9010
9011 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
9012 message for coreboot users.
9013
c926e1d5 90142009-11-07 Robert Millan <rmh.grub@aybabtu.com>
9015
9016 Fix build with GNU gold.
9017
9018 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
9019 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
9020 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
9021 link addresses.
9022 * aclocal.m4: Likewise.
9023
86e5b1db 90242009-11-04 Felix Zielcke <fzielcke@z-51.de>
9025
9026 * configure.ac (AC_PREREQ): Bump to 2.59d.
9027 * INSTALL: Make it more clear when Autoconf and Ruby are
9028 needed and when to run `./autogen.sh'.
9029
246cd78f 90302009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9031
9032 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
9033 OSes.
9034
4f9dfb37 90352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9036
9037 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
9038
b82bd5e1 90392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9040
9041 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
9042 giving it to GNU Mach.
9043
ff1a9bca 90442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9045
9046 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
9047 GNU partition number to get internal GRUB partition number.
9048
61697d9c 90492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9050
9051 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
9052 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
9053
a50569e1 90542009-11-01 Robert Millan <rmh.grub@aybabtu.com>
9055
9056 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
9057 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
9058 case.
9059
5b153867 90602009-11-01 Felix Zielcke <fzielcke@z-51.de>
9061
9062 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
9063
d9e2cd70 90642009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9065
9066 Fix build problem.
9067
9068 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
9069 `-isystem=$(srcdir)/include'.
9070
805111a4 90712009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9072
9073 * util/i386/pc/grub-install.in: Remove hint that device.map should be
9074 checked (grub-install doesn't currently rely on it).
9075
fa6e945f 90762009-10-29 Robert Millan <rmh.grub@aybabtu.com>
9077
9078 Revert SVN r2660.
9079
9080 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
9081 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9082 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
9083 * conf/i386-ieee1275.rmk: Likewise.
9084 * conf/i386-pc.rmk: Likewise.
9085 * conf/powerpc-ieee1275.rmk: Likewise.
9086 * conf/sparc64-ieee1275.rmk: Likewise.
9087 * conf/x86_64-efi.rmk: Likewise.
9088
cee15086 90892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9090
9091 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
9092
95b9239e 90932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9094
9095 * include/grub/misc.h: Stop checking for APPLE_CC.
9096
2ed19dfd 90972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9098
9099 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
9100 doesn't cause an infinite call loop.
9101
fdcdde19 91022009-10-28 Felix Zielcke <fzielcke@z-51.de>
9103
9104 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
9105 strings.
9106
cefabfe1 91072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9108
9109 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
9110 variable.
9111 * Makefile.in: Likewise.
9112
ed96ab6d 91132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9114
9115 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
9116
0579b753 91172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9118
9119 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
9120
478df409 91212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9122
9123 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
9124
083d1679 91252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9126
9127 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
9128 from here ...
9129 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
9130
5947ae32 91312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9132
9133 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
9134 in $(MAKEINFO) invocation. This makes it clear in output that
9135 errors are being ignored.
9136
94180ff6 91372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9138
9139 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
9140 from here ...
9141 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9142 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
9143 * conf/i386-ieee1275.rmk: Likewise.
9144 * conf/i386-pc.rmk: Likewise.
9145 * conf/powerpc-ieee1275.rmk: Likewise.
9146 * conf/sparc64-ieee1275.rmk: Likewise.
9147 * conf/x86_64-efi.rmk: Likewise.
9148
9031b03a 91492009-10-26 Colin Watson <cjwatson@ubuntu.com>
9150
9151 * util/grub-editenv.c (main): If only a command is given, use
9152 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
9153 (usage): FILENAME is now optional and has a default.
9154
e4f6809b 91552009-10-26 Colin Watson <cjwatson@ubuntu.com>
9156
9157 Improve grub-mkconfig performance when there are several menu
9158 entries on a single filesystem.
9159
9160 * util/grub.d/10_linux.in (linux_entry): Cache the output of
9161 prepare_grub_to_access_device.
9162 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9163 * util/grub.d/30_os-prober.in: Likewise.
9164
67937d4d 91652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9166
9167 * util/grub.d/10_freebsd.in: Remove.
9168 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
9169 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
9170
ee3756cc 91712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9172
5c35048e 9173 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 9174
4dea1c6f 91752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9176
9177 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
9178 grub_util_error() call.
9179
042484d7 91802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9181
9182 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
9183 `reserved_first_sector' member.
9184 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
9185 `reserved_first_sector' to 1.
9186 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
9187 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
9188 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
9189 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
9190 filesystems which begin at first sector.
9191 (options): New option --skip-fs-probe.
9192 (main): Handle --skip-fs-probe and pass it to setup().
9193
d64448a7 91942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9195
9196 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
9197 (memset): Fix function prototype.
9198
508d42ec 91992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
92002009-10-25 Vasily Averin <vvs@parallels.com>
9201
9202 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
9203 `dirent.direntlen == 0'.
9204
b240e30c 92052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9206
9207 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
9208 `cpio'.
9209 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
9210
346e7fbe 92112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9212
9213 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
9214 `__trampoline_setup' and `__ucmpdi2'.
9215 * include/grub/powerpc/libgcc.h: Only export symbols for functions
9216 that libgcc provides.
9217
cdb308b0 92182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9219
9220 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
9221 * include/grub/sparc64/libgcc.h (memset): Likewise.
9222 * include/grub/misc.h (memset, memcmp): New function prototypes.
9223
fb26abc2 92242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9225
9226 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
9227 `cpio'.
9228 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
9229
f6693890 92302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9231
9232 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
9233 * docs/grub.cfg: Compensate for recent change in multiboot
9234 loader (since 2009-08-14 it won't pass filename to payload).
9235 * util/grub.d/10_hurd.in: Likewise.
9236
0933cdc0 92372009-10-21 Felix Zielcke <fzielcke@z-51.de>
9238
9239 * config.guess: Update to latest version from config git
9240 repository.
9241 * config.sub: Likewise.
9242
3b2fe8c2 92432009-10-20 Robert Millan <rmh.grub@aybabtu.com>
9244
9245 Fix build on sparc64.
9246
9247 * configure.ac: Perform checks for libgcc symbols before
9248 adding `-nostdlib' to LDFLAGS.
9249
46695a62 92502009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 Let user specify OpenBSD root device.
9253
9254 * loader/i386/bsd.c (openbsd_root): New variable.
9255 (openbsd_opts): New option 'root'.
9256 (OPENBSD_ROOT_ARG): New macro.
9257 (grub_openbsd_boot): Use 'openbsd_root'.
9258 (grub_cmd_openbsd): Fill 'openbsd_root'.
9259
d2b6b7fc 92602009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9261
9262 * NEWS: Misc adjustments.
9263
421bd7ac 92642009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
9267
f1d29d87 92682009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9269
9270 * configure.ac: Bump version to 1.97.
9271
6f3cd880 92722009-10-16 Colin Watson <cjwatson@ubuntu.com>
9273
9274 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
9275 -mno-3dnow on x86 architectures. Some toolchains enable these
9276 features by default, but they rely on registers that aren't enabled
9277 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9278
035f7122 92792009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9280
9281 Make entry text a bit more readable.
9282
9283 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9284
44998e58 92852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9288
cd2851b3 92892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9292 operations.
9293
c6f3b249 92942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * configure.ac: Add missing dollar.
9297
6b5886ba 92982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9301
9302 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9303 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9304 exports.
9305 * include/grub/sparc64/libgcc.h: Likewise. Use
9306 preprocessor conditionals.
9307
e9d66f6d 93082009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9309
9310 * conf/common.rmk (grub-dumpbios): Remove rule.
9311 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9312 * util/grub-dumpbios.in: Remove file.
9313
9155bc17 93142009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9315
9316 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9317 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9318
9319 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9320 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9321 users.
9322
9323 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9324 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9325 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9326 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9327 users.
9328
bf7f7a18 93292009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9330
9331 * term/tparm.c: Switch to GPLv3.
9332
86564c26 93332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9334
9335 * include/grub/i386/cpuid.h: Add header protection.
9336
5c936493 93372009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9338
9339 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9340
9341 * include/grub/i386/cpuid.h: New file.
9342 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9343 (has_longmode): Rename to ...
9344 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9345 `static' attribute.
9346 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9347 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9348 on a CPU that doesn't implement AMD64 instruction set.
9349
186e7cf2 93502009-10-06 Colin Watson <cjwatson@ubuntu.com>
9351
9352 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9353 that version.texi is rebuilt on version number changes.
9354
83b65c4a 93552009-10-06 Colin Watson <cjwatson@ubuntu.com>
9356
9357 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9358 Fixes bug #27602.
9359
d244281c 93602009-10-06 Colin Watson <cjwatson@ubuntu.com>
9361
9362 * util/i386/pc/grub-install.in: Source
9363 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9364 that the --grub-probe option will work.
9365 * util/sparc64/ieee1275/grub-install.in: Likewise.
9366
da25306d 93672009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9368
9369 * configure.ac: Bump version to 1.97~beta4.
9370
e8ee83c0 93712009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9372
9373 Resync grub-mkdevicemap in x86_64-efi.
9374
9375 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9376 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9377 `util/devicemap.c'.
9378
50dcabcf 93792009-10-01 Colin Watson <cjwatson@ubuntu.com>
9380
9381 * util/grub-editenv.c (create_envblk_file): Write new block with a
9382 .new suffix and then rename it into place, to ensure atomic
9383 creation.
9384
0e51c3a7 93852009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9386
9387 Do not automatically install headers.
9388
9389 * Makefile.in (include_DATA): Remove. Update all users.
9390
31299a95 93912009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9392
9393 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9394 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9395
9396 * util/osdetect.lua: Remove.
9397 * script/lua/lauxlib.c: Likewise.
9398 * script/lua/ldebug.c: Likewise.
9399 * script/lua/grub_main.c: Likewise.
9400 * script/lua/lauxlib.h: Likewise.
9401 * script/lua/ldebug.h: Likewise.
9402 * script/lua/ltablib.c: Likewise.
9403 * script/lua/liolib.c: Likewise.
9404 * script/lua/lstrlib.c: Likewise.
9405 * script/lua/lualib.h: Likewise.
9406 * script/lua/ldo.c: Likewise.
9407 * script/lua/ldump.c: Likewise.
9408 * script/lua/ldo.h: Likewise.
9409 * script/lua/loslib.c: Likewise.
9410 * script/lua/lundump.c: Likewise.
9411 * script/lua/grub_lib.c: Likewise.
9412 * script/lua/ldblib.c: Likewise.
9413 * script/lua/lundump.h: Likewise.
9414 * script/lua/lmem.c: Likewise.
9415 * script/lua/grub_lib.h: Likewise.
9416 * script/lua/lmathlib.c: Likewise.
9417 * script/lua/lstate.c: Likewise.
9418 * script/lua/ltm.c: Likewise.
9419 * script/lua/lvm.c: Likewise.
9420 * script/lua/lmem.h: Likewise.
9421 * script/lua/lstate.h: Likewise.
9422 * script/lua/ltm.h: Likewise.
9423 * script/lua/ltable.c: Likewise.
9424 * script/lua/lvm.h: Likewise.
9425 * script/lua/llex.c: Likewise.
9426 * script/lua/lgc.c: Likewise.
9427 * script/lua/grub_lua.h: Likewise.
9428 * script/lua/loadlib.c: Likewise.
9429 * script/lua/lfunc.c: Likewise.
9430 * script/lua/lopcodes.c: Likewise.
9431 * script/lua/lparser.c: Likewise.
9432 * script/lua/ltable.h: Likewise.
9433 * script/lua/llex.h: Likewise.
9434 * script/lua/lgc.h: Likewise.
9435 * script/lua/lfunc.h: Likewise.
9436 * script/lua/lbaselib.c: Likewise.
9437 * script/lua/lopcodes.h: Likewise.
9438 * script/lua/lparser.h: Likewise.
9439 * script/lua/lzio.c: Likewise.
9440 * script/lua/linit.c: Likewise.
9441 * script/lua/lobject.c: Likewise.
9442 * script/lua/llimits.h: Likewise.
9443 * script/lua/lstring.c: Likewise.
9444 * script/lua/lzio.h: Likewise.
9445 * script/lua/lapi.c: Likewise.
9446 * script/lua/lcode.c: Likewise.
9447 * script/lua/lua.h: Likewise.
9448 * script/lua/lobject.h: Likewise.
9449 * script/lua/lstring.h: Likewise.
9450 * script/lua/lapi.h: Likewise.
9451 * script/lua/lcode.h: Likewise.
9452 * script/lua/luaconf.h: Likewise.
9453
cb8a2c38 94542009-09-26 Colin Watson <cjwatson@ubuntu.com>
9455
9456 * docs/grub.texi (Command-line and menu entry commands): Document
9457 date and echo commands.
9458
6b9b6276 94592009-09-24 Pavel Roskin <proski@gnu.org>
9460
9461 * include/grub/kernel.h (struct grub_module_header): Remove
9462 `grub_module_header_types'. Make `type' unsigned. Make `size'
9463 32-bit on all platforms.
9464 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9465 8-bit field. Use grub_host_to_target32() for `size'.
9466 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9467 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9468 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9469
4e5a02a7 94702009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9471
9472 Fix "lost keypress" bug in at_keyboard.
9473
9474 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9475 Checks for readyness of input buffer (without flushing it).
9476 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9477 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9478
c6dcedf6 94792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9480
9481 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9482 size check within GRUB_MACHINE_PCBIOS section.
9483
74c958b1 94842009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9485
9486 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9487 return value.
9488 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9489 KEYBOARD_ISREADY check.
9490 (grub_at_keyboard_checkkey): Rename to ...
9491 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9492 Remove gratuitous cast.
9493
ff420223 94942009-09-23 Colin Watson <cjwatson@ubuntu.com>
9495
9496 * configure.ac: Call AC_PROG_MKDIR_P.
9497 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9498 version.texi in $(builddir) rather than $(srcdir).
9499 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9500 to makeinfo's @include search path.
9501
d96875df 95022009-09-23 Felix Zielcke <fzielcke@z-51.de>
9503
9504 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9505
9b3f8365 95062009-09-23 Felix Zielcke <fzielcke@z-51.de>
9507
9508 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9509 for `*.dpkg-new'.
9510
c44c90db 95112009-09-21 Colin Watson <cjwatson@ubuntu.com>
9512
9513 Build info documentation. Some code borrowed from Automake.
9514
9515 * configure.ac: Check for makeinfo.
9516 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9517 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9518 docs/version.texi.
9519 (MOSTLYCLEANFILES): Add vti.tmp.
9520 (docs/version.texi, docs/stamp-vti): Update automatically.
9521 (docs/grub.info): Build info documentation. Use --force and ignore
9522 errors for now.
9523 (all-local): Add $(INFOS).
9524 (install-local): Install info files.
9525 (uninstall): Uninstall info files.
9526 * docs/version.texi: Remove from revision control. This file is
9527 automatically generated on build now.
9528 * gendistlist.sh: Add `*.info'.
9529
e0b37bb5 95302009-09-21 Felix Zielcke <fzielcke@z-51.de>
9531
9532 * kern/term.c: Fix indentation.
9533
5a78865b 95342009-09-21 Felix Zielcke <fzielcke@z-51.de>
9535
9536 * util/hostdisk.c: Fix a comment.
9537
dace7e8a 95382009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9539
9540 Fix regression introduced in r2539.
9541
9542 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9543 to 0xA1.
9544
a83d079b 95452009-09-19 Colin Watson <cjwatson@ubuntu.com>
9546
9547 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 9548 os-prober. Under normal operation, it does not print anything to
9549 stderr; if it does, we need to debug it, and throwing away stderr
9550 makes that excessively difficult.
a83d079b 9551
be94a509 95522009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9555
63f745e8 95562009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9557
9558 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9559 AC_LANG_PROGRAM from autoconf.
9560 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9561 prototypes (fixes warning).
9562
9563 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9564 `--disable-werror' was used.
9565
bbb2a70f 95662009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9567
9568 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9569 uninitialized `lastaddr'.
9570
77c24f1d 95712009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9572
0f0b8c87 9573 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 9574
07197f23 95752009-09-14 Colin Watson <cjwatson@ubuntu.com>
9576
9577 * commands/test.c (get_fileinfo): Return immediately if
9578 grub_fs_probe fails.
9579
dabf1798 95802009-09-14 José Martínez <xosemp@gmail.com>
9581
9582 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9583
d52109a7 95842009-09-14 Colin Watson <cjwatson@ubuntu.com>
9585
9586 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9587 output.
9588
56532179 95892009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9590
9591 * configure.ac: Remove --enable-grub-pe2elf. Only build
9592 grub-pe2elf when needed by the build system itself.
9593 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9594
8ef070f5 95952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9596
9597 * configure.ac: Bump version to 1.97~beta3.
9598 * docs/version.texi: Likewise.
9599
61229557 96002009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9601
9602 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9603 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9604 from here ...
9605 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9606 (grub_linux_setup_video): ... to here (with some adjustments).
9607
5c9f8d84 96082009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9609
9610 Fix memory corruption issue (spotted by Colin Watson).
9611
9612 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9613 causing returned size to be stored in an incorrect memory location.
9614 Fix use of uninitialized value when storing the returned size.
9615
e8f5d6e9 96162009-09-12 Yves Blusseau <blusseau@zetam.org>
9617
9618 Change clean rules to properly remove files
9619
9620 * genmk.rb: add new clean rules
9621 * Makefile.in (clean): add the new targets
9622 (mostlyclean): likewise
9623
cda2a409 96242009-09-11 Colin Watson <cjwatson@ubuntu.com>
9625
9626 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9627 to grub_uint64_t.
9628 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9629 non-resident files.
9630
86695375 96312009-09-11 Colin Watson <cjwatson@ubuntu.com>
9632
9633 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9634 part of bug #27349.
9635
8aa1541a 96362009-09-10 Felix Zielcke <fzielcke@z-51.de>
9637
9638 * util/grub-mkconfig.in: Make the created config mode 400 and
9639 print a warning if it fails.
9640
48d9bb0a 96412009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9642
9643 * util/grub.d/40_custom.in: Ask user to type custom entries below
9644 comment, rather than below 'exec tail' line.
9645
3b0521be 96462009-09-10 Colin Watson <cjwatson@ubuntu.com>
9647
9648 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9649 visible in grub.cfg.
9650
50051d55 96512009-09-10 Colin Watson <cjwatson@ubuntu.com>
9652
9653 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9654 file.
9655
c0d34387 96562009-09-10 Felix Zielcke <fzielcke@z-51.de>
9657
9658 * docs/grub.cfg: Add an example menu entry for memtest86+.
9659
80a608f3 96602009-09-09 Felix Zielcke <fzielcke@z-51.de>
9661
a2094832 9662 * config.guess: Update to latest version from config git.
80a608f3 9663 * config.sub: Likewise.
9664
99423078 96652009-09-08 Colin Watson <cjwatson@ubuntu.com>
9666
9667 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9668 unknown-command case. Fixes bug #27320.
9669
44454e4c 96702009-09-08 Felix Zielcke <fzielcke@z-51.de>
9671
9672 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9673 `help' if the command exists.
9674
e30d87ad 96752009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9676
9677 * INSTALL: Require GCC 4.1.3 or later.
9678
9a86f1ec 96792009-09-06 Yves Blusseau <blusseau@zetam.org>
9680
9681 * Makefile.in (RMKFILES): add i386-qemu.rmk
9682 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9683 $(srcdir)/stamp-h.in
9684
7f26d466 96852009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9686
9687 * util/grub-probe.c (probe): Comment out buggy codepath, which
9688 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9689 should be re-enabled after 1.97.
9690
3a613259 96912009-09-05 Felix Zielcke <fzielcke@z-51.de>
9692
9693 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9694 find searches for.
9695
197f76c7 96962009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9699 unnecessary calls to grub_error.
9700
70ba68ce 97012009-09-04 Colin Watson <cjwatson@ubuntu.com>
9702
9703 * NEWS: Mention `keystatus' and Unicode fonts.
9704
4ff0d7a4 97052009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9706
9707 * configure.ac: Bump version to 1.97~beta2.
9708 * docs/version.texi: Likewise.
9709
77c55a87 97102009-09-03 Colin Watson <cjwatson@ubuntu.com>
9711
9712 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9713 containing unwind information in some cases where it previously did
9714 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9715 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9716 discussion.
9717
f79572cd 97182009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9719
9720 Embedding loadenv module into grub-emu
9721
9722 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9723 commands/loadenv.c
9724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9725 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9726 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9729 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9730
93a81088 97312009-09-03 Magnus Granberg <zorry@ume.nu>
9732
9733 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9734 include -fPIE in the default specs.
9735 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9736 to TARGET_CFLAGS.
9737
160034b2 97382009-09-03 Felix Zielcke <fzielcke@z-51.de>
9739
9740 * INSTALL: Note that GNU Bison 2.3 or later is required.
9741
087c07c4 97422009-09-03 Colin Watson <cjwatson@ubuntu.com>
9743
9744 * kern/i386/pc/startup.S: Fix typo.
9745
cbf978c0 97462009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9749 according to GCS.
9750
97512009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 9752
9753 * docs/grub.texi (Naming convention): Describe one-based partition
9754 numbering.
9755 (Device syntax): Likewise.
9756 (File name syntax): Likewise.
9757 (Block list syntax): Likewise.
9758 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9759 menu.lst.
9760 (File name syntax): Likewise.
9761 (Command-line and menu entry commands): Document acpi, blocklist,
9762 crc, export, insmod, keystatus, ls, set, and unset commands.
9763
f3e8cdfd 97642009-09-02 Colin Watson <cjwatson@ubuntu.com>
9765
9766 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9767 to avoid implying that only one of --shift, --ctrl, or --alt may be
9768 used.
9769
c0bc232b 97702009-09-02 Colin Watson <cjwatson@ubuntu.com>
9771
9772 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9773 rather than comparing against S_IFREG, which will almost never work.
9774
aa0f752d 97752009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9778 (write_blocklists): Likewise.
9779
ecb3166a 97802009-09-01 Colin Watson <cjwatson@ubuntu.com>
9781
9782 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9783 argument to grub_printf.
9784
c403a125 97852009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 9786
9787 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 9788 non GNU test.
31aba781 9789
b5e7312c 97902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * kern/file.c (grub_file_read): Spelling fix
9793
fe00f472 97942009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9797 loading of headers in some cases.
9798
cc55302e 97992009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9800
9801 * configure.ac: Bump version to 1.97~beta1.
9802 * docs/version.texi: Likewise.
9803
5c90cdd2 98042009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 9805
9806 * include/grub/i386/xnu.h: Add license header.
9807 include grub/err.h explicitly.
9808
c90edae4 98092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9810
9811 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9812 to `ufs' in the vfs.root.mountfrom kernel parameter.
9813
d8888b5c 98142009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9815
9816 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9817
9818 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9819 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9820
9821 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9822 `ARRAY_SIZE' macro.
9823
6f07b921 98242009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * kern/file.c (grub_file_read): Check offset.
9827 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9828 * fs/jfs.c (grub_jfs_read_file): Likewise.
9829 * fs/ntfs.c (grub_ntfs_read): Likewise.
9830 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9831 * fs/minix.c (grub_minix_read_file): Correct offset check.
9832 * fs/ufs.c (grub_ufs_read_file): Likewise.
9833
b4f34077 98342009-08-28 Colin Watson <cjwatson@ubuntu.com>
9835
9836 * term/i386/pc/console.c (bios_data_area): Cast
9837 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9838
e7c69859 98392009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 1-bit optimised blitters.
9842
9843 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9844 prototype.
9845 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9846 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9847 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9848 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9849 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9850 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9851 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9852 function.
9853 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9854 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9855 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9856 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9857 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9858 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9859 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9860 when possible.
9861 * video/video.c (grub_video_get_blit_format): Return
9862 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9863
a57da43f 98642009-08-28 Colin Watson <cjwatson@ubuntu.com>
9865
9866 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9867 the first argument to grub_printf.
9868
4cbe67e5 98692009-08-28 Colin Watson <cjwatson@ubuntu.com>
98702009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9871
9872 Add `getkeystatus' terminal method. Add a new `keystatus' command
9873 to query it.
9874
9875 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9876 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9877 modifier key bitmasks.
9878 (struct grub_term_input): Add `getkeystatus' member.
9879 (grub_getkeystatus): Add prototype.
9880 * kern/term.c (grub_getkeystatus): New function.
9881
9882 * include/grub/i386/pc/memory.h
9883 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9884 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9885 Data Area layout.
9886 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9887 (grub_console_term_input): Set `getkeystatus' member.
9888 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9889 constants.
9890 (grub_usb_keyboard_getreport): Likewise.
9891 (grub_usb_keyboard_checkkey): Likewise.
9892 (grub_usb_keyboard_getkeystatus): New function.
9893 (grub_usb_keyboard_term): Set `getkeystatus' member.
9894
9895 * commands/keystatus.c: New file.
9896 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9897 (keystatus_mod_SOURCES): New variable.
9898 (keystatus_mod_CFLAGS): Likewise.
9899 (keystatus_mod_LDFLAGS): Likewise.
9900 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9901 commands/keystatus.c.
9902 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9904 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9906 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 9908
6e2a9085 99092009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 Split befs.mod and afs.mod into *_be.mod and *.mod
9912
9913 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9914 (grub_fstest_SOURCES): Likewise.
9915 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9916 (afs_be_mod_SOURCES): New variable.
9917 (afs_be_mod_CFLAGS): Likewise.
9918 (afs_be_mod_LDFLAGS): Likewise.
9919 (befs_be_mod_SOURCES): Likewise.
9920 (befs_be_mod_CFLAGS): Likewise.
9921 (befs_be_mod_LDFLAGS): Likewise.
9922 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9923 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9925 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9926 (grub_emu_SOURCES): Likewise.
9927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9928 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9929 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9930 * fs/afs_be.c: New file.
9931 * fs/befs_be.c: New file.
9932 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9933 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9934 (U16): Replaced with ...
9935 (grub_afs_to_cpu16): ...this. All users updated.
9936 (U32): Replaced with ...
9937 (grub_afs_to_cpu32): ...this. All users updated.
9938 (U64): Replaced with ...
9939 (grub_afs_to_cpu64): ...this. All users updated.
9940 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9941 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 9942 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 9943 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9944 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9945 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9946 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9947 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9948 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9949 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9950 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9951
32a71655 99522009-08-26 Bean <bean123ch@gmail.com>
9953
9954 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9955 64-bit number.
9956 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9957 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9958 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9959
552bf6c5 99602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 NetBSD memory map support.
9963
9964 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9965 (grub_netbsd_btinfo_mmap_header): New structure.
9966 (grub_netbsd_btinfo_mmap_entry): Likewise.
9967 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9968
1ae2078c 99692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 Enable bsd.mod on coreboot.
9972
9973 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9974 (bsd_mod_SOURCES): New variable.
9975 (bsd_mod_CFLAGS): Likewise.
9976 (bsd_mod_LDFLAGS): Likewise.
9977 (bsd_mod_ASFLAGS): Likewise.
9978 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9979 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9980
beefc598 99812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 Cleanup NetBSD root support.
9984
9985 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9986 grub_bsd_get_device.
9987 Fix typo.
9988
3b76e68b 99892009-08-25 Felix Zielcke <fzielcke@z-51.de>
9990
9991 * util/grub.d/00_header.in: Move check for the video backend of
9992 gfxterm from here ...
9993 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9994 a suitable video backend.
9995
aea664ea 99962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 Fix breakage in grub-setup.
9999
10000 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
10001 "msdos_partition_map".
10002
ff747d50 100032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 Fix breakage in normal/auth.c.
10006
10007 * normal/auth.c (grub_iswordseparator): New function.
10008
e7e1f93f 100092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 Authentication support.
10012
10013 * commands/password.c: New file.
10014 * conf/common.rmk (pkglib_MODULES): Add password.mod.
10015 (password_mod_SOURCES): New variable.
10016 (password_mod_CFLAGS): Likewise.
10017 (password_mod_LDFLAGS): Likewise.
10018 (normal_mod_SOURCES): Add normal/auth.c.
10019 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
10020 normal/auth.c.
10021 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10022 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10023 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10026 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10027 * include/grub/auth.h: New file.
10028 * include/grub/err.h (grub_err_t): New enum value
10029 GRUB_ERR_ACCESS_DENIED.
10030 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
10031 'users'.
10032 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
10033 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
10034 users updated.
10035 * normal/auth.c: New file.
10036 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
10037 (grub_cmdline_run): Don't allow to go to command line without
10038 authentication.
10039 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
10040 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
10041 menuentry without superuser rights.
10042 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
10043 user isn't a superuser.
10044
70f1161d 100452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 Save space by inlining misc.c functions.
10048
10049 * kern/misc.c (grub_iswordseparator): Made static.
10050 * kern/misc.c (grub_strcat): Moved from here ...
10051 * include/grub/misc.h (grub_strcat): ... here. Inlined.
10052 * kern/misc.c (grub_strncat): Moved from here ...
10053 * include/grub/misc.h (grub_strncat): ... here. Inlined.
10054 * kern/misc.c (grub_strcasecmp): Moved from here ...
10055 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
10056 * kern/misc.c (grub_strncasecmp): Moved from here ...
10057 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
10058 * kern/misc.c (grub_isalpha): Moved from here ...
10059 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
10060 * kern/misc.c (grub_isdigit): Moved from here ...
10061 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
10062 * kern/misc.c (grub_isgraph): Moved from here ...
10063 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
10064 * kern/misc.c (grub_tolower): Moved from here ...
10065 * include/grub/misc.h (grub_tolower): ... here. Inlined.
10066
48e40bff 100672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * script/sh/function.c (grub_script_function_find): Cut error message
10070 not to flood terminal.
10071 * script/sh/lexer.c (grub_script_yylex): Remove command line length
10072 limit.
10073 * script/sh/script.c (grub_script_arg_add): Duplicate string.
10074
c385bfc3 100752009-08-24 Colin Watson <cjwatson@ubuntu.com>
10076
10077 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
10078 `report' grub_uint8_t *.
10079 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
10080 Use a 50-millisecond timeout rather than just repeating
10081 grub_usb_keyboard_getreport 50 times.
10082 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
10083
2d21e3e8 100842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 Rename *_partition_map to part_*
10087
10088 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
10089 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
10090 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
10091 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
10092 All users updated.
10093 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
10094 All users updated.
10095 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
10096 * util/grub-probe.c (probe_partmap): Don't transform partition name
10097 to get module name.
10098
dd103c4e 100992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 Fix OpenBSD and NetBSD support.
10102
10103 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
10104 memory address conflict.
10105 (OPENBSD_MMAP_ACPI): New definition.
10106 (OPENBSD_MMAP_NVS): Likewise.
10107 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
10108 and OPENBSD_MMAP_NVS.
10109 Add memory map terminator
10110 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 10111 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 10112
16c84d74 101132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 Let user specify NetBSD root device.
10116
10117 * loader/i386/bsd.c (netbsd_root): New variable.
10118 (netbsd_opts): New option 'root'.
10119 (NETBSD_ROOT_ARG): New macro.
10120 (grub_netbsd_boot): Use 'netbsd_root'.
10121 (grub_bsd_unload): Free 'netbsd_root'.
10122 (grub_cmd_netbsd): Fill 'netbsd_root'.
10123
adb29902 101242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 Support for 64-bit NetBSD.
10127
10128 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
10129 point when booting non-FreeBSD.
10130
f5ae9f74 101312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Support --no-smp and --no-acpi for NetBSD.
10134
10135 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
10136 (NETBSD_AB_NOACPI): Likewise.
10137 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
10138 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
10139
de74f136 101402009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
10143 errors.
10144 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
10145 errors. Call grub_error when needed.
10146
e9a925da 101472009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * commands/search.c (search_fs): Try searching without autoload first.
10150 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10151 filesystem module explicitly for faster booting.
10152
5174302b 101532009-08-23 Colin Watson <cjwatson@ubuntu.com>
10154
10155 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
10156
c8c80635 101572009-08-23 Colin Watson <cjwatson@ubuntu.com>
10158
10159 * util/grub.d/30_os-prober.in: Disable os-prober if
10160 `GRUB_DISABLE_OS_PROBER' was set to true.
10161
71acf5e5 101622009-08-23 Robert Millan <rmh.grub@aybabtu.com>
10163
10164 * partmap/pc.c: Rename to ...
10165 * partmap/msdos.c: ... this. Update all users.
10166 (grub_pc_partition_map): Rename to ...
10167 (grub_msdos_partition_map): ... this. Update all users.
10168
10169 * parttool/pcpart.c: Rename to ...
10170 * parttool/msdospart.c: ... this. Update all users.
10171
10172 * include/grub/pc_partition.h: Rename to ...
10173 * include/grub/msdos_partition.h: ... this. Update all users.
10174 (grub_pc_partition_bsd_entry): Rename to ...
10175 (grub_msdos_partition_bsd_entry): ... this. Update all users.
10176 (grub_pc_partition_disk_label): Rename to ...
10177 (grub_msdos_partition_disk_label): ... this. Update all users.
10178 (grub_pc_partition_entry): Rename to ...
10179 (grub_msdos_partition_entry): ... this. Update all users.
10180 (grub_pc_partition_mbr): Rename to ...
10181 (grub_msdos_partition_mbr): ... this. Update all users.
10182 (grub_pc_partition): Rename to ...
10183 (grub_msdos_partition): ... this. Update all users.
10184 (grub_pc_partition_is_empty): Rename to ...
10185 (grub_msdos_partition_is_empty): ... this. Update all users.
10186 (grub_pc_partition_is_extended): Rename to ...
10187 (grub_msdos_partition_is_extended): ... this. Update all users.
10188 (grub_pc_partition_is_bsd): Rename to ...
10189 (grub_msdos_partition_is_bsd): ... this. Update all users.
10190
10191 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
10192 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
10193 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
10194 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
10195 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
10196 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
10197 (gpt_mod_LDFLAGS): Rename to ...
10198 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
10199 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
10200 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
10201 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
10202 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
10203 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
10204 (part_gpt_mod_LDFLAGS): ... this.
10205 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
10206 `pcpart.mod' to `msdospart.mod'.
10207 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
10208 to ...
10209 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
10210 (msdospart_mod_LDFLAGS): ... this.
10211
c11fded5 102122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
10215 (openbsd_opts): Likewise.
10216 (netbsd_opts): Likewise.
10217 (freebsd_flags): Added 0 terminator.
10218 (openbsd_flags): Likewise.
10219 (netbsd_flags): Likewise.
10220 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
10221 (grub_cmd_freebsd): Transformed into extended command.
10222 (grub_cmd_openbsd): Likewise.
10223 (grub_cmd_netbsd): Likewise.
10224 (cmd_freebsd): Changed type to grub_extcmd_t.
10225 (cmd_openbsd): Likewise.
10226 (cmd_netbsd): Likewise.
10227 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
10228 grub_cmd_openbsd as extended commands.
10229 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
10230 cmd_netbsd and cmd_openbsd
10231
11d1c769 102322009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
10235
7a9094e5 102362009-08-21 Pavel Roskin <proski@gnu.org>
10237
5496c37e 10238 * Makefile.in (install-local): When checking if a file is in the
10239 build directory, use "test -e" to detect symlinks.
10240
7a9094e5 10241 * Makefile.in (install-local): Remove all files in
10242 $(DESTDIR)$(pkglibdir) before installing new files there.
10243
e53cea11 102442009-08-18 Felix Zielcke <fzielcke@z-51.de>
10245
10246 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
10247 grub-mkelfimage.
10248
9aced544 102492009-08-18 Felix Zielcke <fzielcke@z-51.de>
10250
10251 * util/grub-mkconfig.in: Don't use gfxterm by default if not
10252 explicitly specified by the user.
10253
b7da6bab 102542009-08-18 Pavel Roskin <proski@gnu.org>
10255
10256 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
10257 grub_uint8_t pointer for data.
10258 * include/grub/fbutil.h (struct grub_video_fbblit_info):
10259 Likewise.
10260 * video/fb/fbutil.c: Remove unnecessary casts.
10261
19f1b335 102622009-08-17 Michal Suchanek <hramrach@centrum.cz>
10263
10264 VBE cleanup.
10265
10266 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
10267 (grub_vbe_set_video_mode): Save active mode info
10268 only after setting the mode.
10269 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
10270 second argument.
10271
2f467aa9 102722009-08-17 Michal Suchanek <hramrach@centrum.cz>
10273
10274 Rename variables for clarity.
10275
10276 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10277 (active_vbe_mode_info): ... this. All users updated.
10278 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10279 All users updated.
10280 (initial_mode): Rename to ...
10281 (initial_vbe_mode): ... this. All users updated.
10282 (mode_in_use): Rename to ..
10283 (vbe_mode_in_use): ... this. All users updated.
10284 (mode_list): Rename to ..
10285 (vbe_mode_list): ... this. All users updated.
10286 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10287 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10288 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10289 'mode_list_size' to 'vbe_mode_list_size'.
10290 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10291 'best_mode_info' to 'best_vbe_mode_info' and
10292 'best_mode' to 'best_vbe_mode'
10293
6025fcd7 102942009-08-17 Michal Suchanek <hramrach@centrum.cz>
10295
10296 Remove duplicate grub_video_fb_get_video_ptr.
10297
10298 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10299 (grub_video_fb_get_video_ptr): ... this.
10300 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10301 * video/fb/fbutil.c: Add comment about addressing.
10302 (get_data_ptr): Rename to ...
10303 (grub_video_fb_get_video_ptr): ... this. All users updated.
10304 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10305
cc8c6faf 103062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10307
10308 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10309 grub_dprintf() that was just added.
10310
08aa61f0 103112009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10312
10313 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10314 (DEFAULT_VIDEO_MODE): Remove macros.
10315 (grub_linux_boot): Remove assumption that Linux has FB support,
10316 and use "text" as default video mode.
10317
7cef4f75 103182009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10321 grub_dprintf.
10322 * fs/fat.c (grub_fat_read_data): Likewise.
10323
e1f39873 103242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10327 payload.
10328 (grub_module): Likewise.
10329
c166d79e 103302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10333 mbi->cmdline but free playground.
10334
c60cee8e 103352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 Handle group offset on UFS1.
10338
10339 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10340 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10341
c0d8b5d4 103422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 Split ufs.mod into ufs1.mod and ufs2.mod.
10345
10346 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10347 (grub_fstest_SOURCES): Likewise.
10348 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10349 (ufs_mod_SOURCES): Remove.
10350 (ufs_mod_CFLAGS): Likewise.
10351 (ufs_mod_LDFLAGS): Likewise.
10352 (ufs1_mod_SOURCES): New variable.
10353 (ufs1_mod_CFLAGS): Likewise.
10354 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 10355 (ufs2_mod_SOURCES): New variable.
10356 (ufs2_mod_CFLAGS): Likewise.
10357 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 10358 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10359 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10360 Likewise.
10361 (grub_emu_SOURCES): Likewise.
10362 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10363 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10364 (grub_setup_SOURCES): Likewise.
10365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10366 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10367 (grub_setup_SOURCES): Likewise.
10368 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10369 Likewise.
10370 * fs/ufs2.c: New file.
10371 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10372
d3539132 103732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 Framebuffer split.
10376
10377 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10378 subsystem at the end.
10379 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10380 (video_fb_mod_SOURCES): New variable.
10381 (video_fb_mod_CFLAGS): Likewise.
10382 (video_fb_mod_LDFLAGS): Likewise.
10383 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10384 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10385 * video/i386/pc/vbeblit.c: Moved from here ...
10386 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10387 * video/i386/pc/vbefill.c: Moved from here ...
10388 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10389 * video/i386/pc/vbeutil.c: Moved from here ...
10390 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10391 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10392 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10393 * include/grub/i386/pc/vbefill.h: Moved from here ...
10394 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10395 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10396 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10397 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10398 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10399 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10400 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10401 (grub_video_adapter): Added 'get_info_and_fini'.
10402 (grub_video_get_info_and_fini): New prototype.
10403 (grub_video_set_mode): make modestring const char *.
10404 * loader/i386/linux.c (grub_linux_setup_video): Use
10405 grub_video_get_info_and_fini.
10406 (grub_linux_boot): Move modesetting just before booting.
10407 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10408 grub_video_get_info_and_fini.
10409 * video/i386/pc/vbe.c: Moved framebuffer part ...
10410 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10411 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10412 grub_video_fbstd_colors and grub_video_fb_set_palette.
10413 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10414 grub_video_fb_init.
10415 (grub_video_vbe_fini): Use grub_video_fb_fini.
10416 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10417 render_target and use grub_video_fb_set_active_render_target and
10418 grub_video_fb_set_palette.
10419 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10420 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10421 (grub_video_vbe_adapter): Use framebuffer.
10422 * video/video.c (grub_video_get_info_and_fini): New function.
10423 (grub_video_set_mode): Make modestring const char *.
10424 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10425 values are already initialised.
10426
d404ee56 104272009-08-14 Pavel Roskin <proski@gnu.org>
10428
10429 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10430 ABS and APPLE_CC.
10431 * boot/i386/pc/diskboot.S: Likewise.
10432 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10433 sectors allow compilation on MacOSX.
10434 * conf/i386-pc.rmk: Enable unconditional compilation of
10435 lnxboot.img.
10436
9a10df16 104372009-08-13 Colin Watson <cjwatson@ubuntu.com>
10438
10439 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10440 * util/grub.d/00_header.in: Enter interruptible sleep if
10441 GRUB_HIDDEN_TIMEOUT is set.
10442
be3c9ca7 104432009-08-13 Yves Blusseau <blusseau@zetam.org>
10444
10445 * include/grub/symbol.h: Add the LOCAL macro.
10446 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10447 starting with "L_".
10448
1f9e557e 104492009-08-13 Pavel Roskin <proski@gnu.org>
10450
9ca62843 10451 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10452 any modern compilers we support.
10453
1f9e557e 10454 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10455 Use local labels starting with "L_" so that Apple assembler
10456 knows they are local.
10457
81623db6 104582009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10459
10460 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10461 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10462 (bsd_kernel_types): ... this enum.
10463
10464 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10465 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10466 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10467
10468 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10469 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10470 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10471 messages.
10472
f5d35e7a 104732009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10474
10475 * util/grub-dumpdevtree: Moved from here ...
10476 * util/i386/efi/grub-dumpdevtree: ... to here.
10477 (hexify): New function. Converts a string to its hex version.
10478 Generate hex versions of "efi" and "device-properties" by calling
10479 hexify() on the ASCII strings rather than by hardcoding numbers.
10480
d1e1d527 104812009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10482
10483 * fs/jfs.c: Update copyright year.
10484
1ebbe064 104852009-08-08 Felix Zielcke <fzielcke@z-51.de>
10486
10487 * util/grub.d/00_header.in: Fix a comment.
10488 * util/grub.d/10_linux.in: Likewise.
10489 * util/grub.d/10_windows.in: Likewise.
10490 * util/grub.d/10_hurd.in: Likewise.
10491
a78c8d24 104922009-08-08 Felix Zielcke <fzielcke@z-51.de>
10493
10494 * util/grub-mkconfig.in: Allow the user to specify the used font
10495 with GRUB_FONT.
10496
29a6b9e8 104972009-08-08 Pavel Roskin <proski@gnu.org>
10498
b5f16cc4 10499 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10500 available, xfs.mod needs it now.
10501
2f5cb827 10502 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10503 the "g" modifier in sed when the intention is to strip something
10504 once. This fixes comparison of kernels with multiple dashes.
10505
29a6b9e8 10506 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10507 on it. Add missing space before closing bracket. Fix
10508 misleading formatting.
10509
892a3d98 105102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10511
10512 * docs/grub.texi: Major overhaul. Remove all sections that are
10513 specific to GRUB Legacy, or mostly composed of Legacy-specific
10514 information.
10515
ed94253f 105162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10517
10518 * docs/version.texi: New file. Provides version information for
10519 grub.texi.
10520
126d6628 105212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10522
10523 * docs/grub.texi: Update CVS information to SVN.
10524 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10525
998b5aa9 105262009-08-07 Felix Zielcke <fzielcke@z-51.de>
10527
10528 * util/grub-mkconfig.in: Remove a wrong `fi'.
10529
818e094a 105302009-08-07 Felix Zielcke <fzielcke@z-51.de>
10531
10532 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10533 (grub_jfs_uuid): New function.
10534 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10535
b969c52f 105362009-08-07 Felix Zielcke <fzielcke@z-51.de>
10537
10538 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10539 of it to ...
10540 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10541 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10542
7a4894cc 105432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10544
10545 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10546 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10547 Update all users.
10548
10549 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10550 not just "vmlinu[zx]".
10551 Moved from here ...
10552 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10553 all users.
10554
10555 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10556 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10557 all users.
10558
4e2171f8 105592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10560
10561 * util/grub.d/10_freebsd.in: Use an absolute device path for
10562 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10563
6dcfcb32 105642009-08-06 Felix Zielcke <fzielcke@z-51.de>
10565
10566 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10567 handling of multiple abstraction modules.
10568
f56a8756 105692009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10570
10571 Fix a bug resulting in black screen when loading Linux using a
10572 packed video mode.
10573
10574 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10575 function.
10576
10577 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10578 (grub_vbe_bios_getset_dac_palette_width): New function.
10579 (grub_vbe_bios_get_dac_palette_width)
10580 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10581 grub_vbe_bios_getset_dac_palette_width()).
10582
10583 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10584 check for return status.
10585 (grub_vbe_get_video_mode_info): When getting information for a packed
10586 mode (<= 8 bpp), obtain DAC palette width using
10587 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10588 {red,green,blue}_mark_size.
10589
222671b2 105902009-08-04 Felix Zielcke <fzielcke@z-51.de>
10591
ecb1a6d9 10592 * commands/search.c (options): Fix help output to match actual code.
222671b2 10593
f84114f5 105942009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10597 of homegrown code.
10598
bd288a20 105992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 10600
10601 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10602 on XFS or ReiserFS.
10603
8aab5e25 106042009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 Support Apple partition map with sector size different from 512 bytes.
10607
10608 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10609 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10610 and 'apart.partmap_size'.
10611
6ad6258a 106122009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
106132009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10614
10615 Fix cpuid command.
10616
10617 * commands/i386/cpuid.c (options): New variable.
10618 (grub_cmd_cpuid): Return real error.
10619 (GRUB_MOD_INIT(cpuid)): Declare options.
10620
67459bc6 106212009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10624 valid.
10625
fbc6ab54 106262009-07-31 Bean <bean123ch@gmail.com>
10627
10628 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10629 log2_inode.
10630 (grub_fshelp_node): Move inode field to the end.
10631 (grub_xfs_data): Remove inode field.
10632 (grub_xfs_inode_block): Calculate inode size using sblock.
10633 (grub_xfs_inode_offset): Likewise.
10634 (grub_xfs_read_inode): Calculate inode size using sblock.
10635 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10636 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10637 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10638 to match inode size.
10639 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10640 not accessible when data is null.
10641 (grub_xfs_open): Likewise.
10642
f45d6cfc 106432009-07-31 Bean <bean123ch@gmail.com>
10644
10645 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10646 Don't change pv->disk if it's already set.
10647
10648 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10649 (grub_raid_register): ... here.
10650 (grub_raid_rescan): Removed.
10651
10652 * include/grub/raid.h (grub_raid_rescan): Removed.
10653
10654 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10655 (fstest): Replace grub_raid_rescan with module fini function followed
10656 by init function.
10657
10658 * util/grub-probe.c: Add include file <grub/raid.h>.
10659 (probe_raid_level): New function.
10660 (probe): Detect abstraction by walking the disk device, support two
10661 level of abstraction (LVM on RAID) when detecting partition map.
10662
24443b5a 106632009-07-31 Pavel Roskin <proski@gnu.org>
10664
10665 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10666 to grub_zalloc(), it was erroneous.
10667 Reported by Bean <bean123ch@gmail.com>
10668
a275d9e7 106692009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 10672 embedding zone, not only the first one.
a275d9e7 10673
56c5a47f 106742009-07-29 Joe Auricchio <jauricchio@gmail.com>
10675
10676 * term/gfxterm.c (clear_char): New function.
10677 (grub_virtual_screen_setup): Use clear_char.
10678 (scroll_up): Likewise.
10679 (grub_virtual_screen_cls): Likewise.
10680
67bb323a 106812009-07-29 Felix Zielcke <fzielcke@z-51.de>
10682
10683 * util/deviceiter.c (get_acceleraid_disk_name): New static
10684 function.
10685 (grub_util_iterate_devices): Handle Accelraid devices.
10686 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10687
388a7c75 106882009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10689
10690 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10691 separator for the suggested gfxpayload string (';' collides with the
10692 parser and needs escaping).
10693
3bb7abcf 106942009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10697 Clear direction flag before jumping to OS.
10698 (grub_multiboot2_real_boot): Likewise.
10699
2ddd36d7 107002009-07-28 Felix Zielcke <fzielcke@z-51.de>
10701
10702 * util/i386/pc/grub-install: Fix parsing of --disk-module
10703 option.
10704
c521b62b 107052009-07-28 Felix Zielcke <fzielcke@z-51.de>
10706
10707 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10708 when embedding.
10709
880e0a0c 107102009-07-26 Felix Zielcke <fzielcke@z-51.de>
10711
10712 * util/grub-mkconfig.in (package_version): New variable.
10713 Use it do display the version.
10714
2366e356 107152009-07-25 Felix Zielcke <fzielcke@z-51.de>
10716
10717 * kern/file.c (grub_file_open): Revert to previous check with
10718 grub_errno.
10719
7ad8c80e 107202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10723 from help line. It's out of sync with code.
10724
72b9658b 107252009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10728 entries on failed boot.
10729
77435277 107302009-07-25 Felix Zielcke <fzielcke@z-51.de>
10731
10732 * kern/file.c (grub_file_open): Fix an error check.
10733
fcaa8b21 107342009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10735
35d16c74 10736 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10737 partition map couldn't be identified.
fcaa8b21 10738
48904cd1 107392009-07-23 Pavel Roskin <proski@gnu.org>
10740
ef3c317f 10741 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10742 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10743 case of little endian words becomes just an optimization.
10744 Respect const modifier.
ad8ea1f4 10745 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 10746
48904cd1 10747 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10748 to avoid loss of upper bits if align is unsigned and shorter
10749 than addr.
10750
260c9a89 107512009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 UUID support for UFS
10754
10755 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10756 (grub_ufs_uuid): New function.
10757 (grub_ufs_fs): add .uuid
10758
f76ce889 107592009-07-21 Pavel Roskin <proski@gnu.org>
10760
10761 * kern/dl.c (grub_dl_check_header): Make static.
10762
6a6cbcaf 107632009-07-21 Felix Zielcke <fzielcke@z-51.de>
10764
10765 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10766 add drivemap for Vista. It breaks Windows 7.
10767
cffcddb2 107682009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10771 128 bytes
10772
1ef44b80 107732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10774
10775 Add BFS support
10776
10777 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10778 (grub_fstest_SOURCES): Likewise.
10779 (pkglib_MODULES): Add befs.mod.
10780 (befs_mod_SOURCES): New variable.
10781 (befs_mod_CFLAGS): Likewise.
10782 (befs_mod_LDFLAGS): Likewise.
10783 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10784 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10786 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10787 (grub_setup_SOURCES): Likewise.
10788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10789 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10790 (grub_setup_SOURCES): Likewise.
10791 * fs/befs.c: New file.
10792 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10793 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10794 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10795 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10796 (B_KEY_INDEX_ALIGN): New declaration.
10797 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10798 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10799 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10800 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10801 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10802 (grub_afs_mount) [MODE_BFS]: Likewise.
10803 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10804 (grub_afs_fs): Use GRUB_AFS_FSNAME
10805 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10806 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10807 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10808 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10809
4f253044 108102009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10811
10812 * util/getroot.c (find_root_device): Add support for MacOSX.
10813 * util/hostdisk.c: Likewise.
10814
57a55913 108152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * font/font.c (find_glyph): Check whether a font is present to avoid
10818 segmentation fault.
75421ca9 10819
108202009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 10821
10822 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10823
e98cd0c2 108242009-07-20 Pavel Roskin <proski@gnu.org>
10825
10826 * configure.ac: Trim excessively wordy excuses.
10827
1d2d169a 108282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Add symlink, mtime and label support to AtheFS.
10831
10832 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10833 (grub_afs_iterate_dir): Handle symlinks.
10834 (grub_afs_open): Use grub_afs_read_symlink.
10835 (grub_afs_dir): Likewise.
10836 Pass mtime.
10837 (grub_afs_label): New function.
10838 (grub_afs_fs): Add grub_afs_label.
10839 (grub_afs_read_symlink): New function.
10840
186f3189 108412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Fix AtheFS support.
10844
10845 * fs/afs.c: Fix comments style.
10846 (grub_afs_blockrun): Declare as packed.
10847 (grub_afs_datastream): Likewise.
10848 (grub_afs_bnode): Likewise.
10849 (grub_afs_btree): Likewise.
10850 (grub_afs_sblock): Likewise.
10851 Declare `name' as char.
10852 (grub_afs_inode): Declare as packed.
10853 Change void *vnode to grub_uint32_t unused.
10854 (grub_afs_iterate_dir): Check that key_size is positive.
10855 (grub_afs_mount): Don't read superblock twice.
75421ca9 10856 (grub_afs_dir): Don't free node in case of error,
186f3189 10857 grub_fshelp_find_file already handles this.
10858 (grub_afs_open): Likewise.
10859
5680109e 108602009-07-19 Pavel Roskin <proski@gnu.org>
10861
10862 * Makefile.in: Remove LIBLZO and enable_lzo.
10863 * conf/i386-pc.rmk: Remove lzo support.
10864 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10865 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10866 support.
10867 * kern/i386/pc/lzo1x.S: Remove.
10868 * kern/i386/pc/startup.S: Remove lzo support.
10869 * util/i386/pc/grub-mkimage.c: Likewise.
10870
ac70fa32 108712009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10874 * fs/xfs.c (grub_xfs_dir): Likewise.
10875 * fs/afs.c (grub_afs_dir): Likewise.
10876 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10877 (grub_iso9660_open): Likewise.
10878 * fs/jfs.c (grub_jfs_open): Likewise.
10879 * fs/ext2.c (grub_ext2_dir): Likewise.
10880 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10881 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 10882
eab58da2 108832009-07-16 Pavel Roskin <proski@gnu.org>
10884
d2838156 10885 * configure.ac: Never add "-c" to CFLAGS.
10886
55c70904 10887 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10888
43e6200c 10889 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10890 grub_cv_cc_efiemu should be used.
10891
ce7a733d 10892 * configure.ac: Typo fixes.
10893
eab58da2 10894 * kern/mm.c (grub_zalloc): New function.
10895 (grub_debug_zalloc): Likewise.
10896 * include/grub/mm.h: Declare grub_zalloc() and
10897 grub_debug_zalloc().
10898 * util/misc.c (grub_zalloc): New function.
10899 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10900 instead of grub_malloc(), remove unneeded initializations.
10901 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10902 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10903 * commands/parttool.c (grub_cmd_parttool): Likewise.
10904 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10905 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10906 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10907 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10908 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10909 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10910 (grub_cmd_efiemu_pnvram): Likewise.
10911 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10912 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10913 (grub_iso9660_iterate_dir): Likewise.
10914 * fs/jfs.c (grub_jfs_opendir): Likewise.
10915 * fs/ntfs.c (list_file): Likewise.
10916 (grub_ntfs_mount): Likewise.
10917 * kern/disk.c (grub_disk_open): Likewise.
10918 * kern/dl.c (grub_dl_load_core): Likewise.
10919 * kern/elf.c (grub_elf_file): Likewise.
10920 * kern/env.c (grub_env_context_open): Likewise.
10921 (grub_env_set): Likewise.
10922 (grub_env_set_data_slot): Likewise.
10923 * kern/file.c (grub_file_open): Likewise.
10924 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10925 * loader/i386/multiboot.c (grub_module): Likewise.
10926 * loader/xnu.c (grub_xnu_create_key): Likewise.
10927 (grub_xnu_create_value): Likewise.
10928 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10929 (read_config_file): Likewise.
10930 * normal/menu_entry.c (make_screen): Likewise.
10931 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10932 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10933 * script/sh/script.c (grub_script_parse): Likewise.
10934 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10935 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10936 * video/readers/png.c (grub_png_output_byte): Likewise.
10937 (grub_video_reader_png): Likewise.
10938
830afef7 109392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 10940
10941 Enable all targets that can be built by default
10942
830afef7 10943 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 10944 grub-mkfont and grub-fstest if they can be built
10945
ee293aee 109462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 Fix hang and segmentation fault in grub-emu-usb
10949
10950 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10951 * util/usb.c (grub_libusb_devices): likewise
10952 (grub_libusb_init): rename to ...
10953 (GRUB_MOD_INIT (libusb)):...this
10954 (grub_libusb_fini): rename to ..
10955 (GRUB_MOD_FINI (libusb)):...this
10956 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10957 * include/grub/disk.h (grub_raid_init): removed, it's useless
10958 (grub_raid_fini): likewise
10959 (grub_lvm_init): likewise
10960 (grub_lvm_fini): likewise
10961 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10962 by grub_init_all
10963
94414221 109642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 Fix libusb
10967
10968 * Makefile.in (LIBUSB): new macro
10969 * genmk.rb (Utility/print_tail): new method
10970 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10971 (top level): call util.print_tail at the end.
10972
59ade63d 109732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 Make FreeBSD accept zpool.cache
10976
10977 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10978 type is /boot/zfs/zpool.cache
10979
a58da8c7 109802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 Fix 64-bit efiemu
10983
10984 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10985 correct wrong typedef
10986 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10987
20591577 109882009-07-15 Pavel Roskin <proski@gnu.org>
10989
560ca572 10990 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10991 * kern/disk.c (struct grub_disk_cache): Likewise.
10992
e8e8e4fd 10993 * commands/probe.c (options): Typo fix.
10994
fde24e10 10995 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10996 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10997 accordingly.
10998 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10999
379c54c1 11000 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
11001 the end of "Error" to make the message more readable.
11002
7bd8f5bf 11003 * boot/i386/pc/boot.S (kernel_segment): Remove.
11004 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
11005 for destination.
11006
40b132c5 11007 * boot/i386/pc/boot.S (boot_version): Remove.
11008 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11009 Remove.
11010
20591577 11011 * include/grub/i386/pc/boot.h: Sort all offsets.
11012 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
11013 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
11014 * boot/i386/pc/boot.S: Assert location of every offset listed in
11015 include/grub/i386/pc/boot.h.
11016
2df32b2c 110172009-07-13 Pavel Roskin <proski@gnu.org>
11018
44b5d879 11019 * include/grub/i386/coreboot/machine.h: Rename
11020 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
11021 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
11022 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
11023
17dc3751 11024 * kern/dl.c: Force native word size to suppress warnings when
11025 compiling grub-emu.
11026
2df32b2c 11027 * kern/device.c (grub_device_iterate): Change struct part_ent to
11028 hold the name, not a pointer to it. Use one grub_malloc() per
11029 partition, not two. Free partition_name if grub_malloc() fails.
11030 Set ents to NULL only before grub_partition_iterate() is called.
11031
75c59f59 110322009-07-11 Bean <bean123ch@gmail.com>
11033
11034 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
11035 childname.
11036
0ae1bf88 110372009-07-10 Bean <bean123ch@gmail.com>
110382009-07-10 Robert Millan <rmh.grub@aybabtu.com>
11039
11040 * kern/ieee1275/openfw.c (grub_children_iterate)
11041 (grub_devalias_iterate): Fix size evaluation for property or path
11042 strings, which was broken since r2132.
11043
8279cade 110442009-07-07 Pavel Roskin <proski@gnu.org>
11045
7d8a52d3 11046 * commands/search.c (search_file): Merge into ...
11047 (search_fs): ... this. Accept search type as argument.
11048 (grub_cmd_search): Pass search type to search_fs().
11049
25f9a05a 11050 * include/grub/util/console.h: New file.
11051 * util/console.c: Use it instead of grub/machine/console.h.
11052 * util/grub-emu.c: Likewise.
11053
8279cade 11054 * lib/arg.c (find_long_option): Remove.
11055 (find_long): Add `len' argument, make `s' const char *.
11056 (grub_arg_parse): Parse long options in place, not in a
11057 temporary buffer.
11058
4a11b60f 110592009-07-06 Pavel Roskin <proski@gnu.org>
11060
99f68041 11061 * commands/search.c (search_fs): Fix potential NULL pointer
11062 dereference.
11063
4a11b60f 11064 * commands/search.c (search_fs): Replace QUID macro with quid_fn
11065 function pointer.
11066
e110f4de 110672009-07-06 Daniel Mierswa <impulze@impulze.org>
11068
11069 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
11070 comparison.
11071
46eeb6a2 110722009-07-05 Pavel Roskin <proski@gnu.org>
11073
bab74958 11074 * include/grub/i386/linux.h (struct linux_kernel_params):
11075 Restore padding3, it's still needed.
11076
46eeb6a2 11077 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
11078 FreeBSD.
11079 * util/osdetect.lua: Likewise.
11080
b4a1dc79 110812009-07-05 Bean <bean123ch@gmail.com>
11082
11083 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
11084
11085 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
11086 (grub_lua_getenv): Likewise.
11087 (grub_lua_setenv): Likewise.
11088 (save_errno): New function.
11089 (push_result): Likewise.
11090 (grub_lua_enum_device): Likewise.
11091 (grub_lua_enum_file): Likewise.
11092 (grub_lua_file_open): Likewise.
11093 (grub_lua_file_close): Likewise.
11094 (grub_lua_file_seek): Likewise.
11095 (grub_lua_file_read): Likewise.
11096 (grub_lua_file_getline): Likewise.
11097 (grub_lua_file_getsize): Likewise.
11098 (grub_lua_file_getpos): Likewise.
11099 (grub_lua_file_eof): Likewise.
11100 (grub_lua_file_exist): Likewise.
11101 (grub_lua_add_menu): Likewise.
11102
11103 * script/lua/grub_lua.h (isupper): New inline function.
11104 (islower): Likewise.
11105 (ispunct): Likewise.
11106 (isxdigit): Likewise.
11107 (strcspn): Change to normal function.
11108 (strpbkr): New function declaration.
11109 (memchr): Likewise.
11110
11111 * script/lua/grub_main.c (scan_str): New function.
11112 (strcspn): Likewise.
11113 (strpbrk): Likewise.
11114 (memchr): Likewise.
11115
11116 * script/lua/linit.c (lualibs): Enable the string library.
11117
11118 * util/osdetect.lua: New file.
11119
2da92295 111202009-07-04 Robert Millan <rmh.grub@aybabtu.com>
11121
11122 * include/grub/i386/linux.h (struct linux_kernel_params): Add
11123 `capabilities' member.
11124
b2582ec9 111252009-07-02 Pavel Roskin <proski@gnu.org>
11126
11127 * genparttoollist.sh: Add missing newline at the end.
11128
32622956 111292009-07-01 Pavel Roskin <proski@gnu.org>
11130
87a7339e 11131 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
11132
d23af54e 11133 * util/hostdisk.c (open_device): Remove `const' from
11134 `sysctl_size', as sysctlbyname() can change it (in this case it
11135 doesn't actually happen).
11136
c94b18a9 11137 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
11138 using signed long int constants.
11139
c6cd3ef0 11140 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
11141 constant to avoid a warning on FreeBSD.
11142
0df63420 11143 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
11144 where it's needed.
11145
999577f1 11146 * Makefile.in: Install include/grub/machine symlink.
11147
6f41557f 11148 * Makefile.in: When installing symlinks, use "cp -fR", which
11149 works on FreeBSD and MacOSX.
11150 From Yves Blusseau <cl7m42e02@sneakemail.com>
11151
c8d22988 11152 * kern/dl.c (grub_dl_resolve_symbol): Make static.
11153 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
11154
1b96e952 11155 * util/misc.c: Move grub_reboot() and grub_halt() ...
11156 * util/grub-emu.c: ... here. Make main_env static.
11157 * include/grub/util/misc.h: Remove main_env.
11158
2ef0084d 11159 * kern/mm.c: Use correct format to print size_t.
11160
32622956 11161 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
11162 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
11163 * kern/powerpc/dl.c: Likewise.
11164 * kern/sparc64/dl.c: Likewise.
11165 * kern/x86_64/dl.c: Likewise.
11166
3f7f0cd0 111672009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11168
11169 Fix grub-emu build on sparc64-ieee1275.
11170
75421ca9 11171 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 11172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
11173
211d06b5 111742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11175
11176 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
11177 (grub_reboot, grub_halt): New functions.
11178
11179 * util/i386/pc/misc.c: Delete. Update all users.
11180 * util/sparc64/ieee1275/misc.c: Likewise.
11181 * util/powerpc/ieee1275/misc.c: Likewise.
11182
aaf53e3c 111832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11184
11185 * conf/i386.rmk (setjmp_mod_SOURCES)
11186 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
11187 * conf/common.rmk (setjmp_mod_SOURCES)
11188 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
11189 to use $(target_cpu).
11190 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
11191 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
11192 * conf/powerpc-ieee1275.rmk: Likewise.
11193 * conf/sparc64-ieee1275.rmk: Likewise.
11194
11195 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
11196 $(target_cpu) for kern/$(target_cpu)/dl.c.
11197 * conf/i386-efi.rmk: Likewise.
11198 * conf/i386-ieee1275.rmk: Likewise.
11199 * conf/x86_64-efi.rmk: Likewise.
11200 * conf/i386-coreboot.rmk: Likewise.
11201 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
11202 $(target_cpu) for kern/$(target_cpu)/dl.c and for
11203 kern/$(target_cpu)/cache.S.
11204 * conf/sparc64-ieee1275.rmk: Likewise.
11205
a337130b 112062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11207
11208 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
11209 type to `grub_uint8_t', and adjust `padding9' accordingly.
11210
c6fe4d53 112112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11212
b09db61d 11213 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
11214
c6fe4d53 11215 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
11216 assembly in final jump, using register constraints.
11217
b09db61d 11218 (grub_linux_boot): For text mode, initialize `have_vga' using
11219 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
11220
11221 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
11222 right before the final jump.
11223
11224 Set `video_mode' to 0x3.
11225
11226 Document initialization of `video_page', `video_mode' and
11227 `video_ega_bx'.
11228
28333ad0 112292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11230
11231 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
11232 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 11233 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 11234
02164e1b 112352009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11236
11237 Fix build on Debian / sparc.
11238
11239 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
11240
18b6c557 112412009-06-28 Pavel Roskin <proski@gnu.org>
11242
85f2aab6 11243 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
11244 fix a warning.
11245
18b6c557 11246 * util/grub.d/10_linux.in: Match SUSE style initrd names.
11247
ad760f81 112482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11249
11250 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
11251 `err'.
11252
87a4623b 112532009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11254
11255 Revert r2338.
11256
11257 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
11258 file can't be opened. grub_file_open() is already supposed to set
75421ca9 11259 grub_errno / grub_errmsg appropriately.
87a4623b 11260 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11261
8231fb77 112622009-06-27 Pavel Roskin <proski@gnu.org>
112632009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11264
11265 * include/grub/dl.h: Include grub/elf.h.
11266 (struct grub_dl): Add symtab field.
11267 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
11268 GRUB_MODULES_MACHINE_READONLY.
11269 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
11270 of the header for read-only modules.
11271 (grub_dl_unload): Free mod->symtab for read-only modules.
11272 * kern/i386/dl.c: Use mod->symtab.
11273 * kern/powerpc/dl.c: Likewise.
11274 * kern/sparc64/dl.c: Likewise.
11275 * kern/x86_64/dl.c: Likewise.
11276
11277 * conf/i386-qemu.rmk: New file.
11278 * kern/i386/qemu/startup.S: Likewise.
11279 * kern/i386/qemu/mmap.c: Likewise.
11280 * boot/i386/qemu/boot.S: Likewise.
11281 * include/grub/i386/qemu/time.h: Likewise.
11282 * include/grub/i386/qemu/serial.h: Likewise.
11283 * include/grub/i386/qemu/kernel.h: Likewise.
11284 * include/grub/i386/qemu/console.h: Likewise.
11285 * include/grub/i386/qemu/boot.h: Likewise.
11286 * include/grub/i386/qemu/init.h: Likewise.
11287 * include/grub/i386/qemu/machine.h: Likewise.
11288 * include/grub/i386/qemu/loader.h: Likewise.
11289 * include/grub/i386/qemu/memory.h: Likewise.
11290
11291 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11292 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11293 [qemu] (pkglib_IMAGES): Add `boot.img'.
11294 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11295 [qemu] (boot_img_FORMAT): New variables.
11296 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11297 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11298 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11299 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11300 [qemu] (kernel_img_FORMAT): New variables.
11301
11302 * configure.ac: Recognise `i386-qemu'.
11303
11304 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11305 (for no compression).
11306 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11307 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11308 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11309 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11310 ifdefs).
11311
97fe384e 113122009-06-27 Pavel Roskin <proski@gnu.org>
11313
11314 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11315 read.
11316 * efiemu/prepare32.c: Likewise.
11317 * efiemu/prepare64.c: Likewise.
11318
c402ab17 113192009-06-26 Pavel Roskin <proski@gnu.org>
11320
11321 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11322 * include/grub/elf.h: Define symbols without "32" or "64" based
11323 on GRUB_TARGET_WORDSIZE.
11324 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11325 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11326 ELF definitions.
11327 * efiemu/loadcore64.c: Likewise.
11328 * loader/i386/bsd32.c: Likewise.
11329 * loader/i386/bsd64.c: Likewise.
11330 * kern/dl.c: Remove own ELF definitions.
11331 * util/i386/efi/grub-mkimage.c: Likewise.
11332
9bbdfd4d 113332009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11334
11335 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11336 segment 0x0 unconditionally, because the reference generated by
11337 GAS is an absolute address.
11338
a42ce6e9 113392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11340
11341 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11342 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11343
c952cf92 113442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11345
11346 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11347 indexes. Check for -f explicitly.
cc3752ad 11348 (search_file): Improve error message.
11349 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 11350
132a0a59 113512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11352
11353 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11354 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11355
387a140c 113562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11357
11358 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11359 * conf/i386-ieee1275.rmk: Likewise.
11360 * conf/i386-coreboot.rmk: Likewise.
11361
11362 * kern/i386/pc/startup.S (grub_stop): Remove function.
11363 * kern/i386/ieee1275/startup.S: Likewise.
11364 * kern/i386/coreboot/startup.S: Likewise.
11365 * kern/i386/misc.S (grub_stop): New function.
11366
41da9665 113672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11368
11369 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11370 * kern/i386/realmode.S (real_to_prot): ... to here.
11371
bf337234 113722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11373
11374 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11375 with `kernel.img'.
11376 (kernel_elf_SOURCES): Rename to ...
11377 (kernel_img_SOURCES): ... this.
11378 (kernel_elf_HEADERS): Rename to ...
11379 (kernel_img_HEADERS): ... this. Update all users.
11380 (kernel_elf_ASFLAGS): Rename to ...
11381 (kernel_img_ASFLAGS): ... this.
11382 (kernel_elf_CFLAGS): Rename to ...
11383 (kernel_img_CFLAGS): ... this.
11384 (kernel_elf_LDFLAGS): Rename to ...
11385 (kernel_img_LDFLAGS): ... this.
11386 * conf/i386-coreboot.rmk: Likewise.
11387 * conf/powerpc-ieee1275.rmk: Likewise.
11388
11389 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11390 with "kernel.img".
11391
f52196ff 113922009-06-21 Pavel Roskin <proski@gnu.org>
11393
c3cee413 11394 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11395 to match nested functions.
11396 * loader/sparc64/ieee1275/linux.c: Likewise.
11397
f52196ff 11398 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11399
58750afc 114002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11401
11402 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11403 all i386 platforms.
11404
15355c7d 114052009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11406
11407 Fix asm file handling on ELF, and remove workarounds.
11408
11409 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 11410 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 11411 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11412 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11413
3f3ec72b 114142009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 Load BSD ELF modules
11417
11418 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11419 and loader/i386/bsd64.c
11420 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11421 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11422 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11423 (grub_freebsd_load_elfmodule32): New declaration
11424 (grub_freebsd_load_elfmoduleobj64): Likewise
11425 (grub_freebsd_load_elf_meta32): Likewise
11426 (grub_freebsd_load_elf_meta64): Likewise
11427 (grub_freebsd_add_meta): Likewise
11428 (grub_freebsd_add_meta_module): Likewise
11429 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11430 (grub_freebsd_add_meta_module): Likewise and move module-specific
11431 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11432 (grub_cmd_freebsd): Add elf-kernel specific parts
11433 based on grub_freebsd_add_meta_module
11434 (grub_cmd_freebsd_module): Add type parsing moved from
11435 grub_freebsd_add_meta_module
11436 (grub_cmd_freebsd_module_elf): New function
11437 (cmd_freebsd_module_elf): New variable
11438 (GRUB_MOD_INIT): Register freebsd_module_elf
11439 * loader/i386/bsd32.c: New file
11440 * loader/i386/bsd64.c: Likewise
11441 * loader/i386/bsdXX.c: Likewise
11442 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11443 (grub_elf64_load): Likewise
11444 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11445 All users updated
11446 (grub_elf64_load_hook_t): Likewise
11447
0db15301 114482009-06-21 Colin Watson <cjwatson@ubuntu.com>
11449
11450 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11451 variable.
11452 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11453 don't write a menu entry for recovery mode.
11454
546796c1 114552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11456
11457 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11458 after it's no longer needed.
11459
cd7310d5 114602009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11461
11462 * include/grub/i386/loader.h (grub_linux_prot_size)
11463 (grub_linux_tmp_addr, grub_linux_real_addr)
11464 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11465 GRUB_MACHINE_PCBIOS.
11466 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11467 common grub_util_info() call to ...
11468 (generate_image): ... here.
11469 Fix use of uninitialized memory, comparison of signed with
11470 unsigned integers and memory leak.
11471 Remove bogus module address message.
11472
ab32d3b5 114732009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11476 grub_raid_register
11477 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11478
024ef597 114792009-06-19 Pavel Roskin <proski@gnu.org>
11480
11481 * configure.ac: Remove stray AC_MSG_CHECKING.
11482
3ac72b51 114832009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 11486
e14cd814 114872009-06-18 Pavel Roskin <proski@gnu.org>
11488
11489 * conf/common.rmk: Add fs_file.mod.
11490 * disk/fs_file.c: New file.
11491 * include/grub/disk.h (enum grub_disk_dev_id): Add
11492 GRUB_DISK_DEVICE_FILE_ID.
11493
26586d98 114942009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 Fix build with Apple's toolchain. Part 2
11497
11498 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11499 a fake start
11500
26de2bcd 115012009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 Fix build with Apple's toolchain. Part 1
11504
11505 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11506 for long calls
11507 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 11508 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 11509 Apple's toolchain
11510
09b3490b 115112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 Fix warnings
11514
11515 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11516 (decomp_block): initialize ch
11517 use grub_memcpy instead of memcpy
11518
c22a006a 115192009-06-17 Pavel Roskin <proski@gnu.org>
11520
d3638678 11521 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11522 version, use declarations needed to use vga_text as the startup
11523 console.
11524
c22a006a 11525 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11526 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11527 the kernel.
11528 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11529 and grub_at_keyboard_fini(), it's done on module load and
11530 unload.
11531
05b129e0 115322009-06-17 Felix Zielcke <fzielcke@z-51.de>
11533
11534 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11535 file can't be found.
11536 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11537
cf24ed9e 115382009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Fix newline handling
11541
11542 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 11543 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 11544 (grub_script_yylex): don't segfault on unterminated script
11545 newline terminates command and variable
11546
74aa8e4b 115472009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 avoid double grub_adjust_range call. Bug reported by David Simner
11550
11551 * kern/disk.c (grub_disk_write): change to raw disk access before
11552 calling disk_read
11553
1bd265f3 115542009-06-17 Colin Watson <cjwatson@ubuntu.com>
11555
11556 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11557 spaces, for the benefit of help2man.
11558 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11559
a2d08c06 115602009-06-16 Pavel Roskin <proski@gnu.org>
11561
11562 * kern/i386/halt.c: Include grub/machine/init.h.
11563 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11564
b97bcb19 115652009-06-16 Felix Zielcke <fzielcke@z-51.de>
11566
11567 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11568 drivemap menuentry.
11569
0644f96c 115702009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11571
11572 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11573 `echo' command.
11574
3ef17a2e 115752009-06-16 Pavel Roskin <proski@gnu.org>
11576
11577 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11578 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11579 save %dx, we only need %dl and we never change it.
11580 * boot/i386/pc/cdboot.S: Don't set the root drive.
11581 * boot/i386/pc/pxeboot.S: Likewise.
11582 * include/grub/i386/pc/boot.h: Remove
11583 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11584 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11585 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11586 * kern/i386/pc/init.c (make_install_device): Remove references
11587 to grub_root_drive.
11588 * kern/i386/pc/startup.S: Likewise.
11589 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11590
693fe637 115912009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 xnu_uuid command
11594
11595 * commands/xnu_uuid.c: new file
11596 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11597 (xnu_uuid_mod_SOURCES): new variable
11598 (xnu_uuid_mod_CFLAGS): likewise
11599 (xnu_uuid_mod_LDFLAGS): likewise
11600 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11601 * conf/i386-ieee1275.rmk: likewise
11602 * conf/i386-pc.rmk: likewise
11603 * conf/powerpc-ieee1275.rmk: likewise
11604 * conf/sparc64-ieee1275.rmk: likewise
11605 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11606
c9da87d0 116072009-06-16 Pavel Roskin <proski@gnu.org>
11608
11609 * configure.ac: Avoid '==' in test command, it's not portable.
11610
9c6f4596 116112009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 Probe command
11614
11615 * commands/probe.c: new file
11616 * conf/common.rmk (pkglib_MODULES): add probe.mod
11617 (probe_mod_SOURCES): new variable
11618 (probe_mod_CFLAGS): likewise
11619 (probe_mod_LDFLAGS): likewise
11620 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11621 * conf/i386-ieee1275.rmk: likewise
11622 * conf/i386-pc.rmk: likewise
11623 * conf/powerpc-ieee1275.rmk: likewise
11624 * conf/sparc64-ieee1275.rmk: likewise
11625
70b7f9fd 116262009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 Fix handling of string like \"hello\" and "a
11629 b"
11630
11631 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11632 (grub_script_yylex): fix parsing of quoting, escaping and newline
11633
71c79a6b 116342009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11635
dd74360c 11636 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 11637 handling
dd74360c 11638
0644f96c 116392009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 11640
11641 * util/grub-mkconfig.in: Fix parsing of --output option.
11642
e40893c3 116432009-06-12 Pavel Roskin <proski@gnu.org>
11644
11645 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11646 genmk.rb don't need to be generated or installed.
11647
3a1acfe2 116482009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * commands/i386/pc/drivemap_int13h.S: add more comments
11651
3a4575d4 116522009-06-11 Pavel Roskin <proski@gnu.org>
11653
0658e928 11654 * Makefile.in (uninstall): Uninstall manuals.
11655
ca0388f0 11656 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11657 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11658 and update-grub_lib in two places.
11659 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11660
e3b27c39 11661 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11662 a compiler warning.
11663
3a4575d4 11664 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11665 `entry_lo' to fix variable shadowing.
11666
af1f4f55 116672009-06-11 Christian Franke <franke@computer.org>
11668
11669 * kern/misc.c (__enable_execute_stack): Add missing return type
11670 to prevent gcc warning.
11671
5225e649 116722009-06-11 Felix Zielcke <fzielcke@z-51.de>
11673
11674 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11675
7d83bd47 116762009-06-11 Pavel Roskin <proski@gnu.org>
11677
c1cb63ba 11678 * Makefile.in: Don't rely on any scripts being executable.
11679 Always use $(SHELL) to run shell scripts.
11680
7d83bd47 11681 * configure.ac: Always define ___main if using -nostdlib. This
11682 fixes tests on Cygwin.
11683
948f48e7 116842009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11685
11686 UDF fix
11687
7d83bd47 11688 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 11689 is in bytes and not in blocks
7d83bd47 11690
8ada9bc1 116912009-06-11 Pavel Roskin <proski@gnu.org>
11692
11693 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11694 warning.
11695
25ad2323 116962009-06-11 Felix Zielcke <fzielcke@z-51.de>
11697
11698 * util/grub.d/30_os-prober.in: Fix a comment. Source
11699 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11700 to set the root device. Place drivemap command in the generated
11701 chain entry.
11702
e65acb0c 117032009-06-11 Pavel Roskin <proski@gnu.org>
11704
11705 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11706 have long been resolved.
11707
f285fe2d 117082009-06-11 Colin Watson <cjwatson@ubuntu.com>
11709
bd47b0b5 11710 * util/grub.d/10_linux.in: Capitalise "Linux".
11711
f285fe2d 11712 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11713
a0c62e4e 117142009-06-11 Pavel Roskin <proski@gnu.org>
11715
b6783cb2 11716 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11717 fix a gcc warning and ensure that the function won't ever exit.
11718
dde032e8 11719 * kern/i386/ieee1275/init.c: Add missing prototype for
11720 grub_stop_floppy().
11721
22cd079d 11722 * loader/ieee1275/multiboot2.c [__i386__]: Include
11723 grub/cpu/multiboot.h.
11724
a0c62e4e 11725 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11726 casts to short - they are not portable and cause warnings. Fix
11727 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11728
63963d17 117292009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 Drivemap fixes
11732
11733 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11734 new function
11735 (grub_get_root_biosnumber_saved): new variable
11736 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11737 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 11738 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 11739 %dx after the call if necessary
11740 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11741 (boot_mod_SOURCES): remove
11742 (boot_mod_CFLAGS): remove
11743 (boot_mod_LDFLAGS): remove
11744 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11745 (boot_mod_SOURCES): new variable
11746 (boot_mod_CFLAGS): likewise
11747 (boot_mod_LDFLAGS): likewise
11748 * conf/i386-efi.rmk: likewise
11749 * conf/i386-ieee1275.rmk: likewise
11750 * conf/i386-pc.rmk: likewise
11751 * conf/powerpc-ieee1275.rmk: likewise
11752 * conf/sparc64-ieee1275.rmk: likewise
11753 * conf/x86_64-efi.rmk: likewise
11754 * include/grub/i386/pc/biosnum.h: new file
11755 * lib/i386/pc/biosnum.c: likewise
11756 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11757 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11758 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 11759
33abf7ae 117602009-06-10 Pavel Roskin <proski@gnu.org>
11761
5ac35b35 11762 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11763 Use separate variables. Read only the file size at the end, but
11764 not the checksum that we don't use.
11765
5c5215d5 11766 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11767 Adjust all callers.
11768
27d5fef7 11769 * kern/ieee1275/openfw.c: Remove libc includes.
11770 * kern/ieee1275/cmain.c: Likewise.
11771 * include/grub/ieee1275/ieee1275.h: Likewise.
11772
33abf7ae 11773 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11774 compiler warnings.
11775
19d50c2b 117762009-06-10 Felix Zielcke <fzielcke@z-51.de>
11777
11778 * Makefile.in: Remove all trailing whitespace.
11779 * conf/i386-pc.rmk: Likewise.
11780 * conf/powerpc-ieee1275.rmk: Likewise.
11781 * conf/sparc64-ieee1275.rmk: Likewise.
11782 * docs/grub.texi: Likewise.
11783 * docs/texinfo.tex: Likewise.
11784 * disk/fs_uuid.c: Likewise.
11785 * disk/lvm.c: Likewise.
11786 * disk/scsi.c: Likewise.
11787 * disk/ata.c: Likewise.
11788 * disk/ieee1275/ofdisk.c: Likewise.
11789 * disk/i386/pc/biosdisk.c: Likewise.
11790 * disk/host.c: Likewise.
11791 * disk/raid.c: Likewise.
11792 * disk/efi/efidisk.c: Likewise.
11793 * disk/usbms.c: Likewise.
11794 * disk/memdisk.c: Likewise.
11795 * disk/loopback.c: Likewise.
11796 * kern/powerpc/dl.c: Likewise.
11797 * kern/device.c: Likewise.
11798 * kern/dl.c: Likewise.
11799 * kern/sparc64/dl.c: Likewise.
11800 * kern/ieee1275/ieee1275.c: Likewise.
11801 * kern/term.c: Likewise.
11802 * kern/fs.c: Likewise.
11803 * kern/i386/dl.c: Likewise.
11804 * kern/i386/pc/startup.S: Likewise.
11805 * kern/i386/pc/init.c: Likewise.
11806 * kern/i386/pc/mmap.c: Likewise.
11807 * kern/i386/pc/lzo1x.S: Likewise.
11808 * kern/i386/ieee1275/init.c: Likewise.
11809 * kern/i386/realmode.S: Likewise.
11810 * kern/i386/tsc.c: Likewise.
11811 * kern/partition.c: Likewise.
11812 * kern/corecmd.c: Likewise.
11813 * kern/file.c: Likewise.
11814 * kern/efi/efi.c: Likewise.
11815 * kern/efi/init.c: Likewise.
11816 * kern/efi/mm.c: Likewise.
11817 * kern/main.c: Likewise.
11818 * kern/err.c: Likewise.
11819 * kern/env.c: Likewise.
11820 * kern/disk.c: Likewise.
11821 * kern/generic/millisleep.c: Likewise.
11822 * kern/generic/rtc_get_time_ms.c: Likewise.
11823 * kern/misc.c: Likewise.
11824 * kern/parser.c: Likewise.
11825 * genmk.rb: Likewise.
11826 * configure.ac: Likewise.
11827 * boot/i386/pc/diskboot.S: Likewise.
11828 * boot/i386/pc/pxeboot.S: Likewise.
11829 * boot/i386/pc/boot.S: Likewise.
11830 * boot/i386/pc/lnxboot.S: Likewise.
11831 * boot/i386/pc/cdboot.S: Likewise.
11832 * parttool/pcpart.c: Likewise.
11833 * video/readers/tga.c: Likewise.
11834 * video/video.c: Likewise.
11835 * video/bitmap.c: Likewise.
11836 * lib/envblk.c: Likewise.
11837 * lib/i386/setjmp.S: Likewise.
11838 * fs/xfs.c: Likewise.
11839 * fs/afs.c: Likewise.
11840 * fs/fat.c: Likewise.
11841 * fs/ntfs.c: Likewise.
11842 * fs/udf.c: Likewise.
11843 * fs/affs.c: Likewise.
11844 * fs/iso9660.c: Likewise.
11845 * fs/hfs.c: Likewise.
11846 * fs/fshelp.c: Likewise.
11847 * fs/ext2.c: Likewise.
11848 * fs/jfs.c: Likewise.
11849 * fs/reiserfs.c: Likewise.
11850 * fs/hfsplus.c: Likewise.
11851 * fs/minix.c: Likewise.
11852 * fs/cpio.c: Likewise.
11853 * fs/sfs.c: Likewise.
11854 * fs/ufs.c: Likewise.
11855 * efiemu/prepare.c: Likewise.
11856 * efiemu/loadcore_common.c: Likewise.
11857 * efiemu/runtime/efiemu.sh: Likewise.
11858 * efiemu/runtime/efiemu.S: Likewise.
11859 * efiemu/runtime/efiemu.c: Likewise.
11860 * efiemu/pnvram.c: Likewise.
11861 * efiemu/main.c: Likewise.
11862 * efiemu/i386/pc/cfgtables.c: Likewise.
11863 * efiemu/i386/loadcore64.c: Likewise.
11864 * efiemu/i386/loadcore32.c: Likewise.
11865 * efiemu/loadcore.c: Likewise.
11866 * efiemu/symbols.c: Likewise.
11867 * efiemu/mm.c: Likewise.
11868 * include/grub/autoefi.h: Likewise.
11869 * include/grub/datetime.h: Likewise.
11870 * include/grub/term.h: Likewise.
11871 * include/grub/hfs.h: Likewise.
11872 * include/grub/lvm.h: Likewise.
11873 * include/grub/i386/tsc.h: Likewise.
11874 * include/grub/i386/linux.h: Likewise.
11875 * include/grub/i386/xnu.h: Likewise.
11876 * include/grub/i386/efiemu.h: Likewise.
11877 * include/grub/i386/pc/biosdisk.h: Likewise.
11878 * include/grub/i386/pc/memory.h: Likewise.
11879 * include/grub/i386/pc/vbe.h: Likewise.
11880 * include/grub/parttool.h: Likewise.
11881 * include/grub/video.h: Likewise.
11882 * include/grub/memory.h: Likewise.
11883 * include/grub/fs.h: Likewise.
11884 * include/grub/partition.h: Likewise.
11885 * include/grub/xnu.h: Likewise.
11886 * include/grub/efi/api.h: Likewise.
11887 * include/grub/efi/pe32.h: Likewise.
11888 * include/grub/efi/memory.h: Likewise.
11889 * include/grub/multiboot.h: Likewise.
11890 * include/grub/usbdesc.h: Likewise.
11891 * include/grub/multiboot2.h: Likewise.
11892 * include/grub/acpi.h: Likewise.
11893 * include/grub/efiemu/efiemu.h: Likewise.
11894 * include/grub/disk.h: Likewise.
11895 * include/grub/ieee1275/ieee1275.h: Likewise.
11896 * include/grub/net.h: Likewise.
11897 * include/grub/machoload.h: Likewise.
11898 * include/grub/macho.h: Likewise.
11899 * include/multiboot.h: Likewise.
11900 * genmoddep.awk: Likewise.
11901 * normal/main.c: Likewise.
11902 * normal/menu_entry.c: Likewise.
11903 * normal/menu_viewer.c: Likewise.
11904 * normal/completion.c: Likewise.
11905 * normal/cmdline.c: Likewise.
11906 * normal/misc.c: Likewise.
11907 * normal/datetime.c: Likewise.
11908 * bus/usb/usbtrans.c: Likewise.
11909 * bus/usb/ohci.c: Likewise.
11910 * bus/usb/uhci.c: Likewise.
11911 * bus/usb/usb.c: Likewise.
11912 * mmap/efi/mmap.c: Likewise.
11913 * mmap/i386/pc/mmap_helper.S: Likewise.
11914 * mmap/i386/pc/mmap.c: Likewise.
11915 * mmap/i386/mmap.c: Likewise.
11916 * mmap/i386/uppermem.c: Likewise.
11917 * mmap/mmap.c: Likewise.
11918 * commands/acpi.c: Likewise.
11919 * commands/echo.c: Likewise.
11920 * commands/blocklist.c: Likewise.
11921 * commands/loadenv.c: Likewise.
11922 * commands/usbtest.c: Likewise.
11923 * commands/boot.c: Likewise.
11924 * commands/parttool.c: Likewise.
11925 * commands/search.c: Likewise.
11926 * commands/cat.c: Likewise.
11927 * commands/i386/pc/play.c: Likewise.
11928 * commands/i386/pc/drivemap.c: Likewise.
11929 * commands/i386/pc/vbeinfo.c: Likewise.
11930 * commands/i386/pc/acpi.c: Likewise.
11931 * commands/i386/pc/vbetest.c: Likewise.
11932 * commands/ls.c: Likewise.
11933 * commands/cmp.c: Likewise.
11934 * commands/test.c: Likewise.
11935 * commands/efi/acpi.c: Likewise.
11936 * commands/gptsync.c: Likewise.
11937 * commands/help.c: Likewise.
11938 * partmap/amiga.c: Likewise.
11939 * partmap/apple.c: Likewise.
11940 * partmap/acorn.c: Likewise.
11941 * partmap/pc.c: Likewise.
11942 * partmap/sun.c: Likewise.
11943 * partmap/gpt.c: Likewise.
11944 * script/sh/lexer.c: Likewise.
11945 * script/sh/function.c: Likewise.
11946 * font/font.c: Likewise.
11947 * font/font_cmd.c: Likewise.
11948 * loader/powerpc/ieee1275/linux.c: Likewise.
11949 * loader/efi/chainloader.c: Likewise.
11950 * loader/multiboot_loader.c: Likewise.
11951 * loader/macho.c: Likewise.
11952 * loader/i386/multiboot.c: Likewise.
11953 * loader/i386/linux.c: Likewise.
11954 * loader/i386/pc/linux.c: Likewise.
11955 * loader/i386/pc/multiboot2.c: Likewise.
11956 * loader/i386/pc/chainloader.c: Likewise.
11957 * loader/i386/pc/xnu.c: Likewise.
11958 * loader/i386/bsd_trampoline.S: Likewise.
11959 * loader/i386/efi/linux.c: Likewise.
11960 * loader/i386/multiboot_elfxx.c: Likewise.
11961 * loader/i386/bsd_helper.S: Likewise.
11962 * loader/i386/bsd.c: Likewise.
11963 * loader/i386/linux_trampoline.S: Likewise.
11964 * loader/i386/xnu_helper.S: Likewise.
11965 * loader/i386/xnu.c: Likewise.
11966 * loader/i386/bsd_pagetable.c: Likewise.
11967 * loader/i386/multiboot_helper.S: Likewise.
11968 * loader/xnu.c: Likewise.
11969 * loader/xnu_resume.c: Likewise.
11970 * io/gzio.c: Likewise.
11971 * term/efi/console.c: Likewise.
11972 * term/terminfo.c: Likewise.
11973 * term/ieee1275/ofconsole.c: Likewise.
11974 * term/i386/pc/serial.c: Likewise.
11975 * term/i386/pc/vesafb.c: Likewise.
11976 * term/i386/pc/vga.c: Likewise.
11977 * term/usb_keyboard.c: Likewise.
11978 * term/gfxterm.c: Likewise.
11979 * aclocal.m4: Likewise.
11980 * util/lvm.c: Likewise.
11981 * util/grub.d/30_os-prober.in: Likewise.
11982 * util/grub.d/10_hurd.in: Likewise.
11983 * util/console.c: Likewise.
11984 * util/grub-macho2img.c: Likewise.
11985 * util/grub-probe.c: Likewise.
11986 * util/hostfs.c: Likewise.
11987 * util/i386/pc/grub-mkimage.c: Likewise.
11988 * util/i386/pc/grub-setup.c: Likewise.
11989 * util/i386/efi/grub-mkimage.c: Likewise.
11990 * util/grub-mkconfig.in: Likewise.
11991 * util/raid.c: Likewise.
11992 * util/resolve.c: Likewise.
11993 * util/grub-mkdevicemap.c: Likewise.
11994 * util/grub-emu.c: Likewise.
11995 * util/getroot.c: Likewise.
11996 * util/hostdisk.c: Likewise.
11997 * util/usb.c: Likewise.
11998 * util/grub-editenv.c: Likewise.
11999 * util/misc.c: Likewise.
12000
d2d49665 120012009-06-10 Felix Zielcke <fzielcke@z-51.de>
12002
12003 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
12004 `genparttoollist.sh'.
12005 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
12006 Add `*.sh' to the list find searches for and change `mdate.sh'
12007 to `mdate-sh'.
12008
fe052e37 120092009-06-10 Pavel Roskin <proski@gnu.org>
12010
2763ac18 12011 * include/grub/multiboot2.h: Provide compatibility defines for
12012 multiboot2.h.
12013 * include/multiboot2.h: Include stdint.h only if needed, using
12014 angle brackets.
12015 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
12016 grub/multiboot2.h.
12017 * loader/ieee1275/multiboot2.c: Likewise.
12018 * loader/multiboot2.c: Likewise.
12019 * loader/multiboot_loader.c: Likewise.
12020
437e6adc 12021 * configure.ac: Use -nostdlib when probing for the target. It
12022 should not be required to have libc for the target.
12023
06a6836c 12024 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
12025 they fail without libc headers for the target.
12026 * include/grub/powerpc/libgcc.h: Use weak attribute for all
12027 exports.
12028 * include/grub/sparc64/libgcc.h: Likewise. Don't use
12029 preprocessor conditionals.
12030
fe052e37 12031 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
12032 build system doesn't need to be aware of the tar.c internals.
12033
afd22553 120342009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 12035
afd22553 12036 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 12037
6b787c4f 120382009-06-09 Robert Millan <rmh.grub@aybabtu.com>
12039
12040 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
12041 disk limit to 26 for IDE, Virtio, Xen and SCSI.
12042
120432009-06-09 Felix Zielcke <fzielcke@z-51.de>
12044
12045 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 12046 aren't available if ata.mod gets used.
6b787c4f 12047
473d1e45 120482009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 12049
473d1e45 12050 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 12051 initialising controller.
473d1e45 12052 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 12053
255a27d4 120542009-06-08 Felix Zielcke <fzielcke@z-51.de>
12055
12056 * util/i386/pc/grub-install.in: Add a parameter --disk-module
12057 to choose between ata and biosdisk module on i386-pc.
12058
473d1e45 120592009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 12060
d55842d8 12061 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
12062 Subclass and Programming Interface fields in terms of the 3 byte
12063 Class Code register.
12064 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12065
fa5db0b1 12066 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
12067 interface is OHCI. Add grub_dprintf for symmetry with
12068 bus/usb/uhci.c.
12069 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
12070 interface is UHCI. Add interf variable for programming
12071 interface. Print interface with class/subclass.
12072
c0947beb 12073 * bus/usb/ohci.c: Set interf with correct field.
12074
69da8877 12075 * bus/usb/uhci.c: Remove unneeded doubled lines.
12076 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
12077 Remove whitespace inside comment.
12078
9e172e30 120792009-06-08 Robert Millan <rmh.grub@aybabtu.com>
12080
12081 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
12082 as fallback an equivalent option without depth.
12083
de65ee2b 120842009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 Not fail if unable to retrieve C/H/S on LBA disks
12087
473d1e45 12088 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 12089 if unable to retrieve C/H/S on LBA disks
12090
b57ea2c9 120912009-06-08 Pavel Roskin <proski@gnu.org>
12092
12093 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
12094 about aliasing.
12095
af361263 120962009-06-08 Felix Zielcke <fzielcke@z-51.de>
12097
12098 * Makefile.in (uninstall): Remove all $lib_DATA files.
12099
4c9ec6b3 121002009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 Bugfix: install on partitionless device
12103
12104 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
12105 is a whole disk
12106
e76fc924 121072009-06-08 Felix Zielcke <fzielcke@z-51.de>
12108
12109 * Makefile.in (uninstall): Remove all $include_DATA files.
12110
ba5a0d05 121112009-06-08 Felix Zielcke <fzielcke@z-51.de>
12112
12113 * commands/true.c: New file. Implement the true and false commands.
12114 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
12115 (true_mod_SOURCES): New variable.
12116 (true_mod_CFLAGS): Likewise.
12117 (true_mod_LDFLAGS): Likewise.
12118
c8048e32 121192009-06-05 Colin D Bennett <colin@gibibit.com>
12120
12121 Optimized font character lookup using binary search instead of linear
12122 search. Fonts now are required to have the character index ordered by
12123 code point.
12124
12125 * font/font.c (load_font_index): Verify that fonts have ordered
12126 character indices.
12127 (find_glyph): Use binary search instead of linear search to find a
12128 character in a font.
12129
408305be 121302009-06-05 Michael Scherer <misc@mandriva.org>
12131
12132 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
12133 uses case sensitive btree.
12134 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
12135 only for case insensitive filesystems.
12136
8ee1e0d9 121372009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
12140 * conf/common.rmk (search_mod_CFLAGS): likewise
12141
a9966eb1 121422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12143
473d1e45 12144 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 12145 compensate a compiler bug
12146
9e7100fb 121472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12148
473d1e45 12149 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 12150 instead of '\b'
473d1e45 12151
ede21d71 121522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 Definitions for creating asm symbols with Apple's CC
12155
12156 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
12157 [APPLE_CC] (VARIABLE): likewise
12158
9dbf7653 121592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 Disable lnxboot.img when compiled
12162 with Apple's CC
12163
12164 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
12165 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
12166 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
12167 [! APPLE_CC] (CODE_LENG): skip
12168 [! APPLE_CC] (setup_sects): likewise
12169 [! APPLE_CC]: skip filling
473d1e45 12170
e93cdc3d 121712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 Address in trampolines based on 32-bit registers when compiled
12174 with Apple's CC
12175
473d1e45 12176 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 12177 for addresses
12178 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
12179
6c688477 121802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 Avoid aliases when compiling with Apple's CC for PCBIOS machine
12183
12184 * kern/misc.c [APPLE_CC] (memcpy): new function
12185 [APPLE_CC] (memmove): likewise
12186 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 12187 (memcpy): define alias conditionally on !APPLE_CC
6c688477 12188 (memset): likewise
12189 (abort): likewise
12190 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
12191 APPLE_CC are defined
12192 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
12193 (grub_assert_fail): make prototype conditional
12194
e37ffc5c 121952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
12198
473d1e45 12199 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
12200 grub-macho2img
e37ffc5c 12201 (CLEANFILES): add grub-macho2img
12202 (grub_macho2img_SOURCES): new variable
12203 * kern/i386/pc/startup.S (bss_start): new variable
12204 (bss_end): likewise
12205 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
12206 * util/grub-macho2img.c: new file
12207
cf00df31 122082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 Use objconv when compiling with Apple's CC
12211
12212 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
12213 (efiemu64.o): likewise
12214 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
12215 when compiling with Apple's CC
12216 (efiemu64_s.o): likewise
12217 * configure.ac: check for objconv when compiling with Apple's CC
12218 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 12219
d119a20c 122202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 Define segment as well as section when compiling with
12223 Apple's CC
12224
12225 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
12226 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
12227 (efiemu_convert_pointer): likewise
12228 (efiemu_set_virtual_address_map): likewise
12229 (efiemu_convert_pointer): likewise
12230 (efiemu_getcrc32): likewise
12231 (init_crc32_table): likewise
12232 (reflect): likewise
12233 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
12234 (GRUB_MOD_DEP): likewise
473d1e45 12235
c8600122 122362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 Allow a compilation without -mcmodel=large
12239
12240 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
12241 when compiled without -mcmodel=large
473d1e45 12242 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 12243 without -mcmodel=large
473d1e45 12244 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 12245 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 12246
e8df1d4e 122472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 Remove nested functions in efiemu core
12250
12251 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 12252
cc6c3ac1 122532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
12256
12257 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
12258 temporary storage
473d1e45 12259 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
12260 using Apple's CC
cc6c3ac1 12261 (grub_cpu_is_tsc_supported): likewise
12262 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 12263
3e325901 122642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 Absolute addressing through constant with Apple's cc
12267
12268 * kern/i386/pc/startup.S: Define necessary constants
12269 and address through it when using ABS with Apple's CC
12270 * boot/i386/pc/diskboot.S: likewise
12271 * boot/i386/pc/boot.S: likewise
12272 * boot/i386/pc/lnxboot.S: likewise
12273 * boot/i386/pc/cdboot.S: likewise
12274 * mmap/i386/pc/mmap_helper.S: likewise
12275 * commands/i386/pc/drivemap_int13h.S: likewise
12276
2b167a72 122772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 Check if compiler is apple cc
12280
12281 * Makefile.in (ASFLAGS): new variable
12282 (TARGET_ASFLAGS): likewise
12283 (TARGET_MODULE_FORMAT): likewise
12284 (TARGET_APPLE_CC): likewise
12285 (OBJCONV): likewise
12286 (TARGET_IMG_CFLAGS): likewise
12287 (TARGET_CPPFLAGS): add includedir
12288 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12289 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12290 Check for linker script only if compiler isn't Apple's CC
12291 (TARGET_MODULE_FORMAT): set
12292 (TARGET_APPLE_CC): likewise
12293 (TARGET_ASFLAGS): likewise
12294 (ASFLAGS): likewise
12295 Check for objcopy only if compiler isn't Apple's CC
12296 Check for BSS symbol only if compiler isn't Apple's CC
12297 * genmk.rb: adapt nm options if we use Apple's utils
12298 * aclocal.m4 (grub_apple_cc): new test
12299 (grub_apple_target_cc): likewise
473d1e45 12300
fb14123e 123012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 Simplify sed expressions and improve awk
12304
12305 * Makefile.in (install-local): simplify sed expression
12306 * gencmdlist.sh: likewise
12307 * genmoddep.awk: avoid adding module as a dependency of itself
12308
5b889789 123092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Add missing start symbols
12312
12313 * boot/i386/pc/boot.S: add start
fb14123e 12314 * boot/i386/pc/pxeboot.S: likewise
473d1e45 12315
fd2bf2e3 123162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 12319
12320 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 12321 (relocate_addresses): consider both r_addend and value at offset
12322 (make_mods_section): zerofill modinfo and header
12323 (convert_elf): write prefix here
473d1e45 12324
5389763d 123252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 Use .asciz instead of .string
12328
12329 * i386/pc/diskboot.S: use .asciz instead of .string
12330 * i386/pc/boot.S: likewise
12331 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12332 (GRUB_MOD_NAME): likewise
473d1e45 12333
3eb5ed4e 123342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 gfxpayload support
12337
12338 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12339 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12340 (grub_video_setup): remove
12341 (grub_video_set_mode): new prototype
12342 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12343 (vid_mode): remove
12344 (linux_vesafb_res): compile only on PCBIOS
12345 (grub_linux_boot): support gfxpayload
12346 * loader/i386/pc/xnu.c (video_hook): new function
12347 (grub_xnu_set_video): support gfxpayload
12348 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12349 (DEFAULT_VIDEO_HEIGHT): likewise
12350 (DEFAULT_VIDEO_FLAGS): likewise
12351 (DEFAULT_VIDEO_MODE): new definition
12352 (video_hook): new function
12353 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 12354 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 12355 loading xnu
12356 * video/video.c (grub_video_setup): removed
473d1e45 12357 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 12358 grub_video_setup
12359
4b0e1143 123602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 Avoid calling biosdisk in drivemap
12363
12364 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12365 (revparse_biosdisk): likewise
12366 (list_mappings): derive name from id directly
12367 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 12368
fda6cb98 123692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 Script fixes
12372
12373 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12374 (grub_lexer_param): add tokenonhold
12375 (grub_script_create_cmdline): remove cmdline. All callers updated
12376 (grub_script_function_create): make functionname
12377 grub_script_arg. All callers updated
12378 (grub_script_execute_argument_to_string): new prototype
12379 * kern/parser.c (state_transitions): reorder
12380 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 12381 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 12382 make global
12383 (grub_script_execute_cmdline): use new format
12384 * script/sh/function.c (grub_script_function_create): make functionname
12385 grub_script_arg. All callers updated
473d1e45 12386 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 12387 (grub_script_yylex): remove
12388 (grub_script_yylex2): renamed to ...
12389 (grub_script_yylex): ...renamed
12390 parse the expressions like a${b}c
12391 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12392 (GRUB_PARSER_TOKEN_VAR): remove
12393 (GRUB_PARSER_TOKEN_NAME): likewise
12394 ("if"): declare as typeless
12395 ("while"): likewise
12396 ("function"): likewise
12397 ("else"): likewise
12398 ("then"): likewise
12399 ("fi"): likewise
12400 (text): remove
12401 (argument): likewise
12402 (script): accept empty scripts and make exit on error
12403 (arguments): use GRUB_PARSER_TOKEN_ARG
12404 (function): likewise
12405 (command): move error handling to script
12406 (menuentry): move grub_script_lexer_ref before
473d1e45 12407 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 12408 argument. All callers updated
12409
f4448a07 124102009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12411
12412 Prevent GRUB from probing floppies during boot.
12413
12414 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12415 * commands/search.c (options): Add --no-floppy.
12416 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12418 --no-floppy when searching for UUIDs.
12419
2bf5885a 124202009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12421
12422 Simplify the code duplication in commands/search.c.
12423
12424 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12425 (search_fs): ... this. Update all users.
12426
f6fd460a 124272009-06-03 Felix Zielcke <fzielcke@z-51.de>
12428
12429 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12430
cbb3c83e 124312009-05-28 Pavel Roskin <proski@gnu.org>
12432
57788cfd 12433 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12434 Remove the original symlink explicitly.
12435
cbb3c83e 12436 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12437 just one slash. That's how grub_fshelp_find_file() does it.
12438
cd0d5e30 124392009-05-26 Pavel Roskin <proski@gnu.org>
12440
f0f8bbe2 12441 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12442 to `str'.
12443
cd0d5e30 12444 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12445 possibly unused.
12446
8c2cab51 124472009-05-25 Christian Franke <franke@computer.org>
12448
12449 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12450 register.
12451 (grub_atapi_identify): Add wait after drive select.
12452 (grub_ata_identify): Do more strict status register check before
12453 calling grub_atapi_identify (). Suppress error message if status
12454 register is 0x00 after command failure. Add status register
12455 check after PIO read to avoid bogus identify due to stuck DRQ.
12456 Thanks to Pavel Roskin for testing.
12457 (grub_device_initialize): Remove unsafe status register check.
12458 Thanks to 'phcoder' for problem report and patch.
12459 Prevent sign extension in debug message.
12460
230c0ad6 124612009-05-23 Colin D Bennett <colin@gibibit.com>
12462
12463 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12464 definition file, and functions defined in `normal/menu.c' have had
12465 their prototypes moved to `include/grub/menu.h' for consistency.
12466
12467 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12468 from normal.h.
12469 (grub_menu_get_entry): Likewise.
12470 (grub_menu_get_timeout): Likewise.
12471 (grub_menu_set_timeout): Likewise.
12472 (grub_menu_execute_entry): Likewise.
12473 (grub_menu_execute_with_fallback): Likewise.
12474 (grub_menu_entry_run): Likewise.
12475
12476 * include/grub/normal.h: Re-ordered and grouped function
12477 prototypes by file that the function is defined in.
12478 (grub_menu_execute_callback): Removed; moved to menu.h.
12479 (grub_menu_get_entry): Likewise.
12480 (grub_menu_get_timeout): Likewise.
12481 (grub_menu_set_timeout): Likewise.
12482 (grub_menu_execute_entry): Likewise.
12483 (grub_menu_execute_with_fallback): Likewise.
12484 (grub_menu_entry_run): Likewise.
12485 (grub_menu_addentry): Renamed from this ...
12486 (grub_normal_add_menu_entry): ... to this.
12487
12488 * normal/main.c (grub_menu_addentry): Renamed from this ...
12489 (grub_normal_add_menu_entry): ... to this.
12490
12491 * script/sh/execute.c (grub_script_execute_menuentry): Update
12492 reference to renamed grub_menu_addentry function.
12493
861f03a5 124942009-05-23 Felix Zielcke <fzielcke@z-51.de>
12495
12496 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12497
96b1619a 124982009-05-22 Pavel Roskin <proski@gnu.org>
12499
bf6a5fb2 12500 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12501 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12502 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12503 compiling for the i386 targets, but not for the utilities.
12504
96b1619a 12505 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12506 to grub_uint8_t.
12507 (grub_root_drive): Likewise.
12508 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12509 remove alignment.
12510 (grub_root_drive): Change size to byte.
12511 (grub_start_addr): Remove.
12512 (grub_end_addr): Likewise.
12513 (grub_apm_bios_info): Likewise.
12514
b729776b 125152009-05-21 Felix Zielcke <fzielcke@z-51.de>
12516
12517 * normal/i386: Remove.
12518 * normal/powerpc: Likewise.
12519 * normal/sparc64: Likewise.
12520 * normal/x86_64: Likewise.
12521
0a15ce80 125222009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 12525 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 12526 * loader/i386/xnu_helper.S: Likewise
d6da58e6 12527
33db9015 125282009-05-18 Colin D Bennett <colin@gibibit.com>
12529
d6da58e6 12530 Display error messages when parsing a Lua statement fails.
12531 Previously, executing a syntactically invalid statement like
12532 ")foo" or "bar;" would silently fail.
33db9015 12533
12534 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 12535 (grub_lua_parse_line): Improved reporting of Lua parser and
12536 execution errors.
33db9015 12537
46422c89 125382009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 Remove -Werror which causes build to fail on some systems
12541
12542 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12543 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12544 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 12545
22f53a96 125462009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 trampoline for linux on 64-bit platform
12549
18f547ad 12550 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12551 loader/i386/efi/linux_trampoline.S
12552 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 12553 declaration
d6da58e6 12554 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12555 here
22f53a96 12556 * loader/i386/linux_trampoline.S: moved here
d6da58e6 12557 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12558 trampoline
22f53a96 12559 (jumpvector): removed
12560 (grub_linux_trampoline_start): new declaration
12561 (grub_linux_trampoline_end): likewise
12562 (grub_linux_boot): use trampoline when on 64-bit platform
12563 * loader/i386/linux.c: likewise
12564
cb5a0f40 125652009-05-16 Pavel Roskin <proski@gnu.org>
12566
12567 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12568 const to avoid a warning.
12569 (grub_lua_setenv): Likewise.
12570 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12571 lmsg to fix a warning.
12572
334f2c28 125732009-05-16 Felix Zielcke <fzielcke@z-51.de>
12574
12575 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 12576 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12577 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12578 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12579 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12580 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12581 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12582 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 12583
59e5d3ec 125842009-05-16 Felix Zielcke <fzielcke@z-51.de>
12585
12586 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12587
9d87a1ba 125882009-05-16 Bean <bean123ch@gmail.com>
12589
12590 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12591 (lua_mod_SOURCES): New variable.
12592 (lua_mod_CFLAGS): Likewise.
12593 (lua_mod_LDFLAGS): Likewise.
12594
12595 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12596 (setjmp_mod_SOURCES): New variable.
12597 (setjmp_mod_CFLAGS): Likewise.
12598 (setjmp_LDFLAGS): Likewise.
12599
12600 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12601 (setjmp_mod_SOURCES): New variable.
12602 (setjmp_mod_CFLAGS): Likewise.
12603 (setjmp_LDFLAGS): Likewise.
12604
12605 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12606 (setjmp_mod_SOURCES): New variable.
12607 (setjmp_mod_CFLAGS): Likewise.
12608 (setjmp_LDFLAGS): Likewise.
12609
12610 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12611 (setjmp_mod_SOURCES): New variable.
12612 (setjmp_mod_CFLAGS): Likewise.
12613 (setjmp_LDFLAGS): Likewise.
12614
12615 * normal/i386/setjmp.S: Moved from here ...
12616 * lib/i386/setjmp.S: ... Moved here
12617 * normal/x86_64/setjmp.S: Moved from here ...
12618 * lib/x86_64/setjmp.S: ... Moved here
12619 * normal/powerpc/setjmp.S: Moved from here ...
12620 * lib/powerpc/setjmp.S: ... Moved here
12621 * normal/sparc64/setjmp.S: Moved from here ...
12622 * lib/sparc64/setjmp.S: ... Moved here
12623
12624 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12625 returns_twice in mingw.
12626
12627 * script/lua/grub_lib.c: New file.
12628 * script/lua/grub_lib.h: Likewise.
12629 * script/lua/grub_lua.h: Likewise.
12630 * script/lua/grub_main.c: Likewise.
12631 * script/lua/lapi.c: Likewise.
12632 * script/lua/lapi.h: Likewise.
12633 * script/lua/lauxlib.c: Likewise.
12634 * script/lua/lauxlib.h: Likewise.
12635 * script/lua/lbaselib.c: Likewise.
12636 * script/lua/lcode.c: Likewise.
12637 * script/lua/lcode.h: Likewise.
12638 * script/lua/ldblib.c: Likewise.
12639 * script/lua/ldebug.c: Likewise.
12640 * script/lua/ldebug.h: Likewise.
12641 * script/lua/ldo.c: Likewise.
12642 * script/lua/ldo.h: Likewise.
12643 * script/lua/ldump.c: Likewise.
12644 * script/lua/lfunc.c: Likewise.
12645 * script/lua/lfunc.h: Likewise.
12646 * script/lua/lgc.c: Likewise.
12647 * script/lua/lgc.h: Likewise.
12648 * script/lua/linit.c: Likewise.
12649 * script/lua/liolib.c: Likewise.
12650 * script/lua/llex.c: Likewise.
12651 * script/lua/llex.h: Likewise.
12652 * script/lua/llimits.h: Likewise.
12653 * script/lua/lmathlib.c: Likewise.
12654 * script/lua/lmem.c: Likewise.
12655 * script/lua/lmem.h: Likewise.
12656 * script/lua/loadlib.c: Likewise.
12657 * script/lua/lobject.c: Likewise.
12658 * script/lua/lobject.h: Likewise.
12659 * script/lua/lopcodes.c: Likewise.
12660 * script/lua/lopcodes.h: Likewise.
12661 * script/lua/loslib.c: Likewise.
12662 * script/lua/lparser.c: Likewise.
12663 * script/lua/lparser.h: Likewise.
12664 * script/lua/lstate.c: Likewise.
12665 * script/lua/lstate.h: Likewise.
12666 * script/lua/lstring.c: Likewise.
12667 * script/lua/lstring.h: Likewise.
12668 * script/lua/lstrlib.c: Likewise.
12669 * script/lua/ltable.c: Likewise.
12670 * script/lua/ltable.h: Likewise.
12671 * script/lua/ltablib.c: Likewise.
12672 * script/lua/ltm.c: Likewise.
12673 * script/lua/ltm.h: Likewise.
12674 * script/lua/lua.h: Likewise.
12675 * script/lua/luaconf.h: Likewise.
12676 * script/lua/lualib.h: Likewise.
12677 * script/lua/lundump.c: Likewise.
12678 * script/lua/lundump.h: Likewise.
12679 * script/lua/lvm.c: Likewise.
12680 * script/lua/lvm.h: Likewise.
12681 * script/lua/lzio.c: Likewise.
12682 * script/lua/lzio.h: Likewise.
12683
5e898c9d 126842009-05-16 Bean <bean123ch@gmail.com>
12685
12686 * include/grub/kernel.h (grub_module_header_types): Add type
12687 OBJ_TYPE_CONFIG.
12688
12689 * kern/main.c (grub_load_config): New function.
12690 (grub_main): Call grub_load_config to read boot config.
12691
12692 * grub-mkimage (generate_image): New parameter config_path.
12693 (options): New option --config.
12694 (main): Parse --config option, and pass it to generate_image.
12695
cf353a47 126962009-05-14 Christian Franke <franke@computer.org>
12697
12698 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12699 This fixes build on Cygwin.
12700
3834887f 127012009-05-14 Pavel Roskin <proski@gnu.org>
12702
12703 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12704 jump. This saves two bytes, so the typical case of 2 swapped
12705 drives would fit 32 bytes.
12706
8090fc01 127072009-05-13 Pavel Roskin <proski@gnu.org>
12708
ac963883 12709 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12710 grub_uint32_t to avoid a warning.
12711
8090fc01 12712 * loader/i386/linux.c (allocate_pages): When assigning
12713 real_mode_mem, cast through grub_size_t to fix a warning. The
12714 code already makes sure that the value would fit a pointer.
12715 (grub_linux_setup_video): Cast render_target->data to
12716 grub_size_t to fix a warning.
12717
18f547ad 127182009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 12719
12720 * commands/i386/pc/drivemap.c: New file - implement drivemap
12721 command.
12722 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12723 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12724
6f6a8b28 127252009-05-13 Pavel Roskin <proski@gnu.org>
12726
12727 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12728 embedding_area_exists.
12729
15fbf4c4 127302009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12731
12732 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12733 it easier to understand / work with.
59978c8a 12734 Improve warning messages for cases where there's no embedding area,
12735 or when it is too small (or core.img too large).
15fbf4c4 12736
238e871f 127372009-05-13 Pavel Roskin <proski@gnu.org>
12738
0ab3a9a4 12739 * loader/i386/pc/multiboot2.c: Add necessary includes for
12740 grub_multiboot2_real_boot().
12741
a2c8c5f8 12742 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12743 PX record is always little-endian. We only need the lower 2
12744 bytes of the mode.
12745
faec96af 12746 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12747 facilitate code reuse.
12748 (grub_cpio_mount): Use "struct head", not a char buffer. This
12749 fixes a warning reported by gcc 4.4.
12750
238e871f 12751 * kernel/disk.c (grub_disk_read): Use void pointer for the
12752 buffer.
12753 (grub_disk_write): Use const void pointer for the buffer.
12754 Adjust all callers. Remove unnecessary casts.
12755
901d2f0c 127562009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12757
12758 * util/i386/pc/grub-install.in: Update copyright year.
12759
18f547ad 127602009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 12761
12762 gptsync
12763
12764 * commands/gptsync.c: new file
12765 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12766 (gptsync_mod_SOURCES): new variable
12767 (gptsync_mod_CFLAGS): likewise
12768 (gptsync_mod_LDFLAGS): likewise
18f547ad 12769 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 12770 new definition
12771 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12773 * conf/i386-ieee1275.rmk: likewise
12774 * conf/i386-pc.rmk: likewise
12775 * conf/powerpc-ieee1275.rmk: likewise
12776
b4ba690a 127772009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 Fixed grub-emu
12780
12781 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12782 (grub_dl_ref): likewise
12783
317e1a44 127842009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12785
12786 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12787 split in two functions (one for msdos and one for gpt).
12788
041b8094 127892009-05-08 Pavel Roskin <proski@gnu.org>
12790
752473c2 12791 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12792 not modified.
12793
041b8094 12794 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12795 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12796 Initialize them with -1. Add sanity check for bad1. Eliminate
12797 nerr variable.
12798
172800ce 127992009-05-08 David S. Miller <davem@davemloft.net>
12800
12801 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12802
29aa5e81 128032009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12804
12805 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 12806 existence.
29aa5e81 12807
96613b62 128082009-05-05 Felix Zielcke <fzielcke@z-51.de>
12809
12810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 12811 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 12812
eef73c8a 128132009-05-05 David S. Miller <davem@davemloft.net>
12814
12815 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12816
119494b5 128172009-05-05 Pavel Roskin <proski@gnu.org>
12818
12819 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12820 of grub_dl_ref() and grub_dl_unref().
12821 * commands/parttool.c: Remove preprocessor conditionals around
12822 grub_dl_ref() and grub_dl_unref().
12823 * fs/affs.c: Likewise.
12824 * fs/afs.c: Likewise.
12825 * fs/cpio.c: Likewise.
12826 * fs/ext2.c: Likewise.
12827 * fs/fat.c: Likewise.
12828 * fs/hfs.c: Likewise.
12829 * fs/hfsplus.c: Likewise.
12830 * fs/iso9660.c: Likewise.
12831 * fs/jfs.c: Likewise.
12832 * fs/minix.c: Likewise.
12833 * fs/ntfs.c: Likewise.
12834 * fs/reiserfs.c: Likewise.
12835 * fs/sfs.c: Likewise.
12836 * fs/udf.c: Likewise.
12837 * fs/ufs.c: Likewise.
12838 * fs/xfs.c: Likewise.
12839 * include/grub/dl.h: Likewise.
12840 * loader/xnu.c: Likewise.
12841
de5fd76e 128422009-05-04 Pavel Roskin <proski@gnu.org>
12843
12844 * commands/acpi.c: Remove unused variable my_mod.
12845 * partmap/amiga.c: Likewise.
12846 * partmap/apple.c: Likewise.
12847 * partmap/gpt.c: Likewise.
12848 * partmap/pc.c: Likewise.
12849 * partmap/sun.c: Likewise.
12850 * term/gfxterm.c: Likewise.
12851 * term/i386/pc/vesafb.c: Likewise.
12852 * term/i386/pc/vga.c: Likewise.
12853
983598ad 128542009-05-04 David S. Miller <davem@davemloft.net>
12855
12856 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12857 pointer args to grub_ieee1275_get_property().
12858
8aadec43 12859 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12860
9554b15e 12861 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12862 devices, and do not traverse down under controller nodes.
12863
67e23c90 12864 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12865 (grub_ofdisk_open): Use it to un-escape "," characters.
12866 * kern/disk.c (find_part_sep): New.
12867 (grub_disk_open): Use it to find the first non-escaped ','
12868 character in the disk name.
12869 * util/ieee1275/devicemap.c (escape_of_path): New.
12870 (grub_util_emit_devicemap_entry): Use it.
12871 * util/sparc64/ieee1275/grub-install.in: Update script to
12872 strip partition specifiers properly by not triggering on
12873 '\' escaped ',' characters.
12874
74bfdd2f 128752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12876
12877 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12878 to 0x300.
12879 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12880 resolutions.
12881 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12882 on documentation from Wikipedia).
12883
4241d2b1 128842009-05-04 Pavel Roskin <proski@gnu.org>
12885
12886 * disk/ata.c: Spelling fixes.
12887 * disk/raid.c: Likewise.
12888 * disk/usbms.c: Likewise.
12889 * disk/dmraid_nvidia.c: Likewise.
12890 * kern/ieee1275/openfw.c: Likewise.
12891 * kern/ieee1275/init.c: Likewise.
12892 * kern/ieee1275/cmain.c: Likewise.
12893 * boot/i386/pc/cdboot.S: Likewise.
12894 * video/readers/png.c: Likewise.
12895 * video/i386/pc/vbe.c: Likewise.
12896 * fs/udf.c: Likewise.
12897 * fs/hfs.c: Likewise.
12898 * fs/reiserfs.c: Likewise.
12899 * efiemu/runtime/efiemu.c: Likewise.
12900 * efiemu/main.c: Likewise.
12901 * efiemu/mm.c: Likewise.
12902 * include/grub/elf.h: Likewise.
12903 * include/grub/xnu.h: Likewise.
12904 * include/grub/usbdesc.h: Likewise.
12905 * include/grub/usb.h: Likewise.
12906 * include/grub/script_sh.h: Likewise.
12907 * include/grub/lib/LzmaEnc.h: Likewise.
12908 * include/grub/efiemu/efiemu.h: Likewise.
12909 * include/grub/command.h: Likewise.
12910 * normal/menu.c: Likewise.
12911 * normal/main.c: Likewise.
12912 * normal/datetime.c: Likewise.
12913 * bus/usb/uhci.c: Likewise.
12914 * mmap/i386/uppermem.c: Likewise.
12915 * mmap/mmap.c: Likewise.
12916 * commands/acpi.c: Likewise.
12917 * commands/test.c: Likewise.
12918 * partmap/apple.c: Likewise.
12919 * font/font.c: Likewise.
12920 * loader/sparc64/ieee1275/linux.c: Likewise.
12921 * loader/macho.c: Likewise.
12922 * loader/i386/bsd_trampoline.S: Likewise.
12923 * loader/i386/bsd.c: Likewise.
12924 * loader/xnu.c: Likewise.
12925 * term/i386/pc/vesafb.c: Likewise.
12926 * term/usb_keyboard.c: Likewise.
12927 * util/resolve.c: Likewise.
12928 * util/getroot.c: Likewise.
12929
0cfc0083 129302009-05-04 Felix Zielcke <fzielcke@z-51.de>
12931
12932 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12933
7c1d00cd 129342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12935
12936 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12937 build error.
12938
b01f0548 129392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12940
12941 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12942 parameter only available on BIOS.
12943
ecc3eb22 129442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 Removed wrong semicolon in declaration
12947
12948 * grub/misc.h (grub_dprintf): remove semicolon
12949
112972a9 129502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12951
12952 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12953 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12954 is done by grub_cmd_linux() now).
12955 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12956 restore video to text mode.
12957 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12958 indicates lack of "vga=" parameter. "vga=0" is mapped to
12959 `GRUB_LINUX_VID_MODE_NORMAL'.
12960
afd5c115 129612009-05-04 Felix Zielcke <fzielcke@z-51.de>
12962
12963 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12964 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12965 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 12966 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 12967 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12968 `grub_script.tab.c'.
12969
12970 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12971 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12973 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12974 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12975
faa517ce 12976 * Makefile.in: Remove duplicated 2008 in Copyright line.
12977
ae0c0bdc 129782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12979
473d1e45 12980 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 12981 unconditionally.
12982 * include/grub/util/misc.h (grub_util_warn): New declaration.
12983
12984 * util/i386/pc/grub-install.in: Understand --force and pass it down
12985 to grub-setup.
12986
12987 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12988 down to setup().
12989 (setup): Improve error messages and add warnings when requested to
12990 install in odd layouts. Refuse to install using blocklists unless
12991 --force was set.
12992
18f547ad 129932009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 12994
12995 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12996
6d260daa 129972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 Updated copyright year
13000
13001 * fs/hfsplus.c: updated copyright year
18f547ad 13002
69f853f8 130032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 HFS+ UUID
13006
18f547ad 13007 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 13008 in the space previously used by unused3
13009 (grub_hfsplus_uuid): new function
13010 (grub_hfsplus_fs): added uuid field
13011
4c402e73 130122009-05-03 Pavel Roskin <proski@gnu.org>
13013
13014 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
13015 suppress warnings. It's no longer needed.
13016 * disk/host.c: Likewise.
13017 * disk/ata_pthru.c: Likewise.
13018 * disk/loopback.c: Likewise.
13019 * hook/datehook.c: Likewise.
13020 * parttool/pcpart.c: Likewise.
13021 * fs/i386/pc/pxe.c: Likewise.
13022 * fs/ntfscomp.c: Likewise.
13023 * efiemu/main.c: Likewise.
13024 * mmap/mmap.c: Likewise.
13025 * commands/crc.c: Likewise.
13026 * commands/hexdump.c: Likewise.
13027 * commands/hdparm.c: Likewise.
13028 * commands/acpi.c: Likewise.
13029 * commands/echo.c: Likewise.
13030 * commands/minicmd.c: Likewise.
13031 * commands/blocklist.c: Likewise.
13032 * commands/memrw.c: Likewise.
13033 * commands/loadenv.c: Likewise.
13034 * commands/usbtest.c: Likewise.
13035 * commands/lsmmap.c: Likewise.
13036 * commands/boot.c: Likewise.
13037 * commands/parttool.c: Likewise.
13038 * commands/configfile.c: Likewise.
13039 * commands/search.c: Likewise.
13040 * commands/ieee1275/suspend.c: Likewise.
13041 * commands/cat.c: Likewise.
13042 * commands/i386/pc/pxecmd.c: Likewise.
13043 * commands/i386/pc/play.c: Likewise.
13044 * commands/i386/pc/halt.c: Likewise.
13045 * commands/i386/pc/vbeinfo.c: Likewise.
13046 * commands/i386/pc/vbetest.c: Likewise.
13047 * commands/lspci.c: Likewise.
13048 * commands/date.c: Likewise.
13049 * commands/handler.c: Likewise.
13050 * commands/ls.c: Likewise.
13051 * commands/test.c: Likewise.
13052 * commands/cmp.c: Likewise.
13053 * commands/efi/loadbios.c: Likewise.
13054 * commands/efi/fixvideo.c: Likewise.
13055 * commands/halt.c: Likewise.
13056 * commands/help.c: Likewise.
13057 * commands/reboot.c: Likewise.
13058 * hello/hello.c: Likewise.
13059 * script/sh/main.c: Likewise.
13060 * loader/xnu.c: Likewise.
13061 * term/terminfo.c: Likewise.
13062 * term/i386/pc/serial.c: Likewise.
13063 * term/usb_keyboard.c: Likewise.
13064
515b5079 130652009-05-03 David S. Miller <davem@davemloft.net>
13066
13067 * normal/menu.c: Include grub/parser.h
13068
dfc31a22 130692009-05-03 Pavel Roskin <proski@gnu.org>
13070
2fee74f1 13071 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
13072 not char*.
13073 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
13074 Suggested by Javier Martín <lordhabbit@gmail.com>
13075
dfc31a22 13076 * util/i386/pc/grub-mkrescue.in: Allow for the case when
13077 efiemu??.o doesn't exist.
13078 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
13079 copying.
13080
18f547ad 130812009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 13082
13083 FreeBSD 64-bit support
13084
18f547ad 13085 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 13086 and loader/i386/bsd_trampoline.S
13087 (bsd_mod_ASFLAGS): new variable
13088 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
13089 (FREEBSD_MODTYPE_KERNEL64): likewise
13090 (grub_bsd64_trampoline_start): likewise
13091 (grub_bsd64_trampoline_end): likewise
13092 (grub_bsd64_trampoline_selfjump): likewise
13093 (grub_bsd64_trampoline_gdt): likewise
13094 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
13095 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
13096 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
13097 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 13098 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 13099 of "attrib" member
13100 * loader/i386/bsd_pagetable.c: new file
13101 * loader/i386/bsd_trampoline.S: likewise
13102 * loader/i386/bsd.c (ALIGN_QWORD): new macro
13103 (ALIGN_VAR): likewise
13104 (entry_hi): new variable
13105 (kern_end_mdofs): likewise
13106 (is_64bit): likewise
13107 (grub_freebsd_add_meta): use ALIGN_VAR
13108 (grub_e820_mmap): new declaration
13109 (grub_freebsd_add_mmap): new function
13110 (grub_freebsd_add_meta_module): support 64 bit kernels
13111 (grub_freebsd_list_modules): use ALIGN_VAR
13112 (gdt_descriptor): new declaration
13113 (grub_freebsd_boot): support 64 bit kernels
13114 (grub_bsd_elf64_hook): new function
13115 (grub_bsd_load_elf): support elf64
13116
038c5720 131172009-05-03 Bean <bean123ch@gmail.com>
13118
13119 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
13120 after we get the result of if statement.
13121
fc45fb58 131222009-05-03 Bean <bean123ch@gmail.com>
13123
13124 * Makefile.in (enable_efiemu): New variable.
13125
13126 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
13127 set.
13128 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
13129 path.
13130 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
13131 path, add -mno-red-zone option.
13132 (efiemu64_s.o): Likewise.
13133 (efiemu64.o): Use macro $^ for source file.
13134
13135 * configure.ac (--enable-efiemu): New option.
13136
bbee0f2b 131372009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 xnu support
13140
13141 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
13142 (pkglib_MODULES): add xnu.mod
13143 (xnu_mod_SOURCES): new variable
13144 (xnu_mod_CFLAGS): likewise
13145 (xnu_mod_LDFLAGS): likewise
13146 (xnu_mod_ASFLAGS): likewise
13147 * conf/i386-pc.rmk: likewise
13148 * conf/x86_64-efi.rmk: likewise
7dd4a573 13149 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 13150 new declaration
13151 * include/grub/i386/macho.h: new file
13152 * include/grub/i386/xnu.h: likewise
13153 * include/grub/macho.h: likewise
13154 * include/grub/machoload.h: likewise
13155 * include/grub/x86_64/macho.h: likewise
13156 * include/grub/x86_64/xnu.h: likewise
13157 * include/grub/xnu.h: likewise
13158 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
13159 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
13160 * loader/i386/efi/xnu.c: new file
13161 * loader/i386/pc/xnu.c: likewise
13162 * loader/i386/xnu.c: likewise
13163 * loader/i386/xnu_helper.S: likewise
13164 * loader/macho.c: likewise
13165 * loader/xnu.c: likewise
13166 * loader/xnu_resume.c: likewise
13167 * util/grub-dumpdevtree: likewise
13168 * include/grub/i386/pit.h: include grub/err.h
13169 (grub_pit_wait): export
13170 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 13171
5caf964d 131722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 Efiemu
7dd4a573 13175
5caf964d 13176 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 13177 _linux_efi, linux_efi.
13178 new files in grub-emu
5caf964d 13179 new targets efiemu32.o and efiemu64.o
13180 * loader/linux_normal_efiemu.c: likewise
13181 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 13182 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 13183 files to copy
13184 * include/grub/autoefi.h: new file
7dd4a573 13185 * include/grub/i386/efiemu.h: likewise
5caf964d 13186 * include/grub/i386/pc/efiemu.h: likewise
13187 * include/grub/efi/api.h: add LL suffix when necessary
13188 new definitions relating to tables
13189 * include/grub/efiemu/efiemu.h: new file
13190 * include/grub/efiemu/runtime.h: likewise
13191 * efiemu/prepare.c: likewise
13192 * efiemu/loadcore_common.c: likewise
13193 * efiemu/loadcore64.c: likewise
13194 * efiemu/runtime/efiemu.sh: likewise
13195 * efiemu/runtime/efiemu.S: likewise
13196 * efiemu/runtime/efiemu.c: likewise
13197 * efiemu/runtime/config.h: likewise
13198 * efiemu/prepare32.c: likewise
13199 * efiemu/main.c: likewise
13200 * efiemu/modules/pnvram.c: likewise
13201 * efiemu/modules/i386: likewise
13202 * efiemu/modules/i386/pc: likewise
13203 * efiemu/modules/acpi.c: likewise
13204 * efiemu/i386/pc/cfgtables.c: likewise
13205 * efiemu/i386/loadcore64.c: likewise
13206 * efiemu/i386/loadcore32.c: likewise
13207 * efiemu/prepare64.c: likewise
13208 * efiemu/loadcore.c: likewise
13209 * efiemu/symbols.c: likewise
13210 * efiemu/mm.c: likewise
13211 * efiemu/loadcore32.c: likewise
7dd4a573 13212
132132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 13214
13215 ACPI spoofing
13216
13217 * commands/acpi.c: new file
13218 * commands/i386/pc/acpi.c: likewise
13219 * commands/efi/acpi.c: likewise
13220 * include/grub/acpi.h: likewise
13221 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
13222 (acpi_mod_SOURCES): new variable
13223 (acpi_mod_CFLAGS): likewise
13224 (acpi_mod_LDFLAGS): likewise
13225 * conf/i386-efi.rmk: likewise
13226 * conf/x86_64-efi.rmk: likewise
13227
7dd4a573 132282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 13229
13230 Missing part from mmap patch
13231
13232 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
13233 (grub_mmap_unregister)
13234 (grub_mmap_free_and_unregister): use grub_mmap_register
13235
7dd4a573 132362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 13237
13238 Mmap services
13239
13240 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
13241 * loader/i386/linux.c (find_mmap_size): likewise
13242 (allocate_pages): likewise
13243 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
13244 (grub_fill_multiboot_mmap): likewise
13245 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
13246 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
13247 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
13248 (OPENBSD_MMAP_RESERVED): likewise
13249 * include/grub/i386/pc/memory.h: include grub/memory.h
13250 (grub_lower_mem): removed
13251 (grub_upper_mem): likewise
13252 (GRUB_MACHINE_MEMORY_ACPI): new definition
13253 (GRUB_MACHINE_MEMORY_NVS): likewise
13254 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
13255 (GRUB_MACHINE_MEMORY_HOLE): likewise
13256 (grub_machine_mmap_register): likewise
13257 (grub_machine_mmap_unregister): likewise
13258 (grub_machine_get_upper): likewise
13259 (grub_machine_get_lower): likewise
13260 (grub_machine_get_post64): likewise
13261 * include/grub/i386/efi/memory.h: new file
13262 * include/grub/x86_64/efi/memory.h: likewise
13263 * include/grub/efi/memory.h: likewise
13264 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
13265 (mmap_mod_SOURCES): new variable
13266 (mmap_mod_LDFLAGS): likewise
13267 (mmap_mod_ASFLAGS): likewise
13268 * conf/i386-coreboot.rmk: likewise
13269 * conf/i386-ieee1275.rmk: likewise
13270 * conf/i386-efi.rmk: likewise
13271 * conf/x86_64-efi.rmk: likewise
13272 * include/grub/types.h (UINT_TO_PTR): new macro
13273 (PTR_TO_UINT32): likewise
13274 (PTR_TO_UINT64): likewise
13275 * include/grub/memory.h: new file
13276 * mmap/i386/pc/mmap.c: likewise
13277 * mmap/i386/pc/mmap_helper.S: likewise
13278 * mmap/i386/uppermem.c: likewise
13279 * mmap/mmap.c: likewise
13280 * mmap/efi/mmap.c: likewise
7dd4a573 13281 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 13282 grub_upper_mem
13283 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13284 (grub_upper_mem): likewise
13285 (grub_machine_init): don't use grub_upper_mem,
13286 make grub_lower_mem local
13287 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13288 grub_mmap_iterate and grub_mmap_get_upper
13289 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13290
d558e6b5 132912009-05-02 Bean <bean123ch@gmail.com>
13292
13293 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13294 script/sh/parser.y.
13295 (pkglib_MODULES): Add normal.mod and sh.mod.
13296 (normal_SOURCES): New variable.
13297 (normal_mod_CFLAGS): Likewise.
13298 (normal_mod_LDFLAGS): Likewise.
13299 (sh_mod_SOURCES): Likewise.
13300 (sh_mod_CFLAGS): Likewise.
13301 (sh_mod_LDFLAGS): Likewise.
13302
13303 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13304 script/sh/lexer.c_DEPENDENCIES.
13305 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13306 kern/rescue_reader.c and kern/rescue_parser.c.
13307 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13308 (grub_emu_SOURCES): Change source files.
13309 (pkglib_MODULES): Remove normal.mod.
13310 (normal_SOURCES): Removed.
13311 (normal_mod_CFLAGS): Likewise.
13312 (normal_mod_LDFLAGS): Likewise.
13313 * conf/i386-coreboot.rmk: Likewise.
13314 * conf/i386-efi.rmk: Likewise.
13315 * conf/i386-ieee1276.rmk: Likewise.
13316 * conf/powerpc-ieee1275.rmk: Likewise.
13317 * conf/sparc64-ieee1275.rmk: Likewise.
13318 * conf/x86_64-efi.rmk: Likewise.
13319
13320 * include/grub/command.h (grub_command_execute): New inline function.
13321
13322 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13323
13324 * include/grub/normal.h: Remove <grub/setjmp.h>.
13325 (grub_fs_module_list): Moved to normal/autofs.c.
13326 (grub_exit_env): Removed.
13327 (grub_command_execute): Likewise.
13328 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13329 parameter script.
13330 (read_command_list): New function declaration.
13331 (read_fs_list): Likewise.
13332
13333 * include/parser.h: Include <grub/reader.h>.
13334 (grub_parser_split_cmdline): Change type of getline parameter.
13335 (grub_parser): New structure.
13336 (grub_parser_class): New variable.
13337 (grub_parser_execute): New function declaration.
13338 (grub_register_rescue_parser): Likewise.
13339 (grub_parser_register): New inline function.
13340 (grub_parser_unregister): Likewise.
13341 (grub_parser_get_current): Likewise.
13342 (grub_parser_set_current): Likewise.
13343
13344 * include/grub/reader.h: New file.
13345 * kern/reader.c: Likewise.
13346 * kern/rescue_parser.c: Likewise.
13347 * kern/rescue_reader.c: Likewise.
13348 * normal/autofs.c: Likewise.
13349 * normal/dyncmd.c: Likewise.
13350
13351 * include/grub/rescue.h: Removed.
13352 * normal/command.h: Likewise.
13353
13354 * include/grub/script.h: Moved to ...
13355 * include/grub/script_sh.h: ... Moved here.
13356 * normal/execute.c: Moved to ...
13357 * script/sh/execute.c: ... Moved here.
13358 * normal/function.c: Moved to ...
13359 * script/sh/function.c: ... Moved here.
13360 * normal/lexer.c: Moved to ...
13361 * script/sh/lexer.c: ... Moved here.
13362 * normal/parser.y: Moved to ...
13363 * script/sh/parser.y: ... Moved here.
13364 * normal/script.c: Moved to ...
13365 * script/sh/script.c: ... Moved here.
13366
13367 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13368 <grub/reader.h>.
13369 (grub_exit_env): Removed.
13370 (fs_module_list): Moved to normal/autofs.c.
13371 (grub_file_getline): Don't handle comment here.
13372 (free_menu): Skip removed field entry->commands.
13373 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13374 script parameter.
13375 (read_config_file): Removed nested parameter, change getline function.
13376 (grub_enter_normal_mode): Removed.
13377 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13378 (read_command_list): Likewise.
13379 (autoload_fs_module): Moved to normal/autofs.c.
13380 (read_fs_list): Likewise.
13381 (reader_nested): New variable.
13382 (grub_normal_execute): Run parser.sh to switch to sh parser.
13383 (grub_cmd_rescue): Removed.
13384 (cmd_normal): Removed.
13385 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13386 rescue command.
13387 (grub_cmdline_run): New function.
13388 (grub_normal_reader_init): Likewise.
13389 (grub_normal_read_line): Likewise.
13390 (grub_env_write_pager): Likewise.
13391 (cmdline): New variable.
13392 (grub_normal_reader): Likewise.
13393 (GRUB_MOD_INIT): Register normal reader and set as current, register
13394 pager hook, register normal command with grub_register_command_prio,
13395 so that it won't show up in command.lst.
13396 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13397 grub_fs_autoload_hook.
13398
13399 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13400 (grub_menu_execute_entry): Replace grub_script_execute with
13401 grub_parser_execute, change parameter to grub_command_execute.
13402
13403 * normal/menu_text.c: Remove <grub/script.h>.
13404
13405 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13406 and <grub/parser.h>.
13407 (run): Change editor_getline to use new parser interface. Change
13408 parameter to grub_command_execute.
13409
13410 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13411 <grub/reader.h> and <grub/parser.h>.
13412 (grub_load_normal_mode): Execute normal command.
13413 (grub_main): Call grub_register_core_commands,
13414 grub_register_rescue_parser and grub_register_rescue_reader, use
13415 grub_reader_loop to enter input loop.
13416
7dd4a573 13417 * kern/parser.c (grub_parser_split_cmdline): Change type of
13418 getline parameter.
d558e6b5 13419 (grub_parser_class): New variable.
13420 (grub_parser_execute): New function.
13421
13422 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13423 * loader/multiboot2.c: Likewise.
13424 * loader/sparc64/ieee1275/linux.c: Likewise.
13425
13426 * util/grub-emu.c (read_command_list): New dummy function.
13427
18db813d 134282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13429
13430 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13431 count to 16 for CCISS and IDA.
13432
6c67de15 134332009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13434
13435 * normal/menu_text.c (grub_wait_after_message): Print a newline
13436 after waiting for user input.
13437
13438 * loader/i386/linux.c: Include `<grub/normal.h>'.
13439 (grub_cmd_linux): Improve the error message about `ask' mode, by
13440 waiting for user input so it's not missed (we can do this, since
13441 user requested interaction).
13442
d9dc87b0 134432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 Added missing lst to grub-mkrescue
13446
13447 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13448 and ${input_dir}/parttool.lst
13449
ac8a2baa 134502009-04-30 David S. Miller <davem@davemloft.net>
13451
ad22a610 13452 * util/hostdisk.c (device_is_wholedisk): New function.
13453 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13454 zero only if device_is_wholedisk() returns true.
13455
6966215d 13456 * util/hostdisk.c (convert_system_partition_to_system_disk):
13457 Handle virtual disk devices named /dev/vdiskX as found on sparc
13458 and powerpc.
13459
ac8a2baa 13460 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13461 lettered partition specifier is found, convert to numbered.
13462
979b4fb4 134632009-04-29 David S. Miller <davem@davemloft.net>
13464
e2bf39b2 13465 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13466 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13467
3c64e104 13468 * normal/command.c: Add missing newline at end of file.
13469
979b4fb4 13470 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13471 warnings.
13472 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13473 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13474 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13475 ihandles have a 32-bit type but need to be stored in a "void *".
13476
136d9f82 134772009-04-28 Pavel Roskin <proski@gnu.org>
13478
9459c306 13479 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13480 not disk. Adjust all dependencies.
2e08a26a 13481 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 13482 grub_disk_close().
13483
136d9f82 13484 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13485 parent's partition, don't copy it by reference, as it gets freed
13486 on close.
13487
7dd4a573 134882009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 13489
13490 Preboot hooks support
13491
13492 * commands/boot.c (struct grub_preboot_t): new declaration
13493 (preboots_head): new variable
13494 (preboots_tail): likewise
13495 (grub_loader_register_preboot_hook): new function
13496 (grub_loader_unregister_preboot_hook): likewise
13497 (grub_loader_set): launch preboot hooks
13498 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13499 (grub_loader_register_preboot_hook): new declaration
13500 (grub_loader_unregister_preboot_hook): likewise
13501
5af922b5 135022009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 Warning fix
13505
7dd4a573 13506 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 13507 calling grub_dprintf
13508
a5562c30 135092009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 Bug and warning fixes
13512
7dd4a573 13513 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 13514 declaration
13515 * commands/test.c (test_parse): fixed bug with file tests and corrected
13516 declaration of find_file
13517
4006f85c 135182009-04-26 Pavel Roskin <proski@gnu.org>
13519
13520 * Makefile.in: Don't install empty manual pages if help2man is
13521 missing. Use help2man option for output, not shell redirection.
13522
5c77c3de 135232009-04-26 David S. Miller <davem@davemloft.net>
13524
13525 * util/grub-mkdevicemap.c (make_device_map): Add missing
13526 NESTED_FUNC_ATTR to process_device().
13527
033b10a8 135282009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 Test command
13531
13532 * commands/test.c: rewritten to use bash-like test
13533
e4343593 135342009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Parttool autoloading and improvements
13537
7dd4a573 13538 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 13539 (parttool.lst): new target
13540 * genmk.rb: generate parttool-*
13541 (CLEANFILES): add #{parttool}
13542 (PARTTOOLFILES): new variable
13543 * genparttoollist.sh: new file
7dd4a573 13544 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 13545 (grub_pcpart_type): likewise
13546 * commands/parttool.c (helpmsg): new variable
13547 (grub_cmd_parttool): output help if not enough arguments are supplied
13548 autoload modules
13549 (GRUB_MOD_INIT(parttool)): use helpmsg
13550
0d312500 135512009-04-24 David S. Miller <davem@davemloft.net>
13552
7dd4a573 13553 Avoiding opening same device multiple times in device iterator.
0d312500 13554
13555 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 13556 and use it to build a list of partitions in iterate_disk() and
0d312500 13557 iterate_partition().
13558
ac20caff 13559 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13560 on disk->data.
13561
0dcf7495 13562 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13563 grub_devalias_iterate() result instead of unconditional 0.
13564 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13565 Also, capture hook return value, either directly or via
13566 grub_children_iterate(), and propagate to caller.
13567 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13568 grub_children_iterate): Return value is now 'int' instead of
13569 'grub_err_t'.
13570 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13571 like a proper iterator, stopping when hooks return non-zero.
13572 (grub_devalias_iterate): Likewise.
13573
c8c08833 135742009-04-23 David S. Miller <davem@davemloft.net>
13575
13576 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13577
f01005a8 135782009-04-22 David S. Miller <davem@davemloft.net>
13579
13580 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13581 is larger than address_cells, use that value for address_cells too.
13582
4e8269da 13583 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13584 IEEE1275_MAX_PATH_LEN): Define.
13585 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13586 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13587 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13588 'devtype'. Explicitly NULL terminate devalias expansion.
13589
a1447506 13590 * util/sparc64/ieee1275/misc.c: New file.
13591 * util/sparc64/ieee1275/grub-setup.c: New file.
13592 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13593 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13594 * util/sparc64/ieee1275/grub-install.in: New file.
13595 * util/ieee1275/ofpath.c: New file.
13596 * util/ieee1275/devicemap.c: New file.
13597 * util/devicemap.c: New file.
13598 * util/deviceiter.c: New file.
13599 * kern/sparc64/ieee1275/init.c: New file.
13600 * include/grub/util/ofpath.h: New file.
13601 * include/grub/util/deviceiter.h: New file.
13602 * util/grub-mkdevicemap.c: Include deviceiter.h.
13603 Implement using grub_util_emit_devicemap_entry and
13604 grub_util_iterate_devices.
13605 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13606 util/devicemap.c into grub-mkdevicemap
13607 * conf/i386-efi.rmk: Likewise.
13608 * conf/i386-ieee1275.rmk: Likewise.
13609 * conf/i386-pc.rmk: Likewise.
13610 * conf/powerpc-ieee1275.rmk: Likewise.
13611 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13612 images and installation utilities. Build kernel as image
13613 instead of as elf binary. Use common rules as much as possible.
13614
7dd4a573 136152009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 13616
13617 Correct GPT definition
13618
7dd4a573 13619 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 13620 of "attrib" member
13621
c6c5219f 136222009-04-19 Felix Zielcke <fzielcke@z-51.de>
13623
13624 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13625
0552ff9f 136262009-04-19 David S. Miller <davem@davemloft.net>
13627
13628 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13629 (grub_rescue_cmd_linux): Rename to...
13630 (grub_cmd_linux): and fix prototype.
13631 (grub_rescue_cmd_initrd): Rename to...
13632 (grub_cmd_initrd): and fix prototype.
13633 (cmd_linux, cmd_initrd): New.
13634 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13635 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13636
d1a282fc 136372009-04-17 Pavel Roskin <proski@gnu.org>
13638
07c5039f 13639 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13640 format.
13641 (grub_ohci_transfer): Likewise.
13642
b012002d 13643 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13644
1bc09c35 13645 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13646 return without a value. Fix inconsistent indentation.
13647
e0ff9126 13648 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13649 match struct grub_fs.
13650
d1a282fc 13651 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13652 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13653 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13654 * commands/lspci.c (grub_lspci_iter): Likewise.
13655
a96df3f2 136562009-04-16 Bean <bean123ch@gmail.com>
13657
13658 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13659 value.
13660
41bb0fe9 136612009-04-15 Pavel Roskin <proski@gnu.org>
13662
13663 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13664 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13665 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13666 definitions.
13667
596c6970 136682009-04-15 Felix Zielcke <fzielcke@z-51.de>
13669
13670 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 13671 that no multiple data or metadata areas are supported and `Unknown
596c6970 13672 metadata header'.
13673
7dd4a573 136742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 13675
13676 Move loader out of the kernel
13677
13678 * kern/loader.c: moved to ...
13679 * commands/boot.c: ... moved here
13680 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13681 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13682 * include/grub/kernel.h (grub_machine_fini): export
13683 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13684 (grub_loader_set): likewise
13685 (grub_loader_unset): likewise
13686 (grub_loader_boot): likewise
13687 * conf/common.rmk: new module boot.mod
13688 (pkglib_MODULES): add boot.mod
13689 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13690 (grub_emu_SOURCES): likewise
13691 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13692 (grub_emu_SOURCES): likewise
13693 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13694 (grub_emu_SOURCES): likewise
13695 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13696 (grub_emu_SOURCES): likewise
13697 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13698 (grub_emu_SOURCES): likewise
7dd4a573 13699 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13700 (grub_emu_SOURCES): likewise
0d5d5653 13701 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 13702 (grub_emu_SOURCES): likewise
0d5d5653 13703
7dd4a573 137042009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 13705
13706 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 13707
5999d619 13708 * kern/misc.c (grub_itoa): Removed function
13709 (grub_ltoa): likewise
13710 (grub_vsprintf): use grub_lltoa
13711
7dd4a573 137122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 13713
13714 Restore grub-emu
13715
13716 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13717 * conf/i386-coreboot.rmk: likewise
13718 * conf/i386-ieee1275.rmk: likewise
13719 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 13720
20318222 137212009-04-15 Felix Zielcke <fzielcke@z-51.de>
13722
13723 * INSTALL: Add that `./autogen.sh' needs to be run before
13724 `./configure.'.
13725
d05f0df3 137262009-04-14 Bean <bean123ch@gmail.com>
13727
13728 * Makefile.in (pkglib_DATA): Add handler.lst.
13729 (handler.lst): New rule.
13730
13731 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13732 * conf/i386-coreboot.rmk: Likewise.
13733 * conf/i386-ieee1275.rmk: Likewise.
13734 * conf/i386-efi.rmk: Likewise.
13735 * conf/x86_64-efi.rmk: Likewise.
13736 * conf/powerpc-ieee1275.rmk: Likewise.
13737 * conf/sparc64-ieee1275.rmk: Likewise.
13738
13739 * genhandlerlist.sh: New file.
13740
13741 * genmk.rb: Add rules to generate handler.lst.
13742
13743 * include/grub/normal.h (grub_file_getline): New function definition.
13744 (read_handler_list): Likewise.
13745 (free_handler_list): Likewise.
13746
13747 * include/grub/term.h (grub_term_register_input): Add name parameter
13748 for auto generation of handler.lst.
13749 (grub_term_register_output): Likewise.
13750
13751 * normal/handler.c: New file.
13752
13753 * normal/main.c (get_line): Renamed to grub_file_getline.
13754 (read_config_file): Use the newly renamed grub_file_getline.
13755 (read_command_list): Likewise.
13756 (read_fs_list): Likewise.
13757 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13758 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13759
13760 * term/efi/console.c (grub_console_init): Add name parameter for auto
13761 generation of handler.lst.
13762 * term/gfxterm.c: Likewise.
13763 * term/i386/pc/at_keyboard.c: Likewise.
13764 * term/i386/pc/console.c: Likewise.
13765 * term/i386/pc/serial.c: Likewise.
13766 * term/i386/pc/vesafb.c: Likewise.
13767 * term/i386/pc/vga.c: Likewise.
13768 * term/i386/pc/vga_text.c: Likewise.
13769 * term/ieee1275/ofconsole.c: Likewise.
13770 * term/usb_keyboard.c: Likewise.
13771
33c846be 137722009-04-14 Bean <bean123ch@gmail.com>
13773
13774 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13775 properly with null character.
13776
4484e01e 137772009-04-14 Felix Zielcke <fzielcke@z-51.de>
13778
13779 * configure: Remove.
13780 * config.h.in: Likewise.
f93d668e 13781 * stamp-h.in: Likewise.
4484e01e 13782 * DISTLIST: Likewise.
13783 * conf/common.mk: Likewise.
13784 * conf/i386-coreboot.mk: Likewise.
13785 * conf/i386-efi.mk: Likewise.
13786 * conf/i386-ieee1275.mk: Likewise.
13787 * conf/i386.mk: Likewise.
13788 * conf/i386-pc.mk: Likewise.
13789 * conf/powerpc-ieee1275.mk: Likewise.
13790 * conf/sparc64-ieee1275.mk: Likewise.
13791 * conf/x86_64-efi.mk: Likewise.
13792
13793 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13794 develop on GRUB.
13795
7dd4a573 137962009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 13797 David S. Miller <davem@davemloft.net>
13798
13799 * util/hostdisk.c (make_device_name): Fix buffer length
13800 calculations.
13801
e25b5a8c 138022009-04-14 Felix Zielcke <fzielcke@z-51.de>
13803
13804 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13805 <sys/param.h> and <sys/sysctl.h>.
13806 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13807 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13808 opening the device and reset them afterwards.
13809
1f1f580c 138102009-04-13 Pavel Roskin <proski@gnu.org>
13811
13812 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13813 Reported by John Stanley <jpsinthemix@verizon.net>
13814
7ebc2d6b 138152009-04-13 Robert Millan <rmh@aybabtu.com>
13816
13817 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 13818 that name for menuentries when appropriate.
7ebc2d6b 13819
d8ba3667 138202009-04-13 Felix Zielcke <fzielcke@z-51.de>
13821
13822 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13823
cba416eb 138242009-04-13 Robert Millan <rmh@aybabtu.com>
13825
13826 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13827 to Linux, simply abort telling the user it's no longer supported.
13828
a547a745 138292009-04-13 Felix Zielcke <fzielcke@z-51.de>
13830
13831 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 13832 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 13833 `freebsd_loadenv' only when devices.hints exist.
13834
232a769c 138352009-04-13 Pavel Roskin <proski@gnu.org>
13836
13837 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13838
c3012039 138392009-04-13 Felix Zielcke <fzielcke@z-51.de>
13840
13841 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13842 partition number.
13843 (grub_drive): Likewise.
13844
234022fe 138452009-04-13 David S. Miller <davem@davemloft.net>
13846
13847 * kern/sparc64/ieee1275/ieee1275.c: New file.
13848 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13849 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13850 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13851 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13852 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13853 grub_ieee1275_alloc_physmem): Declare new exported functions.
13854
d8e1836c 13855 * include/grub/sparc64/ieee1275/loader.h: New file.
13856 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13857 * include/grub/sparc64/kernel.h: Likewise.
13858 * loader/sparc64/ieee1275/linux.c: Likewise.
13859
96bd81ec 13860 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13861 (grub_fstest_SOURCES): Likewise.
13862
6a4737e5 13863 * util/hostdisk.c (make_device_name): Do not make any assumptions
13864 about the length of drive names.
13865
1d7a72fd 13866 * kern/dl.c (grub_dl_load_file): Close file immediately when
13867 we are done using it.
13868
56bc2471 138692009-04-12 David S. Miller <davem@davemloft.net>
13870
13871 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13872 values. Noticed by Pavel Roskin.
13873
df38d0bb 13874 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13875 target compiler.
7dd4a573 13876
e382e93a 13877 * genmk.rb: Add more flexible image type specification, also
13878 pass --strip-unneeded to objcopy.
13879 * conf/i386-pc.rmk: Use *_FORMAT.
13880 * conf/i386-pc.mk: Rebuilt.
13881
f5dbbca9 13882 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13883 (OFDISK_HASH_SZ): Define.
13884 (ofdisk_hash): New hash table.
13885 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13886 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13887 instead of device phandle which is not unique.
13888
91c88b12 13889 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13890 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13891 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13892 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13893 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13894 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13895 GRUB_KERNEL_MACHINE_DATA_END): Define.
13896 (grub_kernel_image_size, grub_total_module_size): Declare.
13897
5b5d4aa5 138982009-04-12 Pavel Roskin <proski@gnu.org>
13899
7dd4a573 13900 * configure.ac: Change the logic when we check for target tools.
13901 Do it when the target is specified and it's different from the
13902 specified value of the host.
5b5d4aa5 13903
c91e1793 139042009-04-11 Felix Zielcke <fzielcke@z-51.de>
13905
13906 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13907 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13908 GNU/kFreeBSD. Check if a device is a character device. Use
13909 DIOCGMEDIASIZE to get the size.
13910 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13911 support for GNU/kFreeBSD.
13912 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13913 is a character device instead of a block device. Add support for
13914 FreeBSD device names.
13915
13916 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13917 is a character device instead of a block device.
13918
13919 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13920 is a character device instead of a block device.
13921
b1ac8644 139222009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13923
13924 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13925 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13926 FreeBSD. Check if a device is a character device. Use
13927 DIOCGMEDIASIZE to get the size.
13928 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13929 support for FreeBSD.
13930 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13931 is a character device instead of a block device. Add support for
13932 FreeBSD device names.
13933
13934 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13935 a character device instead of a block device.
13936 (grub_util_check_char_device): New function.
13937
13938 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13939 a character device instead of a block device.
13940
13941 * include/grub/util/getroot.h (grub_util_check_char_device): New
13942 prototype.
13943
a3f7515a 139442009-04-11 David S. Miller <davem@davemloft.net>
13945
13946 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13947 static libgcc.
13948 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13949 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13950 function, if present.
13951 (__bswapdi2): Likewise.
13952
0d44993d 13953 * include/grub/sparc64/ieee1275/boot.h: New file.
13954 * boot/sparc64/ieee1275/boot.S: Likewise.
13955 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13956
ed3d2bc2 13957 * kern/misc.c (grub_ltoa): New function.
13958 (grub_vsprintf): Use it to format 'long' integers.
13959
d3bfb59c 139602009-04-10 David S. Miller <davem@davemloft.net>
13961
13962 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13963 slots are of type grub_ieee1275_cell_t.
13964 (grub_nand_read): Likewise.
13965 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13966 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13967 macros are used to compare values in arg/ret block of the call.
13968 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13969 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13970 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13971 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13972 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13973 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13974 grub_ieee1275_close, grub_ieee1275_set_property,
13975 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13976 grub_ieee1275_cell_t.
13977 * kern/ieee1275/openfw.c (grub_map): Likewise.
13978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13979 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13980
450e2238 13981 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13982 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13983 (grub_devalias_iterate): Likewise.
13984
7dd4a573 139852009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 13986
13987 UFS improvements
13988
13989 * fs/ufs.c (INODE_NBLOCKS): new definition
13990 (struct grub_ufs_dirent): added fields for non-BSD dirents
13991 (grub_ufs_get_file_block): fixed double indirect handling
13992 (grub_ufs_lookup_symlink): use more robust way to determine whether
13993 symlink is inline
13994 (grub_ufs_find_file): support for non-BSD dirents
13995 (grub_ufs_dir): support for non-BSD dirents
13996
e7e6862a 139972009-04-10 Bean <bean123ch@gnail.com>
13998
13999 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
14000 attribute, otherwise the size would be wrong for i386 platform.
14001
14002 * include/grub/pci.h (grub_pci_read_word): New inline function.
14003 (grub_pci_read_byte): Likewise.
14004 (grub_pci_write): Likewise.
14005 (grub_pci_write_word): Likewise.
14006 (grub_pci_write_byte): Likewise.
14007
14008 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
14009
14010 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
14011 (find_framebuf): Scan pci to locate the frame buffer address.
14012
14013 * commands/efi/fixvideo.c: New file.
14014
14015 * commands/efi/loadbios.c: Likewise.
14016
14017 * commands/memrw.c: Likewise.
14018
14019 * util/grub-dumpbios.in: Likewise.
14020
14021 * conf/common.rmk (grub-dumpbios): New utility.
14022 (pkglib_MODULES): New module memrw.mod.
14023 (memrw_mod_SOURCE): New macro.
14024 (memrw_mod_CFLAGS): Likewise.
14025 (memrw_mod_LDFLAGS): Likewise.
14026
7dd4a573 14027 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14028 fixvideo.mod.
14029 (loadbios_mod_SOURCE): New macro.
14030 (loadbios_mod_CFLAGS): Likewise.
14031 (loadbios_mod_LDFLAGS): Likewise.
14032 (fixvideo_mod_SOURCE): Likewise.
14033 (fixvideo_mod_CFLAGS): Likewise.
14034 (fixvideo_mod_LDFLAGS): Likewise.
14035
7dd4a573 14036 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14037 fixvideo.mod.
14038 (loadbios_mod_SOURCE): New macro.
14039 (loadbios_mod_CFLAGS): Likewise.
14040 (loadbios_mod_LDFLAGS): Likewise.
14041 (fixvideo_mod_SOURCE): Likewise.
14042 (fixvideo_mod_CFLAGS): Likewise.
14043 (fixvideo_mod_LDFLAGS): Likewise.
14044
af63ada2 140452009-04-08 Felix Zielcke <fzielcke@z-51.de>
14046
14047 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
14048
c2cdde70 140492009-04-07 David S. Miller <davem@davemloft.net>
14050
14051 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
14052 support for R_SPARC_OLO10 relocations. Fix compile warning for
14053 R_SPARC_WDISP30 case.
ea3f72cf 14054 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 14055
761319cf 140562009-04-06 Pavel Roskin <proski@gnu.org>
14057
1007d1f5 14058 * include/grub/misc.h (ARRAY_SIZE): New macro.
14059 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
14060 New macro.
14061 * loader/i386/linux.c (allocate_pages): Use free_pages().
14062 (grub_linux_unload): Don't use free_pages().
14063 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
14064 wrong index. Treat all other modes as text modes.
14065 (grub_cmd_linux): Initialize vid_mode unconditionally to
14066 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
14067
761319cf 14068 * commands/help.c (print_command_help): Use cmd->prio, not
14069 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
14070
ea761d40 140712009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 14072
ea761d40 14073 Parttool
14074
14075 * parttool/pcpart.c: new file
14076 * commands/parttool.c: likewise
14077 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
14078 (parttool_mod_SOURCES): new variable
14079 (parttool_mod_CFLAGS): likewise
14080 (parttool_mod_LDFLAGS): likewise
14081 (pcpart_mod_SOURCES): likewise
14082 (pcpart_mod_CFLAGS): likewise
14083 (pcpart_mod_LDFLAGS): likewise
7dd4a573 14084 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 14085 and parttool/pcpart.c
14086 * conf/i386-efi.rmk: likewise
14087 * conf/i386-ieee1275.rmk: likewise
14088 * conf/i386-pc.rmk: likewise
14089 * conf/powerpc-ieee1275.rmk: likewise
14090 * conf/sparc64-ieee1275.rmk: likewise
14091 * conf/x86_64-ieee1275.rmk: likewise
14092
05aaebfb 140932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 Support for mtime and further expandability of dir command
14096
14097 * include/grub/lib/datetime.h: moved to ...
7dd4a573 14098 * include/grub/datetime.h: ... moved here and added
05aaebfb 14099 declaration of grub_unixtime2datetime. All users updated
7dd4a573 14100 * include/grub/fs.h: new syntax for dir and mtime functions in
14101 struct grub_fs
05aaebfb 14102 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
14103 and GRUB_FSHELP_FLAGS_MASK
14104 * commands/ls.c (grub_ls_list_files): Write mtime in long format
14105 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
14106 (grub_ext2_mtime): new function
14107 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
14108 (grub_hfsplus_mtime): new function
14109 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
14110 (GRUB_UFS_ATTR_FILE): likewise
14111 (GRUB_UFS_ATTR_LNK): likewise
14112 (struct grub_ufs_sblock): new fields mtime
14113 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
14114 all users updated
14115 (grub_ufs_dir): mtime support
14116 (grub_ufs_mtime): new function
14117 * fs/affs.c (grub_affs_dir): use new dir syntax
14118 * fs/afs.c (grub_afs_dir): likewise
14119 * fs/cpio.c (grub_cpio_dir): likewise
14120 * fs/fat.c (grub_fat_find_dir): likewise
14121 * fs/hfs.c (grub_hfs_dir): likewise
14122 * fs/iso9660.c (grub_iso9660_dir): likewise
14123 * fs/jfs.c (grub_jfs_dir): likewise
14124 * fs/minix.c (grub_minix_dir): likewise
14125 * fs/ntfs.c (grub_ntfs_dir): likewise
14126 * fs/reiserfs.c (grub_reiserfs_dir): likewise
14127 * fs/sfs.c (grub_sfs_dir): likewise
14128 * fs/xfs.c (grub_xfs_dir): likewise
14129 * util/hostfs.c (grub_hostfs_dir): likewise
14130 * lib/datetime.c: moved to ...
14131 * normal/datetime.c: ... moved here
14132 (grub_unixtime2datetime): new function
14133 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 14134 * normal/completion.c (iterate_dir): use new dir syntax
14135 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 14136 last modification time of a volume
7dd4a573 14137 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 14138 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 14139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 14140 (normal_mod_SOURCES): likewise
14141 (datetime_mod_SOURCES): Removed lib/datetime.c
14142 * conf/i386-efi.rmk: likewise
7dd4a573 14143 * conf/i386-ieee1275.rmk: likewise
05aaebfb 14144 * conf/i386-pc.rmk: likewise
14145 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 14146 * conf/sparc64-ieee1275.rmk: likewise
14147 * conf/x86_64-efi.rmk: likewise
05aaebfb 14148
8a7e1a14 141492009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 14152
14153 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 14154 on grub_fat_find_dir
14155 (grub_fat_find_dir): use grub_fat_iterate_dir
14156 (grub_fat_label): likewise
14157
04186a9c 141582009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14159
7dd4a573 14160 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 14161 and command.h
14162 remove extraneous kernel_elf_HEADERS
14163
da4c0bb6 141642009-04-04 Bean <bean123ch@gnail.com>
14165
14166 * include/grub/util/misc.h: Add dummy function fsync for mingw.
14167
14168 * util/misc.c: Likewise.
14169
54ad9555 141702009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
14171
14172 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
14173 instead of grub_printf.
14174
7a6bf9f2 141752009-04-03 Robert Millan <rmh@aybabtu.com>
14176
14177 * loader/i386/linux.c (grub_linux_setup_video): Fill
14178 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
14179 values from `mode info' structure instead of hardcoded
14180 values.
14181
3fcc2083 141822009-04-01 Pavel Roskin <proski@gnu.org>
14183
14184 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
14185 unused now.
14186 * genmk.rb: Likewise.
14187 * configure.ac: Likewise.
14188
5ec9740b 141892009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
14190
14191 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
14192 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
14193
5270cec8 141942009-04-01 David S. Miller <davem@davemloft.net>
14195
14196 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 14197 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 14198 (grub_setjmp): Mark with 'returns_twice' attribute.
14199 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
14200 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
14201 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
14202
9c3dd854 142032009-04-01 Robert Millan <rmh@aybabtu.com>
14204
14205 Reapply fix from 2008-07-28 which was accidentally reverted; also
14206 perform the same fix to a similar check in same function.
14207
14208 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14209 with the same number are found, just use issue a warning with
14210 grub_dprintf(), as this error has been reported to be non-fatal.
14211
0d818b7e 142122009-03-31 Pavel Roskin <proski@gnu.org>
14213
14214 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
14215 for cross-compilation.
14216
95646d92 142172009-03-30 Robert Millan <rmh@aybabtu.com>
14218
14219 Fix i386-ieee1275 build.
14220
14221 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
14222 Remove declaration.
14223
6a003ed1 142242009-03-30 Pavel Roskin <proski@gnu.org>
14225
14226 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
14227 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
14228 zero-terminated, rely only on the strlen value. Fix comparison
14229 of strings differing in length.
14230
92f33540 142312009-03-30 Robert Millan <rmh@aybabtu.com>
14232
14233 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
14234 checking for abi version. Improve error messages on BIOS to notify
14235 user about `linux16' command.
14236
a8c48fd5 142372009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14238
f968172e 14239 Leak fixes
a8c48fd5 14240
f968172e 14241 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
14242 in case of collision
14243 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 14244
9c323f09 142452009-03-29 Robert Millan <rmh@aybabtu.com>
14246
14247 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
14248 set `vid_mode' accordingly.
14249 (grub_linux_boot): Process `vid_mode' and set video mode.
14250
ae68f423 142512009-03-29 Robert Millan <rmh@aybabtu.com>
14252
14253 * util/grub.d/10_linux.in (linux_entry): New function.
14254 Factorize generation of Linux boot entries.
14255
5709cfc4 142562009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
14257
14258 Make the format of Environment Block plain text. The boot loader
14259 part is not tested well yet.
7dd4a573 14260
5709cfc4 14261 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
14262 (buffer): Removed.
14263 (envblk): Likewise.
14264 (usage): Remove "info" and "clear". Add "unset". Update the
14265 description of "set", as this does not delete variables any
14266 longer.
14267 (create_envblk_file): Complete rewrite.
14268 (open_envblk_file): Likewise.
14269 (cmd_info): Removed.
14270 (cmd_list): Likewise.
14271 (cmd_set): Likewise.
14272 (cmd_clear): Likewise.
14273 (list_variables): New function.
14274 (write_envblk): Likewise.
14275 (set_variables): Likewise.
14276 (unset_variables): Likewise.
14277 (main): Complete rewrite.
14278
14279 * commands/loadenv.c (buffer): Removed.
14280 (envblk): Likewise.
14281 (open_envblk_file): New function.
14282 (read_envblk_file): Complete rewrite.
14283 (grub_cmd_load_env): Likewise.
14284 (grub_cmd_list_env): Likewise.
14285 (struct blocklist): New struct.
14286 (free_blocklists): New function.
14287 (check_blocklists): Likewise.
14288 (write_blocklists): Likewise.
14289 (grub_cmd_save_env): Complete rewrite.
14290
14291 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14292 a plain text signature.
14293 (GRUB_ENVBLK_MAXLEN): Removed.
14294 (struct grub_envblk): Complete rewrite.
14295 (grub_envblk_find): Removed.
14296 (grub_envblk_insert): Likewise.
14297 (grub_envblk_open): New prototype.
14298 (grub_envblk_set): Likewise.
14299 (grub_envblk_delete): Put const to VALUE.
14300 (grub_envblk_iterate): Put const to NAME and VALUE.
14301 (grub_envblk_close): New prototype.
14302 (grub_envblk_buffer): New inline function.
14303 (grub_envblk_size): Likewise.
14304
14305 * lib/envblk.c: Include grub/mm.h.
14306 (grub_env_find): Removed.
14307 (grub_envblk_open): New function.
14308 (grub_envblk_close): Likewise.
14309 (escaped_value_len): Likewise.
14310 (find_next_line): Likewise.
14311 (grub_envblk_insert): Removed.
14312 (grub_envblk_set): New function.
14313 (grub_envblk_delete): Complete rewrite.
14314 (grub_envblk_iterate): Likewise.
14315
a9368fd3 143162009-03-28 Robert Millan <rmh@aybabtu.com>
14317
14318 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14319 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14320 variables. Use 16-bit loader.
14321 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14322 loader.
14323 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14324 (grub_linux16_boot): ... this. Update all users.
14325 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14326 (grub_linux_boot): ... this. Update all users.
14327
14328 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14329 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14330 commands to `linux16' and `initrd16'.
14331 (GRUB_MOD_FINI(linux)): Rename to ...
14332 (GRUB_MOD_FINI(linux16)): ... this.
14333
e4dd5a7e 143342009-03-24 Pavel Roskin <proski@gnu.org>
14335
14336 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14337 not just for compilation.
14338
c04d6e05 143392009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 Move multiboot helper out of kernel
14342
14343 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14344 `loader/i386/multiboot_helper.S'.
14345 * conf/i386-coreboot.rmk: Likewise
14346 * conf/i386-ieee1275.rmk: Likewise
14347
14348 * kern/i386/loader.S: Move multiboot helpers from here...
14349 * loader/i386/multiboot_helper.S: ...moved here
14350 * include/grub/i386/loader.h: Move declarations of multiboot
14351 helpers from here...
14352 * include/grub/i386/multiboot.h: ...moved here
14353 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14354
42a5b3fc 143552009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14356
14357 * kern/env.c (grub_env_context_open): Added an argument to specify
14358 whether a new context inherits exported variables from current
14359 one. This is useful when making a sandbox to interpret a config
14360 file.
14361 All callers updated.
14362
14363 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14364
b28bbc4e 143652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14366
14367 * kern/env.c (grub_env_context_close): Fix memory leaks.
14368
f04f02e4 143692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14370
14371 * normal/main.c (grub_normal_execute): Added an argument
14372 BATCH to specify if an interactive interface should be provided
14373 after reading a config file.
14374 All callers updated.
14375 (read_command_list): Prevent being executed twice.
14376 (read_fs_list): Likewise.
14377
42a5b3fc 14378 * include/grub/normal.h (grub_normal_execute): Updated the
14379 prototype.
f04f02e4 14380
41473ac2 143812009-03-22 Pavel Roskin <proski@gno.org>
14382
fbc00b0c 14383 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14384 _start.
14385 * kern/i386/pc/startup.S: Likewise.
14386 * kern/i386/efi/startup.S: Likewise.
14387 * kern/i386/ieee1275/startup.S: Likewise.
14388 * kern/i386/coreboot/startup.S: Likewise.
14389 * kern/x86_64/efi/startup.S: Likewise.
14390
41473ac2 14391 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14392 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14393 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14394
2274cc8f 143952009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14398
14399 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14400 limit detection.
14401 Use vaddr of correct segment for entry_point.
14402
b1b797cb 144032009-03-21 Bean <bean123ch@gmail.com>
14404
14405 * commands/blocklist.c: Add include file <grub/command.h>, remove
14406 <grub/normal.h> and <grub/arg.h>.
14407 (grub_cmd_blocklist): Use the new command interface.
14408 (GRUB_MOD_INIT): Likewise.
14409 (GRUB_MOD_FINI): Likewise.
14410 * commands/boot.c: Likewise.
14411 * commands/cat.c: Likewise.
14412 * commands/cmp.c: Likewise.
14413 * commands/configfile.c: Likewise.
14414 * commands/crc.c: Likewise.
14415 * commands/echo.c: Likewise.
14416 * commands/halt.c: Likewise.
14417 * commands/handler.c: Likewise.
14418 * commands/hdparm.c: Likewise.
14419 * commands/help.c: Likewise.
14420 * commands/hexdump.c: Likewise.
14421 * commands/loadenv.c: Likewise.
14422 * commands/ls.c: Likewise.
14423 * commands/lsmmap.c: Likewise.
14424 * commands/lspci.c: Likewise.
14425 * commands/loadenv.c: Likewise.
14426 * commands/read.c: Likewise.
14427 * commands/reboot.c: Likewise.
14428 * commands/search.c: Likewise.
14429 * commands/sleep.c: Likewise.
14430 * commands/test.c: Likewise.
14431 * commands/usbtest.c: Likewise.
14432 * commands/videotest.c: Likewise.
14433 * commands/i386/cpuid.c: Likewise.
14434 * commands/i386/pc/halt.c: Likewise.
14435 * commands/i386/pc/play.c: Likewise.
14436 * commands/i386/pc/pxecmd.c: Likewise.
14437 * commands/i386/pc/vbeinfo.c: Likewise.
14438 * commands/i386/pc/vbetest.c: Likewise.
14439 * commands/ieee1275/suspend.c: Likewise.
14440 * disk/loopback.c: Likewise.
14441 * font/font_cmd.c: Likewise.
14442 * hello/hello.c: Likewise.
14443 * loader/efi/appleloader.c: Likewise.
14444 * loader/efi/chainloader.c: Likewise.
14445 * loader/i386/bsd.c: Likewise.
14446 * loader/i386/efi/linux.c: Likewise.
14447 * loader/i386/ieee1275/linux.c: Likewise.
14448 * loader/i386/linux.c: Likewise.
14449 * loader/i386/pc/chainloader.c: Likewise.
14450 * loader/i386/pc/linux.c: Likewise.
14451 * loader/powerpc/ieee1275/linux.c: Likewise.
14452 * loader/multiboot_loader.c: Likewise.
14453 * term/gfxterm.c: Likewise.
14454 * term/i386/pc/serial.c: Likewise.
14455 * term/terminfo.c: Likewise.
14456
14457 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14458 * term/i386/pc/vga.c: Likewise.
14459 * video/readers/jpeg.c: Likewise.
14460 * video/readers/png.c: Likewise.
14461 * video/readers/tga.c: Likewise.
14462
14463 * util/grub-fstest (cmd_loopback): Removed.
14464 (cmd_blocklist): Likewise.
14465 (cmd_ls): Likewise.
14466 (grub_register_command): Likewise.
14467 (grub_unregister_command): Likewise.
14468 (execute_command): Use grub_command_find to locate command and execute
14469 it.
14470
14471 * include/grub/efi/chainloader.h: Removed.
14472 * loader/efi/chainloader_normal.c: Likewise.
14473 * loader/i386/bsd_normal.c: Likewise.
14474 * loader/i386/pc/chainloader_normal.c: Likewise.
14475 * loader/i386/pc/multiboot_normal.c: Likewise.
14476 * loader/linux_normal.c: Likewise.
14477 * loader/multiboot_loader_normal.c: Likewise.
14478 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14479
14480 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14481 and grub_register_command_p1.
14482
14483 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14484 kern/command.c, lib/arg.c and commands/extcmd.c.
14485 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14486 (minicmd_mod_SOURCES): New variable.
14487 (minicmd_mod_CFLAGS): Likewise.
14488 (minicmd_mod_LDFLAGS): Likewise.
14489 (extcmd_mod_SOURCES): Likewise.
14490 (extcmd_mod_CFLAGS): Likewise.
14491 (extcmd_mod_LDFLAGS): Likewise.
14492 (boot_mod_SOURCES): Removed.
14493 (boot_mod_CFLAGS): Likewise.
14494 (boot_mod_LDFLAGS): Likewise.
14495
14496 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14497 kern/corecmd.c.
14498 (kernel_img_HEADERS): Add command.h.
14499 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14500 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14501 and lib/arg.c.
14502 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14503 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14504 remove the corresponding normal mode command.
14505 (normal_mod_SOURCES): Remove normal/arg.c.
14506 * conf/i386-coreboot.rmk: Likewise.
14507 * conf/i386-efi.rmk: Likewise.
14508 * conf/i386-ieee1275.rmk: Likewise.
14509 * conf/powerpc-ieee1275.rmk: Likewise.
14510 * conf/x86_64-efi.rmk: Likewise.
14511
14512 * include/grub/arg.h: Move from here ...
14513 * include/grub/lib/arg.h: ... to here.
14514
14515 * normal/arg.c: Move from here ...
14516 * lib/arg.c: ... to here.
14517
14518 * commands/extcmd.c: New file.
14519 * commands/minicmd.c: Likewise.
14520 * include/grub/command.h: Likewise.
14521 * include/grub/extcmd.h: Likewise.
14522 * kern/command.c: Likewise.
14523 * kern/corecmd.c: Likewise.
14524
14525 * kern/list.c (grub_list_iterate): Return int instead of void.
14526 (grub_list_insert): New function.
14527 (grub_prio_list_insert): Likewise.
14528
14529 * kern/rescue.c (grub_rescue_command): Removed.
14530 (grub_rescue_command_list): Likewise.
14531 (grub_rescue_register_command): Likewise.
14532 (grub_rescue_unregister_command): Likewise.
14533 (grub_rescue_cmd_boot): Move to minicmd.c
14534 (grub_rescue_cmd_help): Likewise.
14535 (grub_rescue_cmd_info): Likewise.
14536 (grub_rescue_cmd_boot): Likewise.
14537 (grub_rescue_cmd_testload): Likewise.
14538 (grub_rescue_cmd_dump): Likewise.
14539 (grub_rescue_cmd_rmmod): Likewise.
14540 (grub_rescue_cmd_lsmod): Likewise.
14541 (grub_rescue_cmd_exit): Likewise.
14542 (grub_rescue_print_devices): Moved to corecmd.c.
14543 (grub_rescue_print_files): Likewise.
14544 (grub_rescue_cmd_ls): Likewise.
14545 (grub_rescue_cmd_insmod): Likewise.
14546 (grub_rescue_cmd_set): Likewise.
14547 (grub_rescue_cmd_unset): Likewise.
7d074e3c 14548 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 14549 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 14550 commands, remove grub_rescue_register_command calls.
b1b797cb 14551
7d074e3c 14552 * normal/command.c (grub_register_command): Removed.
b1b797cb 14553 (grub_unregister_command): Likewise.
14554 (grub_command_find): Likewise.
14555 (grub_iterate_commands): Likewise.
14556 (rescue_command): Likewise.
14557 (export_command): Moved to corecmd.c.
14558 (set_command): Removed.
14559 (unset_command): Likewise.
14560 (insmod_command): Likewise.
14561 (rmmod_command): Likewise.
14562 (lsmod_command): Likewise.
14563 (grub_command_init): Likewise.
14564
14565 * normal/completion.c (iterate_command): Use cmd->prio to check for
14566 active command.
14567 (complete_arguments): Use grub_extcmd_t structure to find options.
14568 (grub_normal_do_completion): Change function grub_iterate_commands to
14569 grub_command_iterate.
14570
14571 * normal/execute.c (grub_script_execute_cmd): No need to parse
14572 argument here.
14573
14574 * normal/main.c (grub_dyncmd_dispatcher): New function.
14575 (read_command_list): Register unload commands as dyncmd.
14576 (grub_cmd_normal): Use new command interface, register rescue,
14577 unregister normal at entry, register normal, unregister rescue at exit.
14578
14579 * include/grub/list.h (grub_list_test_t): New type.
14580 (grub_list_iterate): Return int instead of void.
14581 (grub_list_insert): New function.
14582 (GRUB_AS_NAMED_LIST_P): New macro.
14583 (GRUB_AS_PRIO_LIST): Likewise.
14584 (GRUB_AS_PRIO_LIST_P): Likewise.
14585 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14586 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14587 (grub_prio_list): New structure.
14588 (grub_prio_list_insert): New function.
14589 (grub_prio_list_remove): New inline function.
14590
14591 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14592 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14593 (GRUB_COMMAND_FLAG_MENU): Likewise.
14594 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14595 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14596 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14597 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14598 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14599 (grub_command): Likewise.
14600 (grub_register_command): Likewise.
14601 (grub_command_find): Likewise.
14602 (grub_iterate_commands): Likewise.
14603 (grub_command_init): Likewise.
14604 (grub_arg_parse): Likewise.
14605 (grub_arg_show_help): Likewise.
14606
14607 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14608 (grub_rescue_unregister_command): Likewise.
14609
14610 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14611 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14612 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14613
14614 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14615 grub_rescue_cmd_initrd.
14616 * include/grub/i386/loader.h: Likewise.
14617 * include/grub/x86_64/loader.h: Likewise.
14618
14619 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14620
1f4147aa 146212009-03-21 Bean <bean123ch@gmail.com>
14622
14623 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14624 instead of stat in mingw environment.
14625
14626 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14627
14628 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14629
14630 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14631 AC_CONFIG_LINKS.
14632
2156d5ba 146332009-03-21 Bean <bean123ch@gmail.com>
14634
14635 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14636 out of range error.
14637
177b82ca 146382009-03-18 Michel Dänzer <michel@daenzer.net>
14639
14640 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14641 checking inode flags for EXT4_EXTENTS_FLAG.
14642
14aad807 146432009-03-18 Robert Millan <rmh@aybabtu.com>
14644
14645 * loader/i386/linux.c: Include `<grub/video.h>' and
14646 `<grub/i386/pc/vbe.h>'..
14647 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14648 (grub_linux32_boot): Attempt to configure video settings with
14649 grub_linux_setup_video().
14650 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14651 to avoid grub_console_fini() which would step out of graphical mode
14652 unconditionally.
14653
8cf83a27 146542009-03-14 Robert Millan <rmh@aybabtu.com>
14655
14656 Fix build on powerpc.
14657 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14658
40164e75 146592009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14662 background image command.
14663
c58bc32a 146642009-03-12 Colin D Bennett <colin@gibibit.com>
14665
14666 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14667 (grub_gfxterm_putchar): Extract pairs of identical calls to
14668 draw_cursor out of conditional blocks.
14669
5415144a 146702009-03-11 Pavel Roskin <proski@gnu.org>
14671
14672 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14673 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14674
6394042e 146752009-03-11 Robert Millan <rmh@aybabtu.com>
14676
14677 * loader/i386/multiboot_elfxx.c
14678 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14679
b7b50e5f 146802009-03-11 Felix Zielcke <fzielcke@z-51.de>
14681
14682 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14683 `kern/handler.c'.
14684
1ca7fc96 146852009-03-11 Robert Millan <rmh@aybabtu.com>
14686
14687 * loader/i386/multiboot.c (code_size): New variable.
14688 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 14689 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 14690 4-byte alignment to MBI and others by increasing
7d074e3c 14691 `boot_loader_name_length' appropriately.
1ca7fc96 14692
14693 * loader/i386/multiboot_elfxx.c
14694 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14695
a83ea1d2 146962009-03-09 Felix Zielcke <fzielcke@z-51.de>
14697
14698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14699 `fs/ext2.c'.
14700
aa9f3bff 147012009-03-08 Robert Millan <rmh@aybabtu.com>
14702
14703 Make loader/i386/linux.c usable on i386-pc again.
14704
14705 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14706 memory to heap.
14707 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14708 `#error' stanza.
14709
d8b3b60e 147102009-03-07 Bean <bean123ch@gmail.com>
14711
14712 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14713 allocation.
14714
b362c9e9 147152009-03-06 Robert Millan <rmh@aybabtu.com>
14716
14717 Fix display issue on terminals with screen size other than 80x25
14718 (e.g. gfxterm with resolution higher than 640x480).
14719
14720 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 14721 position relative to the center of the terminal instead of relying
b362c9e9 14722 on a hardcoded offset.
14723
9304eef1 147242009-03-04 Robert Millan <rmh@aybabtu.com>
14725
14726 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14727 installed.
14728
14729 * Makefile.in (host_kernel): New variable.
14730 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14731 scripts instead of just the windows one.
14732 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14733
eabc95fb 147342009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 14735
14736 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14737 `kern/handler.c'.
14738 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14739 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14744
ceb1223c 147452009-03-04 Felix Zielcke <fzielcke@z-51.de>
14746
14747 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14748 or if there's no space for the disk label and print the partition number on a
14749 invalid magic.
14750
4910684a 147512009-03-04 Felix Zielcke <fzielcke@z-51.de>
14752
14753 * util/misc.c: Include <time.h>.
14754 (grub_millisleep): New function.
14755
7e9ca17a 147562009-03-04 Bean <bean123ch@gmail.com>
14757
14758 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14759 another option -mno-red-zone.
14760
14761 * commands/handler.c: Change module description.
14762
14763 * kern/handler.c: Add missing space at the end of description line.
14764
14765 * kern/list.c: Likewise.
14766
f501677c 147672009-03-03 Robert Millan <rmh@aybabtu.com>
14768
14769 Move more components to the relocation area, and fix mbi pointer
14770 handling to use the destination rather than the origin (thanks to
14771 Vladimir Serbinenko for spotting).
14772
14773 * loader/i386/multiboot.c (mbi_dest): New variable.
14774 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14775 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14776 relocation area.
14777
9902d047 147782009-03-01 Bean <bean123ch@gmail.com>
14779
50fb7002 14780 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 14781 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14782 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14783 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14784
14785 * loader/i386/efi/linux.c (acpi_guid): New variable.
14786 (acpi_guid): Likewise.
14787 (EBDA_SEG_ADDR): New constant.
14788 (LOW_MEM_ADDR): Likewise.
14789 (FAKE_EBDA_SEG): Likewise.
14790 (fake_bios_data): New function.
14791 (grub_linux_boot): Call fake_bios_data.
14792
71b9f361 147932009-03-01 Bean <bean123ch@gmail.com>
14794
14795 * commands/terminal.c: Removed.
14796
14797 * commands/handler.c: New file.
14798
14799 * include/grub/list.h: Likewise.
14800
14801 * include/grub/handler.h: Likewise.
14802
14803 * kern/list.c: Likewise.
14804
14805 * kern/handler.c: Likewise.
14806
14807 * kern/term.h: Include header file <grub/handler.h>.
14808 (grub_term_input): Move next field to the beginning.
14809 (grub_term_output): Likewise.
14810 (grub_term_input_class): New variable.
14811 (grub_term_output_class): Likewise.
14812 (grub_term_register_input): Changed to inline function.
14813 (grub_term_register_output): Likewise.
14814 (grub_term_unregister_input): Likewise.
14815 (grub_term_unregister_output): Likewise.
14816 (grub_term_set_current_input): Likewise.
14817 (grub_term_set_current_output): Likewise.
14818 (grub_term_get_current_input): Likewise.
14819 (grub_term_get_current_output): Likewise.
14820 (grub_term_iterate_input): Removed.
14821 (grub_term_iterate_output): Likewise.
14822
14823 * kern/term.c (grub_term_list_input): Removed.
14824 (grub_term_list_output): Likewise.
14825 (grub_term_input_class): New variable.
14826 (grub_term_output_class): Likewise.
50fb7002 14827 (grub_cur_term_input): Change variable as macro.
71b9f361 14828 (grub_cur_term_output): Likewise.
14829 (grub_term_register_input): Removed.
14830 (grub_term_register_output): Likewise.
14831 (grub_term_unregister_input): Likewise.
14832 (grub_term_unregister_output): Likewise.
14833 (grub_term_set_current_input): Likewise.
14834 (grub_term_set_current_output): Likewise.
14835 (grub_term_iterate_input): Likewise.
14836 (grub_term_iterate_output): Likewise.
14837 (grub_term_get_current_input): Likewise.
14838 (grub_term_get_current_output): Likewise.
14839
14840 * util/grub-editenv.c: Include header file <grub/handler.h>.
14841 (grub_term_get_current_input): Removed.
14842 (grub_term_get_current_output): Likewise.
14843 (grub_term_input_class): New variable.
50fb7002 14844 (grub_term_output_class): Likewise.
71b9f361 14845
14846 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14847 (grub_term_get_current_output): Likewise.
14848 (grub_term_input_class): New variable.
50fb7002 14849 (grub_term_output_class): Likewise.
71b9f361 14850
14851 * util/grub-probe.c (grub_term_get_current_input): Removed.
14852 (grub_term_get_current_output): Likewise.
14853 (grub_term_input_class): New variable.
50fb7002 14854 (grub_term_output_class): Likewise.
71b9f361 14855
14856 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14857 (grub_term_get_current_output): Likewise.
14858 (grub_term_input_class): New variable.
50fb7002 14859 (grub_term_output_class): Likewise.
71b9f361 14860
14861 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14862 (terminal_mod_SOURCES): Likewise.
14863 (terminal_mod_CFLAGS): Likewise.
14864 (terminal_mod_LDFLAGS): Likewise.
14865
14866 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14867 handler.c.
14868 (kernel_img_SOURCES): Add list.c and handler.c.
14869 (kernel_img_HEADERS): Add list.h and handler.h.
14870
14871 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14872 handler.c.
14873 (kernel_mod_SOURCES): Add list.c and handler.c.
14874 (kernel_mod_HEADERS): Add list.h and handler.h.
14875
14876 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14877 handler.c.
14878 (kernel_elf_SOURCES): Add list.c and handler.c.
14879 (kernel_elf_HEADERS): Add list.h and handler.h.
14880
14881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14882 handler.c.
14883 (kernel_elf_SOURCES): Add list.c and handler.c.
14884 (kernel_elf_HEADERS): Add list.h and handler.h.
14885
14886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14887 handler.c.
14888 (kernel_mod_SOURCES): Add list.c and handler.c.
14889 (kernel_mod_HEADERS): Add list.h and handler.h.
14890
14891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14892 handler.c.
14893 (kernel_elf_SOURCES): Add list.c and handler.c.
14894 (kernel_elf_HEADERS): Add list.h and handler.h.
14895
8a31787f 148962009-02-27 Robert Millan <rmh@aybabtu.com>
14897
14898 Factorize elf32 / elf64 code in Multiboot loader. This will
14899 prevent it from getting out of sync again.
14900
14901 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14902 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14903 grub_multiboot_load_elf64): Move from here ...
14904 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14905 grub_multiboot_load_elf): ... to here (new file).
14906
51cd3dfc 149072009-02-27 Robert Millan <rmh@aybabtu.com>
14908
14909 * util/grub.d/10_linux.in: Rename "single-user mode" to
14910 "recovery mode".
14911
6e8c9c3a 149122009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 Don't leak in SCSI code.
14915 * disk/scsi.c (grub_scsi_close): free `scsi'.
14916
4b6bf4f9 149172009-02-27 Robert Millan <rmh@aybabtu.com>
14918
14919 * loader/i386/pc/multiboot.c: Move from here ...
14920 * loader/i386/multiboot.c: ... to here. Update all users.
14921
b9413424 149222009-02-27 Robert Millan <rmh@aybabtu.com>
14923
14924 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14925 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14926
50fb7002 149272009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 14928
14929 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14930 b-tree.
14931
8cc50345 149322009-02-27 Robert Millan <rmh@aybabtu.com>
14933
14934 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14935 `0x' qualifier as 0 when base is specified as parameter).
14936
6e09b8b7 149372009-02-24 Bean <bean123ch@gmail.com>
14938
14939 * configure.ac: Check for -mcmodel=large in x86_64 target.
14940
14941 * include/grub/efi/api.h (efi_call_10): New macro.
14942 (efi_wrap_10): New function.
14943
14944 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14945 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14946 (GRUB_PE32_REL_BASED_LOW): Likewise.
14947 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14948 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14949 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14950 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14951 (GRUB_PE32_REL_BASED_REL): Likewise.
14952 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14953 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14954 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14955
14956 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14957 issue.
14958
14959 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14960 (efi_wrap_10): New function.
14961
14962 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14963
14964 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14965 MB/MBP model (NV chipset).
14966 (devdata_devs): Add devpath_5 to the list.
14967
14968 * load/i386/efi/linux.c (video_base): Remove variable.
14969 (RGB_MASK): New macro.
14970 (RGB_MAGIC): Likewise.
14971 (LINE_MIN): Likewise.
14972 (LINE_MAX): Likewise.
14973 (FBTEST_STEP): Likewise.
14974 (FBTEST_COUNT): Likewise.
14975 (fb_list): New variable.
14976 (grub_find_video_card): Remove function.
14977 (find_framebuf): New function.
14978 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14979 line length.
14980
14981 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14982 problem for x86_64.
14983
74b21bee 149842009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14985
14986 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14987
14988 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14989 coding tool name.
14990
a455f472 149912009-02-22 Robert Millan <rmh@aybabtu.com>
14992
14993 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14994 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14995 in our relocation, instead of using it directly from heap. Also
14996 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14997
6374daf3 149982009-02-21 Robert Millan <rmh@aybabtu.com>
14999
15000 Implement USB keyboard support (based on patch by Marco Gerards)
15001
15002 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
15003 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
15004 (usb_keyboard_mod_LDFLAGS): New variables.
15005
15006 * term/usb_keyboard.c: New file.
15007
8fa4ea70 150082009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 Corrected wrong declaration
15011
15012 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
15013
353976ac 150142009-02-14 Christian Franke <franke@computer.org>
15015
15016 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
15017 (grub_lspci_iter): Print class code and programming interface byte.
15018
6aa1169b 150192009-02-14 Christian Franke <franke@computer.org>
15020
15021 * gendistlist.sh: Ignore `.svn' directories.
15022
265372ca 150232009-02-14 Felix Zielcke <fzielcke@z-51.de>
15024
15025 * fs/fat.c: Add 2009 to Copyright line.
15026
9ff516f3 150272009-02-14 Christian Franke <franke@computer.org>
15028
15029 * commands/hdparm.c: New file. Provides `hdparm' command
15030 which sends ATA commands via grub_disk_ata_pass_through ().
15031
15032 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
15033
15034 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
15035 and <grub/cpu/io.h> to include/grub/ata.h.
15036 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
15037 (GRUB_CDROM_SECTOR_SIZE): Remove.
15038 (GRUB_ATA_*): Move to include/grub/ata.h.
15039 (GRUB_ATAPI_*): Likewise.
15040 (enum grub_ata_commands): Likewise.
15041 (enum grub_ata_timeout_milliseconds): Likewise.
15042 (struct grub_ata_device): Likewise.
15043 (grub_ata_regset): Likewise.
15044 (grub_ata_regget): Likewise.
15045 (grub_ata_regset2): Likewise.
15046 (grub_ata_regget2): Likewise.
15047 (grub_ata_check_ready): Likewise.
15048 (grub_ata_wait_not_busy): Remove static, exported in
15049 include/grub/ata.h.
15050 (grub_ata_wait_drq): Likewise.
15051 (grub_ata_pio_read): Likewise.
15052
15053 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
15054 function for hdparm.mod.
15055
15056 * include/grub/ata.h: New file, contains declarations from
15057 disk/ata.c.
15058 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
15059
15060 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
15061 (grub_disk_ata_pass_through): New exported variable.
15062
15063 * kern/disk.c (grub_disk_ata_pass_through): New variable.
15064
772e23da 150652009-02-13 Colin D Bennett <colin@gibibit.com>
15066
15067 Support multiple fallback entries, and provide an API to support
15068 executing default+fallback menu entries. Renamed the `terminal' menu
15069 viewer to `text'.
15070
15071 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
15072 variable declaration.
15073 (grub_menu_execute_callback): New structure declaration.
15074 (grub_menu_execute_callback_t): New typedef.
15075 (grub_menu_execute_with_fallback): New function declaration.
15076 (grub_menu_get_entry): Likewise.
15077 (grub_menu_get_timeout): Likewise.
15078 (grub_menu_set_timeout): Likewise.
15079
15080 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
15081
15082 * normal/menu.c (grub_wait_after_message): Moved to
15083 `normal/menu_text.c'.
15084 (draw_border): Likewise.
15085 (print_message): Likewise.
15086 (print_entry): Likewise.
15087 (print_entries): Likewise.
15088 (grub_menu_init_page): Likewise.
15089 (get_entry_number): Likewise.
15090 (print_timeout): Likewise.
15091 (run_menu): Likewise.
15092 (grub_menu_execute_entry): Likewise.
15093 (show_text_menu): Likewise.
15094 (get_and_remove_first_entry_number): New function.
15095 (grub_menu_execute_with_fallback): Likewise.
15096 (get_entry): Renamed to ...
15097 (grub_menu_get_entry): .. this and made it global.
15098 (get_timeout): Renamed to ...
15099 (grub_menu_get_timeout): ... this and made it global.
15100 (set_timeout): Renamed to ...
15101 (grub_menu_set_timeout): ... this and made it global.
15102 (grub_normal_terminal_menu_viewer): Renamed to ...
15103 (grub_normal_text_menu_viewer): ... this.
15104
15105 * normal/menu_text.c: New file. Extracted text-menu-specific code
15106 from normal/menu.c.
15107
15108 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
15109 (normal_mod_SOURCES): Likewise.
15110
15111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15112 (normal_mod_SOURCES): Likewise.
15113
15114 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15115 (normal_mod_SOURCES): Likewise.
15116
15117 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
15118 (normal_mod_SOURCES): Likewise.
15119
15120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15121 (normal_mod_SOURCES): Likewise.
15122
15123 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15124 (normal_mod_SOURCES): Likewise.
15125
15126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15127 (normal_mod_SOURCES): Likewise.
15128
16ac430e 151292009-02-11 Robert Millan <rmh@aybabtu.com>
15130
15131 * util/grub.d/00_header.in: Update old reference to `font' command.
15132
06ff20fc 151332009-02-10 Felix Zielcke <fzielcke@z-51.de>
15134
15135 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
15136
15137 Based on patch from Javier Martín.
15138
96da9407 151392009-02-09 Felix Zielcke <fzielcke@z-51.de>
15140
15141 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 15142 to avoid false positives with FAT.
96da9407 15143 (grub_fstest_SOURCES): Likewise.
15144 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15145 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15147 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15149 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15150
6dca6fe4 151512009-02-09 Felix Zielcke <fzielcke@z-51.de>
15152
06ff20fc 15153 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 15154 bpb.version_specific.fat12_or_fat16.fstype and
15155 bpb.version_specific.fat32.fstype.
15156
2550c62f 151572009-02-08 Robert Millan <rmh@aybabtu.com>
15158
be110b30 15159 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 15160
56978920 151612009-02-08 Robert Millan <rmh@aybabtu.com>
15162
15163 * Makefile.in (host_os, host_cpu): New variables.
15164 (target_os): Remove. Update all users.
15165
d64399b5 151662009-02-08 Marco Gerards <marco@gnu.org>
15167
15168 * Makefile.in (enable_grub_emu_usb): New variable.
15169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
15170 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
15171 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
15172 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
15173 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
15174 `usbtest.mod' and `usbms.mod'.
15175 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
15176 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
15177 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
15178 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
15179 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
15180 variables.
15181
15182 * disk/usbms.c: New file.
15183
15184 * include/grub/usb.h: Likewise.
15185
15186 * include/grub/usbtrans.h: Likewise.
15187
15188 * include/grub/usbdesc.h: Likewise.
15189
15190 * bus/usb/usbtrans.c: Likewise.
15191
15192 * bus/usb/ohci.c: Likewise.
15193
15194 * bus/usb/uhci.c: Likewise.
15195
15196 * bus/usb/usbhub.c: Likewise.
15197
15198 * bus/usb/usb.c: Likewise.
15199
15200 * commands/usbtest.c: Likewise.
15201
15202 * util/usb.c: Likewise.
50fb7002 15203
d64399b5 15204 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
15205
15206 * configure.ac: Test for libusb presence.
50fb7002 15207
d64399b5 15208 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
15209
2b40d6bb 152102009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
15211
15212 * kern/mm.c: Add more comments.
15213
73a4ce81 152142009-02-08 Robert Millan <rmh@aybabtu.com>
15215
15216 Patch from Javier Martín.
15217 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
15218 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
15219
f821ce59 152202009-02-08 Robert Millan <rmh@aybabtu.com>
15221
15222 * fs/cpio.c: Split tar functionality to ...
15223 * fs/tar.c: ... here (new file). Update all users.
15224
aebfc4b0 152252009-02-07 Robert Millan <rmh@aybabtu.com>
15226
15227 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
15228 backward-incompatible features.
15229
15230 Based on patch from Javier Martín, with some adjustments.
15231
50fb7002 152322009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 15233
15234 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
15235
0bb5115e 152362009-02-07 Robert Millan <rmh@aybabtu.com>
15237
15238 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
15239 position of `disk/lvm.c' to ensure grub_init_all() always picks it
15240 after the RAID stuff.
15241
38a0f8e7 152422009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
15243
50fb7002 15244 Fixes problem when running vbetest command as reported by
38a0f8e7 15245 Vladimir Serbinenko <phcoder@gmail.com>.
15246
15247 * (grub_vbe_set_video_mode): Fixed problem with text modes.
15248
3143cc1c 152492009-02-04 Felix Zielcke <fzielcke@z-51.de>
15250
15251 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
15252 /dev/md/NpN style mdraid devices.
15253
9cba6fce 152542009-02-03 Felix Zielcke <fzielcke@z-51.de>
15255
15256 * util/unifont2pff.rb: Remove.
15257
e507a2c1 152582009-02-03 Felix Zielcke <fzielcke@z-51.de>
15259
15260 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
15261 `#'.
15262
d2c2b4cd 152632009-02-03 Felix Zielcke <fzielcke@z-51.de>
15264
15265 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
15266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15267 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15271 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15272
b4315fb0 152732009-02-02 Christian Franke <franke@computer.org>
15274
15275 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15276
de3aa260 152772009-02-01 Felix Zielcke <fzielcke@z-51.de>
15278
7c3ff286 15279 * INSTALL: Note that we now require at least autoconf 2.59 and
15280 that LZO is optional.
de3aa260 15281
825a182b 152822009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15283
15284 Base on patch on bug #24154 created by Tomas Tintera
15285 <trosos@seznam.cz>.
15286
15287 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15288
a69ef770 152892009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15290
7c3ff286 15291 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 15292 <bero@arklinux.org>.
15293
15294 * normal/parser.y (script_init): Add missing semicolon.
15295
6fa42fa6 152962009-01-31 Colin D Bennett <colin@gibibit.com>
15297
7c3ff286 15298 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 15299 (free_menu_entry_classes): Added.
15300 (grub_normal_menu_addentry): Added class property handling.
15301 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15302 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15303
15304 * normal/menu_viewer.c: New file.
15305
15306 * normal/menu.c (run_menu_entry): Renamed to ...
15307 (grub_menu_execute_entry): ... this and made it as global.
15308 (grub_menu_run): Renamed to ...
15309 (show_text_menu): ... this and made it local.
15310 (show_text_menu): Adapt to new function names.
15311 (grub_normal_terminal_menu_viewer): New global variable.
15312
15313 * include/grub/menu.h: New file.
15314
15315 * include/grub/menu_viewer.h: New file.
15316
15317 * include/grub/normal.h: Added include to grub/menu.h.
15318 (grub_menu_entry): Moved to include/grub/menu.h.
15319 (grub_menu_entry_t): Likewise.
15320 (grub_menu): Likewise.
15321 (grub_menu_t): Likewise.
15322 (grub_normal_terminal_menu_viewer): Added.
15323 (grub_menu_execute_entry): Likewise.
15324 (grub_menu_run): Removed.
15325
15326 * DISTLIST: Added include/grub/menu.h.
15327 Added include/grub/menu_viewer.h.
15328 Added normal/menu_viewer.c.
15329
153302009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15331
15332 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15333 arglist for menutitle arguments.
15334
15335 * normal/main.c (grub_normal_menu_addentry): Likewise.
15336
15337 * normal/parser.y (menuentry): Likewise.
15338
15339 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15340
15341 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15342 (grub_script_create_cmdmenu): Likewise.
15343
15344 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15345
15346 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15347 changes.
15348
15349 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15350
15351 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15352
15353 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15354
15355 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15356
15357 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15358
15359 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15360
56192c23 153612009-01-30 Christian Franke <franke@computer.org>
15362
15363 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15364 in option help text.
15365
d72521b3 153662009-01-27 Pavel Roskin <proski@gnu.org>
15367
15368 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15369
994b5e84 153702009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15371
15372 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15373
15374 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15375
15376 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15377 unregister function.
15378
6a7eab2c 153792009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15380
15381 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15382
15383 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15384
15385 * util/grub-mkfont.c (usage): Fix typo.
15386
15387 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15388
1806b56e 153892009-01-26 Daniel Mierswa <impulze@impulze.org>
15390
3fb18f09 15391 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15392
336e1fb9 15393 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15394
1806b56e 15395 * kern/misc.c (grub_strcasecmp): New function.
15396 (grub_strcasecmp): Use grub_size_t instead of int for length.
15397 Fix return value.
15398 * include/grub/misc.h: Update function prototypes.
15399
580b2a0f 154002009-01-26 Robert Millan <rmh@aybabtu.com>
15401
15402 * configure.ac: Fix cross-compilation check.
ef257b36 15403
d31c24f1 154042009-01-22 Christian Franke <franke@computer.org>
15405
15406 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15407 (precision) digit string. Allow `.format2' without `format1' (width).
15408 Limit input chars for `%s' output to `format2' if specified. This is
15409 compatible with standard printf ().
15410
3138b44c 154112009-01-22 Christian Franke <franke@computer.org>
15412
15413 * disk/ata.c (grub_ata_wait_status): Replace by ...
15414 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15415 other status bits may be invalid while BSY is asserted.
15416 (grub_ata_check_ready): New function.
15417 (grub_ata_cmd): Removed.
15418 (grub_ata_wait_drq): New function.
15419 (grub_ata_strncpy): Remove inline.
15420 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15421 and error check now done by grub_ata_wait_drq ().
15422 (grub_ata_pio_write): Likewise.
15423 (grub_atapi_identify): Set DEV before check for !BSY. Use
15424 grub_ata_wait_drq () to wait for data.
15425 (grub_ata_device_initialize): Add status register check to
15426 detect missing SATA slave devices. Add debug messages.
15427 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15428 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15429 transfer loop by grub_ata_pio_write ().
15430 (grub_ata_identify): Set DEV before check for !BSY. Use
15431 grub_ata_wait_drq () to wait for data.
ef257b36 15432 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 15433 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15434 read/write in one loop. Fix invalid command on write. Fix incomplete
15435 command on (size % batch) == 0. Add missing error check after write of
15436 last block. Add debug messages.
15437 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15438
59a64ef6 154392009-01-19 Christian Franke <franke@computer.org>
15440
15441 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15442 (GRUB_ATAPI_IREASON_*): Likewise.
15443 (grub_ata_pio_write): Fix timeout error return.
15444 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15445 (grub_atapi_wait_drq): New function.
15446 (grub_atapi_packet): New parameter `size'.
15447 Use grub_atapi_wait_drq () and direct write instead of
15448 grub_ata_pio_write ().
15449 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15450 reads the number of bytes requested by the device for each DRQ
15451 assertion.
15452 (grub_atapi_write): Remove old implementation, return not
15453 implemented instead.
15454
1cfe20b3 154552009-01-19 Christian Franke <franke@computer.org>
15456
15457 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15458 of 512 to calculate data size.
15459 (grub_scsi_read12): Likewise.
15460 (grub_scsi_write10): Likewise.
15461 (grub_scsi_write12): Likewise.
15462 (grub_scsi_read): Adjust size according to blocksize.
15463 Add checks for invalid blocksize and unaligned transfer.
15464
bee5fe5d 154652009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15466
15467 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15468
ef257b36 15469 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 15470 width glyphs.
15471
3e643f8c 154722009-01-19 Robert Millan <rmh@aybabtu.com>
15473
15474 * config.guess: Update to latest version from config git.
15475 * config.sub: Likewise.
15476
4fa80998 154772009-01-17 Felix Zielcke <fzielcke@z-51.de>
15478
15479 * Makefile.in: Change font compilation to use new grub-mkfont instead
15480 of java version.
15481
15482 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15483 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15484 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15485 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15486 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15487 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15488 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15489 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15490 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15491
7086085b 154922009-01-16 Christian Franke <franke@computer.org>
15493
15494 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15495 (enum grub_ata_timeout_milliseconds): New enum.
15496 (grub_ata_wait_status): Add parameter milliseconds.
15497 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15498 recovery from timed-out commands.
15499 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15500 return grub_errno instead of REG_ERROR.
15501 (grub_ata_pio_write): Add parameter milliseconds.
15502 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15503 Pass milliseconds to grub_ata_wait_status () and
15504 grub_ata_pio_read ().
15505 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15506 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15507 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15508 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15509 It is not suitable for device detection, because DEV bit is ignored,
15510 the command may run too long, and not all devices set the signature
15511 properly.
15512 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15513 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15514 Fix device selection, DEV bit must be set first to address the registers
15515 of the correct device.
15516 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15517 grub_ata_pio_read/write ().
15518 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15519 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15520
4a412913 155212009-01-13 Carles Pina i Estany <carles@pina.cat>
15522
15523 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15524
7795c55e 155252009-01-13 Bean <bean123ch@gmail.com>
d913988c 15526
15527 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15528
7795c55e 155292009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 15530
15531 * Makefile.in: (enable_grub_mkfont): New variable.
15532 (freetype_cflags): Likewise.
15533 (freetype_libs): Likewise.
15534
15535 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15536 (grub_mkfont_SOURCES): New variable.
15537 (grub_mkfont_CFLAGS): Likewise.
15538 (grub_mkfont_LDFLAGS): Likewise.
15539
15540 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15541 library if `--enable-grub-mkfont' is requested.
15542 (enable_grub_mkfont): New variable.
15543 (freetype_cflags): Likewise.
15544 (freetype_libs): Likewise.
15545
15546 * util/grub-mkfont.c: New file.
15547
093af1fe 155482009-01-12 Christian Franke <franke@computer.org>
15549
15550 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15551 mode check. Fix setting of compat_use[].
15552
f36cc108 155532009-01-10 Robert Millan <rmh@aybabtu.com>
15554
15555 Update a few copyright years which we forgot to do in 2008 (only for
15556 files whose changes made in 2008 were copyright-significant)
15557
15558 * Makefile.in: Add 2008 to Copyright line.
15559 * disk/ieee1275/ofdisk.c: Likewise.
15560 * disk/efi/efidisk.c: Likewise.
15561 * kern/dl.c: Likewise.
15562 * kern/sparc64/ieee1275/init.c: Likewise.
15563 * kern/mm.c: Likewise.
15564 * kern/efi/mm.c: Likewise.
15565 * boot/i386/pc/boot.S: Likewise.
15566 * genfslist.sh: Likewise.
15567 * fs/iso9660.c: Likewise.
15568 * fs/hfs.c: Likewise.
15569 * fs/jfs.c: Likewise.
15570 * fs/minix.c: Likewise.
15571 * fs/ufs.c: Likewise.
15572 * gensymlist.sh.in: Likewise.
15573 * genkernsyms.sh.in: Likewise.
15574 * include/grub/misc.h: Likewise.
15575 * include/grub/types.h: Likewise.
15576 * include/grub/symbol.h: Likewise.
15577 * include/grub/elf.h: Likewise.
15578 * include/grub/kernel.h: Likewise.
15579 * include/grub/disk.h: Likewise.
15580 * include/grub/dl.h: Likewise.
15581 * include/grub/i386/linux.h: Likewise.
15582 * include/grub/i386/pc/biosdisk.h: Likewise.
15583 * include/grub/efi/api.h: Likewise.
15584 * include/grub/efi/pe32.h: Likewise.
15585 * include/grub/util/misc.h: Likewise.
15586 * normal/execute.c: Likewise.
15587 * normal/arg.c: Likewise.
15588 * normal/completion.c: Likewise.
15589 * normal/lexer.c: Likewise.
15590 * normal/parser.y: Likewise.
15591 * normal/misc.c: Likewise.
15592 * commands/i386/pc/vbeinfo.c: Likewise.
15593 * commands/hexdump.c: Likewise.
15594 * commands/terminal.c: Likewise.
15595 * commands/ls.c: Likewise.
15596 * commands/help.c: Likewise.
15597 * partmap/pc.c: Likewise.
15598 * loader/efi/chainloader.c: Likewise.
15599 * loader/multiboot_loader.c: Likewise.
15600 * loader/i386/pc/multiboot2.c: Likewise.
15601 * term/efi/console.c: Likewise.
15602 * term/i386/pc/serial.c: Likewise.
15603 * util/lvm.c: Likewise.
15604 * util/console.c: Likewise.
15605 * util/i386/efi/grub-mkimage.c: Likewise.
15606 * util/raid.c: Likewise.
15607
7f02114b 156082009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15609
15610 * commands/videotest.c: Removed include to grub/machine/memory.h.
15611
15612 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15613 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15614 (video_mod_SOURCES): Removed.
15615 (video_mod_CFLAGS): Likewise.
15616 (video_mod_LDFLAGS): Likewise.
15617 (gfxterm_mod_SOURCES): Likewise.
15618 (gfxterm_mod_CFLAGS): Likewise.
15619 (gfxterm_mod_LDFLAGS): Likewise.
15620 (videotest_mod_SOURCES): Likewise.
15621 (videotest_mod_CFLAGS): Likewise.
15622 (videotest_mod_LDFLAGS): Likewise.
15623 (bitmap_mod_SOURCES): Likewise.
15624 (bitmap_mod_CFLAGS): Likewise.
15625 (bitmap_mod_LDFLAGS): Likewise.
15626 (tga_mod_SOURCES): Likewise.
15627 (tga_mod_CFLAGS): Likewise.
15628 (tga_mod_LDFLAGS): Likewise.
15629 (jpeg_mod_SOURCES): Likewise.
15630 (jpeg_mod_CFLAGS): Likewise.
15631 (jpeg_mod_LDFLAGS): Likewise.
15632 (png_mod_SOURCES): Likewise.
15633 (png_mod_CFLAGS): Likewise.
15634 (png_mod_LDFLAGS): Likewise.
15635
15636 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15637 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15638 (video_mod_SOURCES): Added.
15639 (video_mod_CFLAGS): Likewise.
15640 (video_mod_LDFLAGS): Likewise.
15641 (videotest_mod_SOURCES): Likewise.
15642 (videotest_mod_CFLAGS): Likewise.
15643 (videotest_mod_LDFLAGS): Likewise.
15644 (bitmap_mod_SOURCES): Likewise.
15645 (bitmap_mod_CFLAGS): Likewise.
15646 (bitmap_mod_LDFLAGS): Likewise.
15647 (tga_mod_SOURCES): Likewise.
15648 (tga_mod_CFLAGS): Likewise.
15649 (tga_mod_LDFLAGS): Likewise.
15650 (jpeg_mod_SOURCES): Likewise.
15651 (jpeg_mod_CFLAGS): Likewise.
15652 (jpeg_mod_LDFLAGS): Likewise.
15653 (png_mod_SOURCES): Likewise.
15654 (png_mod_CFLAGS): Likewise.
15655 (png_mod_LDFLAGS): Likewise.
15656 (gfxterm_mod_SOURCES): Likewise.
15657 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 15658 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 15659
15660 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15661 grub/machine/console.h.
15662
644fff97 156632009-01-04 Jerone Young <jerone@gmail.com>
15664
15665 Make on screen instructions clearer
15666
15667 Based on patch created by Jidanni <jidanni@jidanni.org>
15668
15669 * normal/menu.c: print clearer instructions on the screen
15670
1e901a75 156712009-01-02 Colin D Bennett <colin@gibibit.com>
15672
15673 New font engine.
34c44600 15674
1e901a75 15675 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15676 build system and fixed gfxterm.c to work with different sized fonts.
15677
15678 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 15679
1e901a75 15680 * configure: Re-generated.
34c44600 15681
1e901a75 15682 * DISTLIST: Removed font/manager.c.
15683 Added font/font.c.
15684 Added font/font_cmd.c.
34c44600 15685
1e901a75 15686 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15687 compilation.
34c44600 15688
1e901a75 15689 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 15690
15691 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 15692
15693 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 15694
1e901a75 15695 * normal/menu.c: Likewise.
34c44600 15696
1e901a75 15697 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15698 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 15699
1e901a75 15700 * include/grub/font.h: Replaced with new file.
34c44600 15701
1e901a75 15702 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15703 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15704 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15705 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15706 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 15707 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 15708 fg_red, fg_green, fg_blue, fg_alpha.
15709 (grub_video_adapter): Removed blit_glyph.
34c44600 15710 (grub_video_blit_glyph): Removed.
15711
1e901a75 15712 * font/manager.c: Removed file.
34c44600 15713
15714 * font/font.c: New file.
15715
1e901a75 15716 * font/font_cmd.c: Likewise.
34c44600 15717
1e901a75 15718 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 15719
1e901a75 15720 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15721 (grub_video_vbe_map_rgba): Likewise.
15722 (grub_video_vbe_unmap_color_int): Likewise.
15723 (grub_video_vbe_blit_glyph): Removed.
15724 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 15725
1e901a75 15726 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15727 (get_pixel): Likewise.
34c44600 15728 (set_pixel): Likewise.
15729
1e901a75 15730 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 15731
1e901a75 15732 * term/gfxterm.c: Adapted to new font engine.
34c44600 15733
1e901a75 15734 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 15735
1e901a75 15736 * term/i386/pc/vga.c: Likewise.
34c44600 15737
1e901a75 15738 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 15739
1e901a75 15740 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 15741
1e901a75 15742 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15743
1e901a75 15744 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15745
1e901a75 15746 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 15747
1e901a75 15748 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 15749
1e901a75 15750 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 15751
1e901a75 15752 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 15753
1e901a75 15754 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15755
15756 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 15757
1e901a75 15758 * util/grub-mkconfig_lib.in: Changed font extension.
15759
278922e8 157602008-12-28 Felix Zielcke <fzielcke@z-51.de>
15761
15762 * util/getroot.c (grub_util_get_grub_dev): Add support for
15763 /dev/md/dNNpNN style partitionable mdraid devices.
15764
3ced05cf 157652008-12-12 Alex Smith <alex@alex-smith.me.uk>
15766
15767 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15768 at a time limit of the PXE TFTP API correctly.
15769 (grub_pxefs_close): Likewise.
15770
7fd0ee30 157712008-11-29 Robert Millan <rmh@aybabtu.com>
15772
34c44600 15773 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 15774 grub_ata_device_initialize() calls.
15775
34c44600 157762008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 15777
15778 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15779 iteration failed.
15780 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15781
89313780 157822008-11-28 Robert Millan <rmh@aybabtu.com>
15783
15784 Fix build on powerpc-ieee1275. Based on patch created by
15785 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15786 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15787 `kern/ieee1275/mmap.c'.
15788 * include/grub/powerpc/ieee1275/memory.h: New file.
15789
15257703 15790 Provide grub-install on coreboot.
15791 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15792 (grub_install_SOURCES): New variable.
15793 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15794 usable on coreboot.
15795
9fc5388a 157962008-11-25 Felix Zielcke <fzielcke@z-51.de>
15797
15798 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15799 to `grub_term_input_t'.
15800 (grub_term_get_current_output): Change return type to
15801 `grub_term_output_t'.
15802
bc3a2f31 158032008-11-22 Robert Millan <rmh@aybabtu.com>
15804
34c44600 15805 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 15806 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15807 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15808 grub_vga_text_cls().
15809
80fc88f2 15810 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 15811 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 15812
cbf36fd3 15813 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15814 to 0x200000 (avoids trouble with some OFW implementations, and matches
15815 with the one in Yaboot).
15816 Reported by Manoel Abranches
15817
73e8e268 158182008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 15819
15820 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15821 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15822
73e8e268 15823 * util/grub-mkconfig_lib.in (grub_warn): New function.
15824 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15825 warnings, to obtain consistent formatting.
15826 * util/grub.d/00_header.in: Likewise.
15827 * util/update-grub_lib.in: Likewise.
15828
e94045a1 15829 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 15830 Move comment text to `#error' stanza.
e94045a1 15831
79d29fd7 15832 Harmonize ieee1275's grub_available_iterate() with the generic
15833 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15834 build problem on i386-ieee1275):
15835 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15836 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15837 parameter `type'. Update all users of this function.
15838 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15839 `kern/ieee1275/mmap.c'.
15840 * kern/ieee1275/init.c
15841 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15842 with ...
15843 (grub_machine_mmap_iterate): ... this.
15844 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15845 return type to `grub_err_t'. Update all implementations of this
15846 function prototype.
15847 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15848 Likewise.
15849
60d6b16e 15850 Add `lsmmap' command (lists firmware-provided memory map):
15851 * commands/lsmmap.c: New file.
15852 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15853 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15854 variables.
15855 * conf/powerpc-ieee1275.rmk: Likewise.
15856 * conf/i386-coreboot.rmk: Likewise.
15857 * conf/i386-ieee1275.rmk: Likewise.
15858
ebaaf49b 158592008-11-19 Robert Millan <rmh@aybabtu.com>
15860
15861 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 15862 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15863 constraints to initrd allocation (based on code from
15864 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15865 for Linux to find it.
ebaaf49b 15866
dfab719f 158672008-11-14 Robert Millan <rmh@aybabtu.com>
15868
15869 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15870 order to cope with duplicate slashes.
15871
10fc3eb9 158722008-11-14 Robert Millan <rmh@aybabtu.com>
15873
15874 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15875 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15876 don't want to mess with lower memory, because it is used in the Linux
15877 loader.
15878
15879 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 15880 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 15881 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15882 is in our heap (probably as a result of it being corrupted during
2f2a3442 15883 decompression). Add #error instance with comment to explain why this
15884 loader isn't currently usable on PC/BIOS.
10fc3eb9 15885
e2e07847 158862008-11-14 Robert Millan <rmh@aybabtu.com>
15887
15888 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 15889 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 15890
fe8e8d69 158912008-11-12 Robert Millan <rmh@aybabtu.com>
15892
15893 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15894
15895 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15896 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15897 from here ...
15898 * include/grub/i386/pc/memory.h: ... to here.
15899
976b07d0 159002008-11-12 Robert Millan <rmh@aybabtu.com>
15901
15902 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15903 split).
15904
15905 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15906 (grub_console_cur_color, grub_console_real_putchar)
15907 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15908 (grub_console_setcolorstate, grub_console_setcolor)
15909 (grub_console_getcolor): Move from here ...
15910 * include/grub/i386/vga_common.h: ... to here (new file).
15911
15912 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15913 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15914 `<grub/i386/io.h>'.
15915 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15916 `<grub/i386/vga_common.h>'.
15917
76679cd3 159182008-11-12 Robert Millan <rmh@aybabtu.com>
15919
15920 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15921 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15922 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15923 variables.
15924 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15925 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15926
15927 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15928 grub_console_init() with call to grub_vga_text_init().
15929 (grub_machine_fini): Replace call to
15930 grub_console_fini() with call to grub_vga_text_fini() and
15931 grub_at_keyboard_fini().
15932
15933 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15934 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15935 (grub_console_setcolorstate, grub_console_setcolor)
15936 (grub_console_getcolor): New function prototypes.
15937
15938 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15939 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15940 (grub_vga_text_setcursor): Static-ize.
15941 (grub_vga_text_term): New structure.
15942 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15943
15944 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15945 (grub_console_cur_color, grub_console_standard_color)
15946 (grub_console_normal_color, grub_console_highlight_color)
15947 (map_char, grub_console_putchar, grub_console_getcharwidth)
15948 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15949 (grub_console_getcolor): Move from here ...
15950 * term/i386/vga_common.c: ... to here (same function names).
15951
95b841d3 159522008-11-12 Robert Millan <rmh@aybabtu.com>
15953
15954 Use newly-added Multiboot support in coreboot.
15955
15956 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15957 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15958
15959 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15960 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15961 (codestart): Store the MBI in `startup_multiboot_info' when we're
15962 being loaded using Multiboot.
15963
15964 * kern/i386/coreboot/init.c (grub_machine_init): Move
15965 grub_at_keyboard_init() call to beginning of function (useful for
15966 debugging). Call grub_machine_mmap_init() before attempting to use
15967 grub_machine_mmap_iterate().
15968 (grub_lower_mem, grub_upper_mem): Move from here ...
15969 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15970 here (new file).
15971
15972 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15973 function prototype.
15974
761ca975 159752008-11-12 Robert Millan <rmh@aybabtu.com>
15976
15977 Fix a regression introduced by the at_keyboard.mod split. Because
15978 some terminals are default on some platforms and non-default on
15979 others, the first terminal being registered determines which is
15980 going to be default.
15981
15982 * kern/term.c (grub_term_register_input): If this is the first
15983 terminal being registered, set it as the current one.
15984 (grub_term_register_output): Likewise.
15985
15986 * term/efi/console.c (grub_console_init): Do not call
15987 grub_term_set_current_output() or grub_term_set_current_input().
15988 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15989 * term/i386/pc/console.c (grub_console_init): Likewise.
15990 (grub_console_fini): Do not call grub_term_set_current_input()
15991 (but leave grub_term_set_current_output() to restore text mode).
15992
6c529df7 159932008-11-10 Robert Millan <rmh@aybabtu.com>
15994
15995 * util/grub.d/00_header.in: Add backward compatibility check for
15996 versions of terminal.mod that don't understand `terminal_input' or
15997 `terminal_output'.
15998
132e4113 159992008-11-09 Robert Millan <rmh@aybabtu.com>
16000
16001 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
16002 `terminal_input' / `terminal_output', not `terminal'.
16003
ac293d50 160042008-11-08 Robert Millan <rmh@aybabtu.com>
16005
16006 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 16007 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 16008
0025933a 160092008-11-08 Robert Millan <rmh@aybabtu.com>
16010
16011 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 16012 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 16013 members. Update all users.
16014 * util/console.c (grub_ncurses_term): Split in ...
16015 (grub_ncurses_term_input): ... this, and ...
16016 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 16017 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 16018
37c86336 160192008-11-08 Robert Millan <rmh@aybabtu.com>
16020
16021 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
16022 (PKGDATA): Add $(pkgdata_SRCDIR).
16023 (pkglib_BUILDDIR): New variable.
16024 (pkgdata_SRCDIR): New variable.
16025 (build_env.mk): New target.
16026 (include_DATA): New variable.
16027 (install-local): Install $(include_DATA) files in $(includedir).
16028
b6c15a2d 160292008-11-07 Pavel Roskin <proski@gnu.org>
16030
d99d46f1 16031 * gendistlist.sh: Use C locale for sorting to ensure consistent
16032 output on all systems.
16033
b6c15a2d 16034 * util/grub.d/00_header.in: Remove incorrect space before
16035 "serial".
16036
c32ee8c9 160372008-11-07 Robert Millan <rmh@aybabtu.com>
16038
16039 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
16040 per specification.
16041 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
16042 * loader/multiboot_loader.c (find_multi_boot2_header): New function
16043 (based on find_multi_boot1_header).
16044 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
16045 using find_multi_boot2_header(), and abort if neither Multiboot or
16046 Multiboot headers were found.
16047
651c29b7 160482008-11-07 Robert Millan <rmh@aybabtu.com>
16049
16050 Modularize at_keyboard.mod:
16051
16052 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
16053 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16054 (at_keyboard_mod_LDFLAGS): New variables.
16055
16056 Actual terminal split:
16057
16058 * include/grub/term.h (struct grub_term): Split in ...
16059 (struct grub_term_input): ... this, and ...
16060 (struct grub_term_output): ... this. Update all users.
16061 (grub_term_set_current): Split in ...
16062 (grub_term_set_current_input): ... this, and ...
16063 (grub_term_set_current_output): ... this.
16064 (grub_term_get_current): Split in ...
16065 (grub_term_get_current_input): ... this, and ...
16066 (grub_term_get_current_output): ... this.
16067 (grub_term_register): Split in ...
16068 (grub_term_register_input): ... this, and ...
16069 (grub_term_register_output): ... this.
16070 (grub_term_unregister): Split in ...
16071 (grub_term_unregister_input): ... this, and ...
16072 (grub_term_unregister_output): ... this.
16073 (grub_term_iterate): Split in ...
16074 (grub_term_iterate_input): ... this, and ...
16075 (grub_term_iterate_output): ... this.
16076
16077 * kern/term.c (grub_term_list): Split in ...
16078 (grub_term_list_input): ... this, and ...
16079 (grub_term_list_output): ... this. Update all users.
16080 (grub_cur_term): Split in ...
16081 (grub_cur_term_input): ... this, and ...
16082 (grub_cur_term_output): ... this. Update all users.
16083 (grub_term_set_current): Split in ...
16084 (grub_term_set_current_input): ... this, and ...
16085 (grub_term_set_current_output): ... this.
16086 (grub_term_get_current): Split in ...
16087 (grub_term_get_current_input): ... this, and ...
16088 (grub_term_get_current_output): ... this.
16089 (grub_term_register): Split in ...
16090 (grub_term_register_input): ... this, and ...
16091 (grub_term_register_output): ... this.
16092 (grub_term_unregister): Split in ...
16093 (grub_term_unregister_input): ... this, and ...
16094 (grub_term_unregister_output): ... this.
16095 (grub_term_iterate): Split in ...
16096 (grub_term_iterate_input): ... this, and ...
16097 (grub_term_iterate_output): ... this.
16098
16099 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
16100 a check for input and one for output (and only attempt to get keys
16101 from user when input works).
16102
16103 * util/grub-probe.c (grub_term_get_current): Split in ...
16104 (grub_term_get_current_input): ... this, and ...
16105 (grub_term_get_current_output): ... this.
16106 * util/grub-fstest.c: Likewise.
16107 * util/i386/pc/grub-setup.c: Likewise.
16108 * util/grub-editenv.c: Likewise.
16109
16110 Portability adjustments:
16111
16112 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
16113 `term/i386/pc/at_keyboard.c'.
16114 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
16115 grub_keyboard_controller_init() (now handled by terminal .init).
16116 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
16117 grub_at_keyboard_init().
16118 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
16119 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
16120 at_keyboard.mod via input terminal interface).
16121 * include/grub/i386/coreboot/console.h: Convert into a stub for
16122 `<grub/i386/pc/console.h>'.
16123
16124 Migrate full terminals to new API:
16125
16126 * term/efi/console.c (grub_console_term): Split into ...
16127 (grub_console_term_input): ... this, and ...
16128 (grub_console_term_output): ... this. Update all users.
16129 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
16130 (grub_ofconsole_init): Split into ...
16131 (grub_ofconsole_init_input): ... this, and ...
16132 (grub_ofconsole_init_output): ... this.
16133 (grub_ofconsole_term): Split into ...
16134 (grub_ofconsole_term_input): ... this, and ...
16135 (grub_ofconsole_term_output): ... this. Update all users.
16136 * term/i386/pc/serial.c (grub_serial_term): Split into ...
16137 (grub_serial_term_input): ... this, and ...
16138 (grub_serial_term_output): ... this. Update all users.
16139 * term/i386/pc/console.c (grub_console_term): Split into ...
16140 (grub_console_term_input): ... this, and ...
16141 (grub_console_term_output): ... this. Update all users.
16142 (grub_console_term_input): Only enable it on PC/BIOS platform.
16143 (grub_console_init): Remove grub_keyboard_controller_init() call.
16144
16145 Migrate input terminals to new API:
16146
16147 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
16148 `i386' and `i386/pc' to enable build on x86_64 (this driver is
16149 i386-specific anyway).
16150 (grub_console_checkkey): Rename to ...
16151 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
16152 users.
16153 (grub_keyboard_controller_orig): New variable.
16154 (grub_console_getkey): Rename to ...
16155 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
16156 users.
16157 (grub_keyboard_controller_init): Static-ize. Save original
16158 controller value so that it can be restored ...
16159 (grub_keyboard_controller_fini): ... here (new function).
16160 (grub_at_keyboard_term): New structure.
16161 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
16162 functions.
16163
16164 Migrate output terminals to new API:
16165
16166 * term/i386/pc/vga.c (grub_vga_term): Change type to
16167 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16168 members. Update all users.
16169 * term/gfxterm.c (grub_video_term): Change type to
16170 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16171 members. Update all users.
16172 * include/grub/i386/pc/console.h (grub_console_checkkey)
16173 (grub_console_getkey): Do not export (no longer needed by gfxterm,
16174 etc).
16175
16176 Migrate `terminal' command and userland tools to new API:
16177
16178 * commands/terminal.c (grub_cmd_terminal): Split into ...
16179 (grub_cmd_terminal_input): ... this, and ...
16180 (grub_cmd_terminal_output): ... this.
16181 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
16182 `terminal_input' and `terminal_output'.
16183 * util/grub.d/00_header.in: Adjust `terminal' calls to new
16184 `terminal_input' / `terminal_output' API.
16185 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
16186 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
16187 provided ${GRUB_TERMINAL}, convert it).
16188
96e5d876 161892008-11-04 Robert Millan <rmh@aybabtu.com>
16190
16191 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
16192 for FreeBSD.
16193 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
16194
556f3775 161952008-11-03 Bean <bean123ch@gmail.com>
16196
16197 * kern/elf.c (grub_elf32_load): Revert to previous code.
16198 (grub_elf64_load): Likewise.
16199
16200 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
16201
926b9823 162022008-11-01 Robert Millan <rmh@aybabtu.com>
16203
16204 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
16205 (TARGET_CPPFLAGS): Likewise.
16206 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
16207
1432e958 162082008-11-01 Carles Pina i Estany <carles@pina.cat>
16209
16210 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
16211
dba3f844 162122008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 16213
16214 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
16215 addition of objects until the code is not going to be able to fail.
16216
dba3f844 162172008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 16218
16219 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
16220 (add a missing NULL check, and correct them by moving the pointer
16221 operations after the actual check).
16222
7ab28c21 162232008-10-29 Robert Millan <rmh@aybabtu.com>
16224
16225 * util/i386/pc/grub-install.in: Handle empty string as output from
16226 make_system_path_relative_to_its_root().
16227
1b7748eb 162282008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
16229
16230 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
16231 circular metadata worst case scenario. If the metadata is circular
16232 then copy the wrap in place.
16233 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
16234 project lib/format_text/layout.h
16235 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
16236
c9618ab2 162372008-10-03 Felix Zielcke <fzielcke@z-51.de>
16238
7a36edca 16239 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 16240
bf981c62 162412008-10-03 Felix Zielcke <fzielcke@z-51.de>
16242
16243 * util/update-grub_lib.in: Mention filename in warning message.
16244
6d994591 162452008-09-29 Felix Zielcke <fzielcke@z-51.de>
16246
16247 * NEWS: Update for rename of update-grub to grub-mkconfig.
16248
18ade780 162492008-09-29 Felix Zielcke <fzielcke@z-51.de>
16250
16251 * util/update-grub_lib.in: Copy to ...
16252 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 16253 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 16254 * util/update-grub.in: Rename to ...
16255 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
16256 option. Add `--output' option to allow users to specify the generated
16257 configuration file. Default to stdout.
16258 (update_grub_dir): Rename to ...
16259 (grub_mkconfig_dir): ... this.
16260 (grub_cfg): Default to an empty string.
16261 * conf/common.rmk (update-grub): Rename to ...
16262 (grub-mkconfig): ... this.
16263 (update-grub_lib): Copy to ...
16264 (grub-mkconfig_lib): ... this.
16265 (update-grub_SCRIPTS): Copy to ...
16266 (grub-mkconfig_SCRIPTS): ... this. Update all users.
16267 (update-grub_DATA): Rename to ...
16268 (grub-mkconfig_DATA): ... this.
16269
556ce6ac 162702008-09-28 Robert Millan <rmh@aybabtu.com>
16271
16272 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
16273 to `modified'. Add the real `created' field.
16274 (grub_iso9660_uuid): Use `modified' rather than `created' for
16275 constructing the UUID.
16276
162772008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 16278
16279 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16280 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16281
92274e85 162822008-09-28 Bean <bean123ch@gmail.com>
16283
16284 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16285 Thanks to Christian Franke for finding this bug.
16286
add6f17a 162872008-09-25 Robert Millan <rmh@aybabtu.com>
16288
16289 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16290 instances of grub_util_get_disk_name() (see previous commit).
16291
d2a367b8 162922008-09-25 Robert Millan <rmh@aybabtu.com>
16293
16294 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16295 `util/i386/get_disk_name.c'.
16296 * conf/i386-efi.rmk: Likewise.
16297 * conf/x86_64-efi.rmk: Likewise.
16298 * conf/i386-coreboot.rmk: Likewise.
16299 * conf/i386-ieee1275.rmk: Likewise.
16300 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16301 `util/ieee1275/get_disk_name.c'.
16302 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16303 * util/ieee1275/get_disk_name.c: Remove file.
16304 * util/i386/get_disk_name.c: Remove file.
16305 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16306 "hd%d" for device.map entries, rather than using
16307 grub_util_get_disk_name().
16308
81a06771 163092008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 16310
16311 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16312 warning.
16313 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16314
5a004279 163152008-09-24 Carles Pina i Estany <carles@pina.cat>
16316
16317 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16318 Changed to 0x5100.
16319 (GRUB_TERM_PPAGE): Changed to 0x4900.
16320
397093d3 163212008-09-24 Robert Millan <rmh@aybabtu.com>
16322
16323 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16324 macros (they were i386-pc specific).
16325 * include/grub/sparc64/ieee1275/console.h: Likewise.
16326 * include/grub/efi/console.h: Likewise.
16327
a91b6c7c 163282008-09-22 Bean <bean123ch@gmail.com>
16329
16330 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16331 resident and in attribute list.
16332
16333 * include/grub/ntfs.h (BMP_LEN): Removed.
16334
c40fd116 163352008-09-22 Bean <bean123ch@gmail.com>
16336
81a06771 16337 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 16338 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16339
16340 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16341 error occurs, as grub_disk_open will call grub_disk_close, which will
16342 call p->close (scsi).
16343
81a06771 163442008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 16345
16346 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16347 (AC_PREREQ): Bumped to 2.59.
16348 (AC_TRY_COMPILE): Replace obsolete macro with ...
16349 (AC_COMPILE_IFELSE): ... this.
16350 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16351 (AC_LINK_IFELSE): ... this.
16352
5dc43410 163532008-09-21 Felix Zielcke <fzielcke@z-51.de>
16354
16355 * autogen.sh: Add a call to `gendistlist.sh'.
16356
9035dce4 163572008-09-19 Christian Franke <franke@computer.org>
16358
16359 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16360 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16361 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16362 Export __enable_execute_stack() to modules.
16363 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16364 New function.
16365
7fd75377 163662008-09-09 Felix Zielcke <fzielcke@z-51.de>
16367
040030b3 16368 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16369 Sort the list.
16370
163712008-09-09 Felix Zielcke <fzielcke@z-51.de>
16372
16373 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 16374 #include <grub/util/hostdisk.h>.
16375
89d5ffcf 163762008-09-08 Robert Millan <rmh@aybabtu.com>
16377
16378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16379 segments when their filesz is zero (grub_file_read() interprets
81a06771 16380 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 16381 Use `lowest_segment' rather than 0 for calculating the current
16382 segment load address.
16383
40da438f 163842008-09-08 Robert Millan <rmh@aybabtu.com>
16385
16386 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16387 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16388 clobbered useful information.
16389
ddbf5556 163902008-09-08 Robert Millan <rmh@aybabtu.com>
16391
16392 * include/grub/util/biosdisk.h: Move to ...
16393 * include/grub/util/hostdisk.h: ... here. Update all users.
16394 * util/biosdisk.c: Move to ...
16395 * util/hostdisk.c: ... here. Update all users.
16396
783d0f48 163972008-09-07 Robert Millan <rmh@aybabtu.com>
16398
16399 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16400 variables.
16401 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16402 and length can be stored directly in the `mbi->mmap_addr' and
16403 `mbi->mmap_length' struct fields.
16404
548e2ea5 164052008-09-07 Robert Millan <rmh@aybabtu.com>
16406
16407 * conf/i386.rmk: New file. Provides declaration for building
16408 `cpuid.mod'.
16409 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16410 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16411 variables.
16412 Include `conf/i386.mk'.
16413 * conf/i386-efi.rmk: Likewise.
16414 * conf/x86_64-efi.rmk: Likewise.
16415 * conf/i386-coreboot.rmk: Likewise.
16416 * conf/i386-ieee1275.rmk: Likewise.
16417
0ea85a37 164182008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16419
16420 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16421 Adds optimization support for BGR based modes.
16422
16423 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16424 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16425 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16426 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16427 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16428 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16429 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16430 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16431 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16432 (grub_video_i386_vbeblit_index_index): Likewise.
16433 (grub_video_i386_vbeblit_replace_directN): Added.
16434 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16435 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16436 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16437 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16438 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16439 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 16440 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 16441 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16442 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16443 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16444 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16445 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16446 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16447
16448 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16449 (grub_video_i386_vbefill_R8G8B8): Likewise.
16450 (grub_video_i386_vbefill_index): Likewise.
16451 (grub_video_i386_vbefill_direct32): Added.
16452 (grub_video_i386_vbefill_direct24): Likewise.
16453 (grub_video_i386_vbefill_direct16): Likewise.
16454 (grub_video_i386_vbefill_direct8): Likewise.
16455
81a06771 16456 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 16457 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16458 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16459 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16460 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16461 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 16462
0ea85a37 16463 * video/video.c (grub_video_get_blit_format): Updated to use new
16464 blit formats. Added handling for 16 bit color modes.
81a06771 16465
16466 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 16467 fillers.
16468 (common_blitter): Updated to use new blitters.
16469
16470 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16471 Removed.
16472 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16473 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16475 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16476 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16477 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16478 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16479 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16480 (grub_video_i386_vbeblit_index_index): Likewise.
16481 (grub_video_i386_vbeblit_replace_directN): Added.
16482 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16483 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16484 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16485 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16486 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16487 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16488 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16489 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16490 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16491 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16492 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16493 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16494 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 16495
0ea85a37 16496 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16497 (grub_video_i386_vbefill_R8G8B8): Likewise.
16498 (grub_video_i386_vbefill_index): Likewise.
16499 (grub_video_i386_vbefill_direct32): Added.
16500 (grub_video_i386_vbefill_direct24): Likewise.
16501 (grub_video_i386_vbefill_direct16): Likewise.
16502 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 16503
0ea85a37 16504 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16505 types.
81a06771 16506
0ea85a37 16507 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16508 types.
81a06771 16509
0ea85a37 16510 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16511 blitter types.
81a06771 16512
0ea85a37 16513 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16514 types.
16515
e8a83df6 165162008-09-06 Felix Zielcke <fzielcke@z-51.de>
16517
16518 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16519 RAID level 1.
16520
6bcd8ee5 165212008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 16522
6bcd8ee5 16523 * fs/iso9660.c (grub_iso9660_date): New structure.
16524 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16525 (grub_iso9660_uuid): New function.
c375ae58 16526
59261157 165272008-09-05 Bean <bean123ch@gmail.com>
16528
16529 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16530
16531 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16532 insensitive bit for names in Win32 and Win32 & DOS namespace.
16533
16534 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16535
16536 * include/grub/types.h (LONG_MAX): Likewise.
16537
58b6645a 165382008-09-04 Felix Zielcke <fzielcke@z-51.de>
16539
4ee55921 16540 * util/getroot.c: Include <config.h>.
16541 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16542 add support for /dev/md/N devices and handle LVM double dash escaping.
16543
165442008-09-04 Felix Zielcke <fzielcke@z-51.de>
16545
16546 * config.guess: Update to latest version from config git.
16547 * config.sub: Likewise.
58b6645a 16548
9124f65d 165492008-09-03 Robert Millan <rmh@aybabtu.com>
16550
16551 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16552 `disk->total_sectors'.
16553
81a06771 165542008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 16555
16556 * include/grub/normal.h: Fixed incorrect comment for
16557 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16558
81a06771 165592008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 16560
16561 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16562 values with defines.
16563
16564 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16565 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16566 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16567 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16568 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16569 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16570 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16571 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16572 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16573 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16574 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16575 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16576 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16577 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16578 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16579 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16580 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16581 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16582 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16583
93d5cbf8 165842008-08-31 Robert Millan <rmh@aybabtu.com>
16585
16586 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16587 declaration.
16588 (grub_multiboot): Fix a few warnings.
16589
21751d50 165902008-08-31 Robert Millan <rmh@aybabtu.com>
16591
16592 * loader/i386/pc/multiboot.c: Update comment not to say that
16593 boot_device support is unimplemented.
16594
e27a75c5 165952008-08-31 Robert Millan <rmh@aybabtu.com>
16596
16597 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16598 or memory map support are unimplemented.
16599
81a06771 166002008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 16601
16602 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16603
81a06771 166042008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 16605
16606 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16607 total video memory in 'vbeinfo' output; show color format details for
16608 each video mode.
16609
7c5d8d95 166102008-08-30 Pavel Roskin <proski@gnu.org>
16611
16612 * util/genmoddep.c: Remove for real this time.
16613 * DISTLIST: Remove util/genmoddep.c.
16614
4cebd25a 166152008-08-30 Robert Millan <rmh@aybabtu.com>
16616
16617 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16618 as required by Multiboot spec (it was already 4-byte aligned, but
16619 only by chance).
16620
b497a269 166212008-08-29 Pavel Roskin <proski@gnu.org>
16622
e3925185 16623 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16624 * kern/powerpc/ieee1275/startup.S: ... this.
16625 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16626 * DISTLIST: Likewise.
16627
b497a269 16628 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16629 grub/cpu/kernel.h. Add start label for consistency with other
16630 platforms. Add grub_prefix immediately after start. Add jump
16631 to the code after grub_prefix.
16632 * include/grub/powerpc/kernel.h: Provide valid values for
16633 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16634
6e5a42fe 166352008-08-29 Bean <bean123ch@gmail.com>
16636
16637 * configure.ac: Change host_os to cygwin for mingw.
16638 (asprintf): New check for function.
16639
16640 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16641 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16642
16643 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 16644 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 16645 sync, sleep and grub_util_get_disk_size for mingw.
16646
16647 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16648 to get size in mingw.
16649 (open_device): Use flag O_BINARY if it's defined.
16650 (find_root_device): Add dummy code for mingw.
16651
16652 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16653 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16654 (get_scsi_disk_name): Return 0 for mingw.
16655
16656 * util/hostfs.c: #include <grub/util/misc.h>.
16657 (grub_hostfs_open): Use "rb" flag to open file, use
16658 grub_util_get_disk_size to get disk size for mingw.
16659
16660 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16661 (asprintf): New function if HAVE_ASPRINTF is not set.
16662 (sync): New function for mingw.
16663 (sleep): Likewise.
16664 (grub_util_get_disk_size): Likewise.
16665
ab3f2673 166662008-08-28 Pavel Roskin <proski@gnu.org>
16667
16668 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16669 kern/time.c.
16670
1c282483 166712008-08-28 Robert Millan <rmh@aybabtu.com>
16672
16673 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16674
678e849c 166752008-08-28 Robert Millan <rmh@aybabtu.com>
16676
16677 Change find_grub_drive() syntax so it doesn't prevent it from
16678 detecting NULL names as errors.
16679
16680 * util/biosdisk.c (find_grub_drive): Move free slot search code
16681 from here ...
16682 (find_free_slot): ... to here.
16683 (read_device_map): Use find_free_slot() to search for free slots.
16684
965c75ca 166852008-08-27 Marco Gerards <marco@gnu.org>
16686
16687 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16688 (scsi_mod_SOURCES): New variable.
16689 (scsi_mod_CFLAGS): Likewise
16690 (scsi_mod_LDFLAGS): Likewise.
16691
16692 * disk/scsi.c: New file.
16693
16694 * include/grub/scsi.h: Likewise.
16695
16696 * include/grub/scsicmd.h: Likewise.
16697
16698 * disk/ata.c: Include <grub/scsi.h>.
16699 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16700 instead.
16701 (grub_ata_iterate): Skip ATAPI devices.
16702 (grub_ata_open): Only handle ATAPI devices.
16703 (struct grub_atapi_read): Removed.
16704 (grub_atapi_readsector): Likewise.
16705 (grub_ata_read): No longer handle ATAPI devices.
16706 (grub_ata_write): Likewise.
16707 (grub_atapi_iterate): New function.
16708 (grub_atapi_read): Likewise.
16709 (grub_atapi_write): Likewise.
16710 (grub_atapi_open): Likewise.
16711 (grub_atapi_close): Likewise.
16712 (grub_atapi_dev): New variable.
16713 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16714 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16715
16716 * include/grub/disk.h (enum grub_disk_dev_id): Add
16717 `GRUB_DISK_DEVICE_SCSI_ID'.
16718
c07ae501 167192008-08-26 Robert Millan <rmh@aybabtu.com>
16720
16721 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16722 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16723 descriptive.
16724
5ed20adc 167252008-08-23 Bean <bean123ch@gmail.com>
16726
16727 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16728 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16729 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16730 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16731 dm_nv.mod.
16732 (raid5rec_mod_SOURCES): New macro.
16733 (raid5rec_mod_CFLAGS): Likewise.
16734 (raid5rec_mod_LDFLAGS): Likewise.
16735 (raid6rec_mod_SOURCES): Likewise.
16736 (raid6rec_mod_CFLAGS): Likewise.
16737 (raid6rec_mod_LDFLAGS): Likewise.
16738 (mdraid_mod_SOURCES): Likewise.
16739 (mdraid_mod_CFLAGS): Likewise.
16740 (mdraid_mod_LDFLAGS): Likewise.
16741 (dm_nv_mod_SOURCES): Likewise.
16742 (dm_nv_mod_CFLAGS): Likewise.
16743 (dm_nv_mod_LDFLAGS): Likewise.
16744
16745 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16746 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16747 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16748
16749 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16750 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16751
16752 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16753
16754 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16755
16756 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16757
16758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16759
16760 * disk/raid5_recover.c: New file.
16761
16762 * disk/raid6_recover.c: Likewise.
16763
16764 * disk/mdraid_linux.c: Likewise.
16765
16766 * disk/dmraid_nvidia.c: Likewise.
16767
16768 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16769 ULONG_MAX.
16770
16771 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16772 calculate the size of raid device.
16773 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16774 different layout of raid5.
16775 (grub_raid_scan_device): Remove code specific to mdraid.
16776 (grub_raid_list): New variable.
16777 (free_array): New function.
16778 (grub_raid_register): Likewise.
16779 (grub_raid_unregister): Likewise.
16780 (grub_raid_rescan): Likewise.
16781 (GRUB_MOD_INIT): Don't iterate device here.
16782 (GRUB_MOD_FINI): Use free_array to release resource.
16783
16784 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16785 (grub_raid5_recover_func_t): New function variable type.
16786 (grub_raid6_recover_func_t): Likewise.
16787 (grub_raid5_recover_func): New variable.
16788 (grub_raid6_recover_func): Likewise.
16789 (grub_raid_register): New function.
16790 (grub_raid_unregister): Likewise.
16791 (grub_raid_rescan): Likewise.
16792 (grub_raid_block_xor): Likewise.
16793
16794 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16795 (CMD_CRC): New macro.
16796 (part): Removed.
16797 (read_file): Handle device as well as file.
16798 (cmd_crc): New function.
16799 (fstest): Handle multiple disks.
16800 (options): Remove part, raw and long, add root and diskcount.
16801 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 16802 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 16803 add handling for the new options, support multiple disks.
16804
16805 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16806
29c18915 168072008-08-23 Bean <bean123ch@gmail.com>
16808
16809 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16810
16811 * genfslist.sh: Ignore kernel.mod.
16812
16813 * genpartmaplist.sh: Likewise.
16814
8415f261 168152008-08-23 Robert Millan <rmh@aybabtu.com>
16816
16817 * util/getroot.c (find_root_device): Skip anything that starts with
16818 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16819
d5a7dc5b 168202008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 16821
d5a7dc5b 16822 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16823 * util/grub.d/00_header.in: Allow the administrator to change default
16824 gfxmode via ${GRUB_GFXMODE}.
16825
380cfbb4 168262008-08-21 Felix Zielcke <fzielcke@z-51.de>
16827
16828 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16829
c9baafe7 168302008-08-21 Robert Millan <rmh@aybabtu.com>
16831
16832 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16833 loader.
16834 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16835 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16836
e290bef2 168372008-08-20 Carles Pina i Estany <carles@pina.cat>
16838
16839 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16840 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16841
f9dbfc96 168422008-08-19 Robert Millan <rmh@aybabtu.com>
16843
16844 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16845 (struct grub_virtual_screen): Remove `cursor_color'.
16846 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16847 initialization.
16848 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16849
dd6bd6ab 168502008-08-18 Robert Millan <rmh@aybabtu.com>
16851
16852 Unify (identical) linux_normal.c files.
16853 * loader/i386/efi/linux_normal.c: Move from here ...
16854 * loader/linux_normal.c: ... to here. Update all users.
16855 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16856 * loader/i386/ieee1275/linux_normal.c: Likewise.
16857
7f42f83e 168582008-08-18 Robert Millan <rmh@aybabtu.com>
16859
16860 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16861 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16862 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16863 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16864 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16865 New macros.
16866 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16867 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16868 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16869 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16870 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16871 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16872 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16873 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16874 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16875 portably using grub_getxy().
16876 Replace `-EFI' with `-bzImage' in boot message.
16877
38487ddb 168782008-08-17 Robert Millan <rmh@aybabtu.com>
16879
16880 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16881
deceb3ec 168822008-08-17 Robert Millan <rmh@aybabtu.com>
16883
16884 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16885
16886 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16887 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16888 (grub_machine_mmap_iterate): New function declaration.
16889 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16890 structure.
16891 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16892 macros.
16893
16894 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16895 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16896 Move e820 parsing from here ...
16897 * kern/i386/pc/mmap.c: New file.
16898 (grub_machine_mmap_iterate): ... to here.
16899
16900 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16901 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16902 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16903 (grub_available_iterate): Redeclare to return `void', and redeclare
16904 its hook to use grub_uint64_t as addr and size parameters, and rename
16905 to ...
16906 (grub_machine_mmap_iterate): ... this. Update all users.
16907
16908 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16909 to make it more readable. Rename to ...
16910 (grub_machine_mmap_iterate): ... this.
16911
16912 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16913 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16914 (grub_multiboot): Allocate an extra region after the payload, and fill
16915 it with a Multiboot memory map. Adjust a.out loader to calculate size
16916 with the extra space.
16917 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16918 with the extra space.
16919
f8aa0f43 169202008-08-17 Carles Pina i Estany <carles@pina.cat>
16921
9807deb9 16922 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 16923
605f5bb6 169242008-08-17 Felix Zielcke <fzielcke@z-51.de>
16925
16926 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16927 mdate-sh to the list `find' searches for.
16928 * DISTLIST: Regenerated.
16929
210db6c6 169302008-08-16 Felix Zielcke <fzielcke@z-51.de>
16931
16932 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16933 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 16934 genmoddep.awk, gensymlist.sh.in.
16935 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 16936 * DISTLIST: Regenerated.
48cdbfd4 16937 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 16938
1082b929 169392008-08-16 Robert Millan <rmh@aybabtu.com>
16940
16941 * disk/raid.c (grub_raid_init): Handle/report errors set by
16942 grub_device_iterate().
16943 * disk/lvm.c (grub_lvm_init): Likewise.
16944
42ce5170 169452008-08-15 Bean <bean123ch@gmail.com>
16946
16947 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16948 and datehook.mod.
16949 (datetime_mod_SOURCES): New macro.
16950 (datetime_mod_CFLAGS): Likewise.
16951 (datetime_mod_LDFLAGS): Likewise.
16952 (date_mod_SOURCES): Likewise.
16953 (date_mod_CFLAGS): Likewise.
16954 (date_mod_LDFLAGS): Likewise.
16955 (datehook_mod_SOURCES): Likewise.
16956 (datehook_mod_CFLAGS): Likewise.
16957 (datehook_mod_LDFLAGS): Likewise.
16958
16959 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16960 and datehook.mod.
16961 (datetime_mod_SOURCES): New macro.
16962 (datetime_mod_CFLAGS): Likewise.
16963 (datetime_mod_LDFLAGS): Likewise.
16964 (date_mod_SOURCES): Likewise.
16965 (date_mod_CFLAGS): Likewise.
16966 (date_mod_LDFLAGS): Likewise.
16967 (datehook_mod_SOURCES): Likewise.
16968 (datehook_mod_CFLAGS): Likewise.
16969 (datehook_mod_LDFLAGS): Likewise.
16970
16971 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16972 and datehook.mod.
16973 (datetime_mod_SOURCES): New macro.
16974 (datetime_mod_CFLAGS): Likewise.
16975 (datetime_mod_LDFLAGS): Likewise.
16976 (date_mod_SOURCES): Likewise.
16977 (date_mod_CFLAGS): Likewise.
16978 (date_mod_LDFLAGS): Likewise.
16979 (datehook_mod_SOURCES): Likewise.
16980 (datehook_mod_CFLAGS): Likewise.
16981 (datehook_mod_LDFLAGS): Likewise.
16982
16983 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16984 and datehook.mod.
16985 (datetime_mod_SOURCES): New macro.
16986 (datetime_mod_CFLAGS): Likewise.
16987 (datetime_mod_LDFLAGS): Likewise.
16988 (date_mod_SOURCES): Likewise.
16989 (date_mod_CFLAGS): Likewise.
16990 (date_mod_LDFLAGS): Likewise.
16991 (datehook_mod_SOURCES): Likewise.
16992 (datehook_mod_CFLAGS): Likewise.
16993 (datehook_mod_LDFLAGS): Likewise.
16994
16995 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16996 and datehook.mod.
16997 (datetime_mod_SOURCES): New macro.
16998 (datetime_mod_CFLAGS): Likewise.
16999 (datetime_mod_LDFLAGS): Likewise.
17000 (date_mod_SOURCES): Likewise.
17001 (date_mod_CFLAGS): Likewise.
17002 (date_mod_LDFLAGS): Likewise.
17003 (datehook_mod_SOURCES): Likewise.
17004 (datehook_mod_CFLAGS): Likewise.
17005 (datehook_mod_LDFLAGS): Likewise.
17006
17007 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
17008
17009 * commands/date.c: New file.
17010
17011 * hook/datehook.c: Likewise.
17012
17013 * include/grub/lib/datetime.h: Likewise.
17014
17015 * include/grub/i386/cmos.h: Likewise.
17016
17017 * lib/datetime.c: Likewise.
17018
17019 * lib/i386/datetime.c: Likewise.
17020
17021 * lib/efi/datetime.c: Likewise.
17022
0e9242da 170232008-08-14 Robert Millan <rmh@aybabtu.com>
17024
17025 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
17026 (grub_mkelfimage_SOURCES): New variable.
17027 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
17028
17029 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
17030 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
17031 * conf/powerpc-ieee1275.rmk: Likewise.
17032 * conf/i386-ieee1275.rmk: Likewise.
17033
17034 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
17035 * kern/i386/coreboot/init.c: Likewise.
17036
17037 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
17038 with `<grub/cpu/kernel.h>'.
17039 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
17040 to ...
17041 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
17042 * kern/i386/coreboot/startup.S: Likewise.
17043
17044 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
17045 (GRUB_MOD_GAP): Remove.
17046 * include/grub/powerpc/kernel.h: New file.
17047 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
17048 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17049 * include/grub/i386/kernel.h: New file.
17050 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
17051 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
17052 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17053
17054 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
17055 `grub-mkelfimage'.
17056 Use --directory when invoking grub_mkimage.
17057
17058 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
17059 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
17060 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
17061 and GRUB_KERNEL_CPU_PREFIX.
17062
b86408f8 170632008-08-14 Felix Zielcke <fzielcke@z-51.de>
17064
d5e619ca 17065 * include/grub/err.h (grub_err_printf): New function prototype.
17066 * util/misc.c (grub_err_printf): New function.
17067 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
17068 grub_printf.
17069 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 17070
7161f0e0 170712008-08-13 Robert Millan <rmh@aybabtu.com>
17072
17073 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
17074
a1967522 170752008-08-13 Robert Millan <rmh@aybabtu.com>
17076
17077 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
17078 boot entry.
17079
371458b5 170802008-08-12 Robert Millan <rmh@aybabtu.com>
17081
17082 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
17083 of the relocation code from here ...
17084 (grub_multiboot): ... to here.
17085 (forward_relocator, backward_relocator): Move from here ...
17086 * kern/i386/loader.S (grub_multiboot_forward_relocator)
17087 (grub_multiboot_backward_relocator): ... to here.
17088 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
17089 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
17090 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
17091 (grub_multiboot_forward_relocator_end)
17092 (grub_multiboot_backward_relocator)
17093 (grub_multiboot_backward_relocator_end): New variables.
17094
05f9452b 170952008-08-12 Bean <bean123ch@gmail.com>
17096
17097 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
17098
20024ab0 170992008-08-11 Robert Millan <rmh@aybabtu.com>
17100
17101 * kern/i386/linuxbios/startup.S: Move from here ...
17102 * kern/i386/coreboot/startup.S: ... to here.
17103
17104 * kern/i386/linuxbios/init.c: Move from here ...
17105 * kern/i386/coreboot/init.c: ... to here.
17106
17107 * kern/i386/linuxbios/table.c: Move from here ...
17108 * kern/i386/coreboot/mmap.c: ... to here.
17109
17110 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
17111
e352e9cd 171122008-08-11 Robert Millan <rmh@aybabtu.com>
17113
17114 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
17115 errors. Leave it to the upper layer to handle them.
17116
2d05bc6a 171172008-08-09 Christian Franke <franke@computer.org>
17118
17119 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
17120 * conf/common.rmk: Install `grub-pe2elf' only if requested.
17121 Install `grub.d/10_windows' only on Cygwin.
17122 * configure.ac: Add subst of `target_os'.
17123 Check `target_os' also before setting TARGET_OBJ2ELF.
17124 Add `--enable-grub-pe2elf'.
17125
042bd419 171262008-08-08 Robert Millan <rmh@aybabtu.com>
17127
17128 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17129 (grub_last_time): Change type to grub_uint64_t.
17130 (grub_disk_open): Migrate code from to using grub_get_time_ms().
17131 (grub_disk_close): Likewise.
17132
17133 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17134 (run_menu): Migrate code from to using grub_get_time_ms().
17135
17136 * util/misc.c (grub_get_time_ms): New function.
17137
7f280db5 171382008-08-08 Marco Gerards <marco@gnu.org>
17139
17140 * disk/ata.c (grub_ata_regget): Change return type to
17141 `grub_uint8_t'.
17142 (grub_ata_regget2): Likewise.
17143 (grub_ata_wait_status): New function.
17144 (grub_ata_wait_busy): Removed function, updated all users to use
17145 `grub_ata_wait_status'.
17146 (grub_ata_wait_drq): Likewise.
17147 (grub_ata_cmd): New function.
17148 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
17149 error handling.
17150 (grub_ata_pio_write): Add error handling.
17151 (grub_atapi_identify): Likewise.
17152 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
17153 handling.
17154 (grub_ata_identify): Use `grub_ata_cmd' and improve error
17155 handling. Actually use the detected registers. Reorder the
17156 detection logic such that it is easier to read.
17157 (grub_ata_pciinit): Do not assign the same ID to each controller.
17158 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
17159 handling.
17160 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
17161
17162 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
17163
1fbc5e66 171642008-08-08 Marco Gerards <marco@gnu.org>
17165
17166 * NEWS: Update.
17167
819ce6c0 171682008-08-07 Bean <bean123ch@gmail.com>
17169
17170 * include/grub/x86_64/pci.h: New file.
17171
5c41d44d 171722008-08-07 Christian Franke <franke@computer.org>
17173
17174 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
17175 (TIMER2_GATE): Likewise.
17176 (grub_pit_wait): Add enable/disable of the timer2 gate
17177 bit of port 0x61. This fixes a possible infinite loop.
17178
5ebc275d 171792008-08-07 Bean <bean123ch@gmail.com>
17180
17181 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
17182 kern/i386/tsc.c and kern/i386/pit.c.
17183
17184 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
17185 x86_64 platform.
17186
17187 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
17188 <grub/i386/tsc.h>.
17189
17190 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
17191
e383b3d0 171922008-08-07 Bean <bean123ch@gmail.com>
17193
17194 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
17195
17196 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
17197
17198 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
17199 multiple inclusion. Add #include <grub/types.h>.
17200
1cbb58ac 172012008-08-06 Christian Franke <franke@computer.org>
17202
17203 * conf/common.rmk: Build and install `10_windows'.
17204 * util/grub.d/10_windows.in: New script.
17205
337f5a1e 172062008-08-06 Pavel Roskin <proski@gnu.org>
17207
17208 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
17209
057bc4ac 172102008-08-06 Robert Millan <rmh@aybabtu.com>
17211
17212 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
17213 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
17214
2b99f123 172152008-08-06 Bean <bean123ch@gmail.com>
17216
17217 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
17218 (grub_pxefs_fs_int): Remove dummy definition.
17219 (grub_pxefs_open): Use data->block_size to store the current block
17220 size setting.
17221 (grub_pxefs_read): Use block size stored in data->block_size. As the
17222 value of grub_pxe_blksize can be changed after the file is opened.
17223
9f0234cb 172242008-08-06 Bean <bean123ch@gmail.com>
17225
17226 * fs/i386/pc/pxe.c (curr_file): new variable.
17227 (grub_pxefs_open): Simply the handling of pxe file system. Don't
17228 require the dummy internal file system anymore.
17229 (grub_pxefs_read): Removed.
17230 (grub_pxefs_close): Likewise.
17231 (grub_pxefs_fs_int): Likewise.
17232 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
17233 connection when we switch file.
17234 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
17235
a55d42e0 172362008-08-06 Robert Millan <rmh@aybabtu.com>
17237
17238 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
17239 `halt.mod'.
17240 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
17241 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
17242
17243 * kern/i386/halt.c: New file.
17244 * kern/i386/reboot.c: Likewise.
17245 * include/grub/i386/reboot.h: Likewise.
17246 * include/grub/i386/halt.h: Likewise.
17247
17248 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
17249 Include `<grub/cpu/halt.h>'.
17250 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
17251 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
17252
17253 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
17254 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
17255 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
17256 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
17257 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
17258 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
17259 from here ...
17260 * include/grub/i386/at_keyboard.h: ... to here.
17261
24371d26 172622008-08-05 Robert Millan <rmh@aybabtu.com>
17263
17264 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
17265 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
17266 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
17267 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17268 `kern/generic/millisleep.c'.
17269
17270 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
17271 instead of grub_get_rtc().
17272 (grub_tsc_init): Initialize `tsc_boot_time'.
17273
17274 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
17275 (grub_machine_init): Use grub_tsc_init() rather than
17276 installing an RTC-based handler via grub_install_get_time_ms().
17277
17278 * kern/i386/pit.c: New file.
17279 * include/grub/i386/pit.h: Likewise.
17280
9e7007b3 172812008-08-05 Bean <bean123ch@gmail.com>
17282
17283 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17284
17285 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17286 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17287 (pxe_mod_SOURCES): New macro.
17288 (pxe_mod_CFLAGS): Likewise.
17289 (pxe_mod_LDFLAGS): Likewise.
17290 (pxecmd_mod_SOURCES): Likewise.
17291 (pxecmd_mod_CFLAGS): Likewise.
17292 (pxecmd_mod_LDFLAGS): Likewise.
17293
17294 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17295 (grub_pxe_call): Likewise.
17296
17297 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17298
17299 * commands/i386/pc/pxecmd.c: New file.
17300
9f0234cb 17301 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 17302
17303 * include/grub/i386/pc/pxe.h: Likewise.
17304
6977d49f 173052008-08-05 Bean <bean123ch@gmail.com>
17306
17307 * util/console.c (grub_console_cur_color): New variable.
17308 (grub_console_standard_color): Likewise.
17309 (grub_console_normal_color): Likewise.
17310 (grub_console_highlight_color): Likewise.
17311 (color_map): Likewise.
17312 (use_color): Likewise.
17313 (NUM_COLORS): New macro.
17314 (grub_ncurses_setcolorstate): Handle color properly.
17315 (grub_ncurses_setcolor): Don't change color here, just remember the
17316 settings, color will be set in grub_ncurses_setcolorstate.
17317 (grub_ncurses_getcolor): New function.
17318 (grub_ncurses_init): Initialize color pairs.
17319 (grub_ncurses_term): New member grub_ncurses_getcolor.
17320
9c2ff3ee 173212008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 17322
9c2ff3ee 17323 High resolution timer support. Implemented for x86 CPUs using TSC.
17324 Extracted generic grub_millisleep() so it's linked in only as needed.
17325 This requires a Pentium compatible CPU; if the RDTSC instruction is
17326 not supported, then it falls back on the generic grub_get_time_ms()
17327 implementation that uses the machine's RTC.
17328
17329 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17330 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17331 `kern/generic/millisleep.c'.
17332
17333 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17334 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17335
17336 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17337 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17338
17339 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17340
17341 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17342 `kern/generic/millisleep.c'.
17343
17344 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17345
17346 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17347
17348 * kern/generic/rtc_get_time_ms.c: New file.
17349
17350 * kern/generic/millisleep.c: New file.
337f5a1e 17351
9c2ff3ee 17352 * kern/misc.c: Don't include
17353 <kern/time.h> anymore.
17354 (grub_millisleep_generic): Removed.
17355
17356 * commands/sleep.c (grub_interruptible_millisleep): Uses
17357 grub_get_time_ms() instead of grub_get_rtc().
17358
17359 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17360 function.
17361 (grub_cpu_is_cpuid_supported): New inline function.
17362 (grub_cpu_is_tsc_supported): New inline function.
17363 (grub_tsc_init): New function prototype.
17364 (grub_tsc_get_time_ms): New function prototype.
17365
17366 * kern/i386/tsc.c (grub_get_time_ms): New file.
17367
17368 * include/grub/time.h: Include <grub/types.h.
17369 (grub_millisleep_generic): Removed.
17370 (grub_get_time_ms): New prototype.
17371 (grub_install_get_time_ms): New prototype.
17372 (grub_rtc_get_time_ms): New prototype.
17373
17374 * kern/time.c (grub_get_time_ms): New function.
17375 (grub_install_get_time_ms): New function.
17376
17377 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17378 <grub/time.h> anymore.
17379 (grub_millisleep): Removed.
17380 (grub_machine_init): Call grub_tsc_init.
17381
17382 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17383 get_time_ms() implementation.
17384
17385 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17386 (ieee1275_get_time_ms): New function.
17387 (grub_machine_init): Install get_time_ms() implementation.
17388
17389 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17390 (grub_machine_init): Call grub_tsc_init().
17391 (grub_millisleep): Removed.
bf06a93f 17392
9c2ff3ee 17393 * kern/ieee1275/init.c (grub_millisleep): Removed.
17394 (grub_machine_init): Install ieee1275_get_time_ms()
17395 implementation.
17396 (ieee1275_get_time_ms): New function.
17397 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17398 real work.
17399
9ec92aaf 174002008-08-05 Marco Gerards <marco@gnu.org>
17401
17402 * disk/ata.c: Include <grub/pci.h>.
17403 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17404 (grub_ata_initialize): Rewritten.
17405 (grub_ata_device_initialize): New function.
17406
8d23f507 174072008-08-04 Pavel Roskin <proski@gnu.org>
17408
17409 * kern/main.c: Include grub/mm.h.
17410
5e15ee3d 174112008-08-04 Robert Millan <rmh@aybabtu.com>
17412
17413 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17414 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17415 corruption problem).
17416
a9053f8f 174172008-08-04 Robert Millan <rmh@aybabtu.com>
17418
17419 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17420 warnings introduced in my last commit.
17421
dd19c7d7 174222008-08-03 Robert Millan <rmh@aybabtu.com>
17423
17424 Make PCI available on all i386 architectures.
17425
17426 * include/grub/i386/pc/pci.h: Move from here ...
17427 * include/grub/i386/pci.h: ... to here.
17428
17429 * include/grub/i386/pc/pci.h: Remove.
17430 * include/grub/i386/efi/pci.h: Remove.
17431 * include/grub/x86_64/efi/pci.h: Remove.
17432
17433 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17434 `<grub/cpu/pci.h>'.
17435
17436 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17437 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17438 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17439
17440 * conf/i386-ieee1275.rmk: Likewise.
17441
e14a6184 174422008-08-03 Robert Millan <rmh@aybabtu.com>
17443
17444 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17445 (grub_console_setcursor): Make it possible to set cursor off.
17446
52768e37 174472008-08-03 Robert Millan <rmh@aybabtu.com>
17448
17449 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17450 of modules instead of assuming which platform provides what.
17451 * util/update-grub.in: Likewise.
17452
2d52f57f 174532008-08-03 Robert Millan <rmh@aybabtu.com>
17454
17455 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17456 instead of `grub_install_dos_part' to determine whether a drive needs
17457 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 17458 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 17459
2a5cd121 174602008-08-02 Robert Millan <rmh@aybabtu.com>
17461
17462 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17463
93808428 174642008-08-02 Robert Millan <rmh@aybabtu.com>
17465
17466 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17467 of informational grub_dprintf() calls.
17468
3bd0a12a 174692008-08-02 Robert Millan <rmh@aybabtu.com>
17470
17471 * disk/memdisk.c (memdisk_size): Don't initialize.
17472 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17473
17474 * include/grub/i386/pc/kernel.h
17475 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17476 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17477 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17478 (grub_arch_memdisk_size): Remove.
17479
17480 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17481 field (was only used to transfer a constant). Add `type' field to
17482 support multiple module types.
17483 (grub_module_iterate): New function.
17484
17485 * kern/device.c (grub_device_open): Do not hide error messages
17486 when grub_disk_open() fails. Use grub_print_error() instead.
17487
17488 * kern/i386/pc/init.c (grub_arch_modules_addr)
17489 (grub_arch_memdisk_size): Remove functions.
17490 (grub_arch_modules_addr): Return the module address in high memory
17491 (now that it isn't copied anymore).
17492
17493 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17494 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17495 decompression routine (grub_total_module_size already includes that
17496 now). Don't copy modules back to low memory.
17497
17498 * kern/main.c: Include `<grub/mm.h>'.
17499 (grub_load_modules): Split out (and use) ...
17500 (grub_module_iterate): ... this function, which iterates through
17501 module objects and runs a hook.
17502 Comment out grub_mm_init_region() call, as it would cause non-ELF
17503 modules to be overwritten.
17504
17505 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17506 the memdisk image in its own region, make it part of the module list.
17507 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17508 (main): Parse --memdisk|-m option, and pass user-provided path as
17509 parameter to generate_image().
17510 (add_segments): Pass `memdisk_path' down to load_modules().
17511 (load_modules): Embed memdisk image in module section when requested.
17512 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17513 `header.type' instead of `header.offset'.
17514
17515 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17516 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17517 (memdisk_mod_LDFLAGS): New variables.
17518 * conf/i386-coreboot.rmk: Likewise.
17519 * conf/i386-ieee1275.rmk: Likewise.
17520
a927cc73 175212008-08-02 Robert Millan <rmh@aybabtu.com>
17522
17523 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17524 (backward_relocator): New variables. Used to allocate and relocate
17525 the payload, respectively.
17526 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 17527 address, install the appropriate relocator code in each bound of
a927cc73 17528 the payload, and set the entry point such that
17529 grub_multiboot_real_boot() will jump to one of them.
17530
17531 * kern/i386/loader.S (grub_multiboot_payload_size)
17532 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17533 (grub_multiboot_payload_entry_offset): New variables.
17534 (grub_multiboot_real_boot): Set cpu context to what the relocator
17535 expects, and jump to the relocator instead of the payload.
17536
17537 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17538 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17539 (grub_multiboot_payload_entry_offset): Export.
17540
b15d8a0c 175412008-08-01 Bean <bean123ch@gmail.com>
17542
17543 * normal/menu_entry.c (editor_getline): Don't return the original
17544 string as result, as it will be released by lexer once it has done
17545 using it.
17546
cdfb3d22 175472008-08-01 Robert Millan <rmh@aybabtu.com>
17548
17549 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17550 within menuentries, not before them.
17551 util/grub.d/10_hurd.in: Likewise.
17552
9175e93d 175532008-08-01 Bean <bean123ch@gmail.com>
17554
17555 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17556 (bufio_mod_SOURCES): New macro.
17557 (bufio_mod_CFLAGS): Likewise.
17558 (bufio_mod_LDFLAGS): Likewise.
17559
17560 * include/grub/bufio.h: New file.
17561
17562 * io/bufio.c: Likewise.
17563
17564 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17565 (grub_video_reader_png): Use grub_buffile_open to open file.
17566
17567 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17568 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17569
17570 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17571 (grub_video_reader_tga): Use grub_buffile_open to open file.
17572
17573 * font/manager.c: Include <grub/bufio.h>.
17574 (add_font): Use grub_buffile_open to open file.
17575
3d8383e7 175762008-07-31 Robert Millan <rmh@aybabtu.com>
17577
17578 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17579 ELF segments, use a macro for arbitrarily accessing any of them instead
17580 of preparing a pointer that allows access to one at a time.
17581 (grub_multiboot_load_elf64): Likewise.
17582
16e641b6 175832008-07-31 Bean <bean123ch@gmail.com>
17584
17585 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17586 GRUB_KERNEL_MACHINE_DATA_END.
17587
59198b72 175882008-07-30 Robert Millan <rmh@aybabtu.com>
17589
17590 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17591 Increase from 0x50 to 0x60.
17592 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17593 use UUIDs to identify the root drive for them. If that's not
17594 possible, abort.
17595 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17596 check, for cross-disk installs.
17597
ae88bca3 175982008-07-30 Robert Millan <rmh@aybabtu.com>
17599
17600 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17601 is non-empty, use it to set the `prefix' environment variable instead
17602 of the usual approach.
17603 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17604 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17605 environment variable instead of dummy make_install_device().
17606
17607 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17608 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 17609 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 17610
17611 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17612 New variable reference.
17613 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17614 New macro. Defines offset of `grub_prefix' within startup.S (relative
17615 to `start').
17616 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17617 section within startup.S (relative to `start').
17618 * include/grub/i386/coreboot/kernel.h: Likewise.
17619
17620 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17621 Overwrite grub_prefix with its contents, at the beginning of the
17622 first segment.
17623 (main): Understand -p|--prefix.
17624
14f41dd1 176252008-07-30 Robert Millan <rmh@aybabtu.com>
17626
17627 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17628
4ca049a3 176292008-07-30 Robert Millan <rmh@aybabtu.com>
17630
17631 * term/i386/pc/vga_text.c (grub_console_cls): Use
17632 grub_console_gotoxy() to go back to beginning of the screen.
17633 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17634
2921d337 176352008-07-29 Christian Franke <franke@computer.org>
17636
17637 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17638 Add conversion of emulated mount points on Cygwin.
17639
b609876d 176402008-07-29 Christian Franke <franke@computer.org>
17641
17642 * util/update-grub.in: Add a check for admin
17643 group on Cygwin.
17644 Remove old `grub.cfg.new' before creation.
17645 Add `-f' to `mv' to handle the different filesystem
17646 semantics of Windows.
17647
e93e4679 176482008-07-29 Bean <bean123ch@gmail.com>
17649
17650 * normal/main.c (get_line): Fix buffer overflow bug.
17651
41694fd0 176522008-07-28 Robert Millan <rmh@aybabtu.com>
17653
17654 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17655 (struct grub_apple_header): New struct. Describes the layout of
17656 the partmap header.
17657 (apple_partition_map_iterate): Check the header magic as well as the
17658 partition magic (which was already being checked).
17659
cfd0b4e6 176602008-07-28 Pavel Roskin <proski@gnu.org>
17661
17662 * genmk.rb: Add a warning to the beginning of the output that
17663 it's a generated file and should not be edited.
17664
93cce016 176652008-07-28 Robert Millan <rmh@aybabtu.com>
17666
17667 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17668 with the same number are found, just use issue a warning with
17669 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 17670
cd1df915 176712008-07-27 Robert Millan <rmh@aybabtu.com>
17672
17673 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17674 information.
17675
b70a8427 176762008-07-27 Bean <bean123ch@gmail.com>
17677
17678 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17679 (grub_fat_find_dir): Ignore case when comparing filename.
17680
8f5e379f 176812008-07-27 Bean <bean123ch@gmail.com>
17682
17683 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17684 smallino, as it's more descriptive, and i8count can be confused with
17685 the other field count.
17686 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17687 inode type.
17688
a85cd5a0 176892008-07-27 Bean <bean123ch@gmail.com>
17690
17691 * commands/crc.c: New file.
17692
17693 * lib/crc.c: Likewise.
17694
17695 * include/grub/lib/crc.h: Likewise.
17696
17697 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17698
17699 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17700 (hexdump): Move this function to ...
17701
17702 * lib/hexdump.c: ... here.
17703
17704 * include/grub/hexdump.h: Renamed to ...
17705
17706 * include/grub/lib/hexdump.h: ... this.
17707
17708 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17709
17710 * util/grub-editenv.c: Likewise.
17711
17712 * include/envblk.h: Renamed to ...
17713
17714 * include/lib/envblk.h: ... this.
17715
17716 * util/envblk.c: Renamed to ...
17717
17718 * lib/envblk.c: ... this.
17719
17720 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17721 lib/hexdump.c.
17722 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17723 (pkglib_MODULES): Add crc.mod.
17724 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17725 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17726 (crc_mod_SOURCES): New macro.
17727 (crc_mod_CFLAGS): Likewise.
17728 (crc_mod_LDFLAGS): Likewise.
17729
17730 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17731
17732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17733
17734 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17735
17736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17737
17738 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17739
c298def0 177402008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 17741
17742 * commands/help.c: Include <grub/term.h>.
17743 (TERM_WIDTH): Removed. Updated all users.
17744
cc349fb3 177452008-07-27 Pavel Roskin <proski@gnu.org>
17746
17747 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17748 spurious warnings about a comment within a comment.
17749
9051607e 177502008-07-25 Robert Millan <rmh@aybabtu.com>
17751
17752 * util/getroot.c (find_root_device): Skip devices that match
17753 /dev/dm-[0-9]. This lets the real device be found for any type of
17754 abstraction (LVM, EVMS, RAID..).
17755 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17756 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17757 device is found first, find_root_device() will now skip it.
17758
01453bfc 177592008-07-24 Pavel Roskin <proski@gnu.org>
17760
17761 * include/grub/types.h: Use __builtin_bswap32() and
17762 __builtin_bswap64() with gcc 4.3 and newer.
17763
6af9849f 177642008-07-24 Christian Franke <franke@computer.org>
17765
3a0fa256 17766 * util/i386/pc/grub-install.in: If `--debug' is specified,
17767 pass `--verbose' to grub-setup.
17768 Abort script if make_system_path_relative_to_its_root() fails.
17769
7810e747 177702008-07-24 Bean <bean123ch@gmail.com>
17771
17772 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17773 variable `target_platform' should be `platform'.
17774
42290e17 177752008-07-24 Bean <bean123ch@gmail.com>
17776
51cc5193 17777 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 17778 (grub_png_init_fixed_block): New function.
17779 (grub_png_decode_image_data): Handle fixed huffman code compression.
17780
2a8a80e4 177812008-07-24 Bean <bean123ch@gmail.com>
17782
17783 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17784 (grub_pe2elf_SOURCES): New macro.
17785 (CLEANFILES): Add grub-pe2elf.
17786
17787 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17788 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17789 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17790 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17791 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17792 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17793 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17794 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17795 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17796 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17797 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17798 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17799 (GRUB_PE32_DT_FUNCTION): Likewise.
17800 (GRUB_PE32_REL_I386_DIR32): Likewise.
17801 (GRUB_PE32_REL_I386_REL32): Likewise.
17802 (grub_pe32_symbol): New structure.
17803 (grub_pe32_reloc): Likewise.
17804
17805 * util/grub-pe2elf.c: New file.
17806
17807 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17808 start symbol in non pc platform.
17809
17810 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17811
17812 The following patches are from Christian Franke.
17813
17814 * include/grub/dl.h: Remove .previous, gas supports this only
17815 for ELF format.
17816
17817 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17818 Remove .type, gas supports this only for ELF format.
17819
17820 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17821 nullbytes in symbol table. This fixes an infinite loop if table is
17822 zero filled.
17823
17824 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17825 TARGET_IMG_LDFLAGS and EXEEXT.
17826
17827 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17828 TARGET_IMG_LDFLAGS_AC.
17829 (grub_CHECK_STACK_ARG_PROBE): New function.
17830
17831 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17832
17833 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17834
17835 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17836 to set TARGET_IMG_LD* accordingly.
17837 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17838 Add call to grub_CHECK_STACK_ARG_PROBE.
17839 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17840
17841 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17842
17843 * genmk.rb: Add EXEEXT to CLEANFILES.
17844
12ccdb75 178452008-07-23 Robert Millan <rmh@aybabtu.com>
17846
17847 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17848 define the codes for arrows and lines used for the menu).
17849 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17850 as well.
17851
17852 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17853 fonts, because the latter are too slow.
17854
18eeaf04 178552008-07-21 Bean <bean123ch@gmail.com>
17856
17857 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17858 a20. Run keyboard test last, as it will cause macbook to halt.
17859
b095e2ad 178602008-07-18 Pavel Roskin <proski@gnu.org>
17861
17862 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17863 load foreign architecture modules correctly anyway. Keep
17864 support for loading host architecture modules, whether we
17865 compile them or not.
17866
737feb35 178672008-07-17 Pavel Roskin <proski@gnu.org>
17868
3f4ce737 17869 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17870 change target_cpu. The compiler default can mismatch target_cpu
17871 in any case.
17872
4ad2d049 17873 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17874 * kern/efi/efi.c: Likewise.
17875
f6130a12 17876 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17877 target compiler is functional.
17878 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17879 are set up.
17880
58393a2d 17881 * configure.ac: Default to efi platform for x86_64-apple. Allow
17882 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17883 adjustments from the rest, only do them if target is not
17884 explicitly given. Merge other adjustments with the final sanity
17885 check. Remove an extraneous check for supported CPU. Be
17886 specific which CPU and which platform is not supported.
17887
737feb35 17888 * configure.ac: Default to pc platform for x86_64.
17889
546f966a 178902008-07-17 Robert Millan <rmh@aybabtu.com>
17891
17892 Partial LinuxBIOS -> Coreboot rename.
17893
17894 * conf/i386-linuxbios.rmk: Renamed to ...
17895 * conf/i386-coreboot.rmk: ... this.
17896 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17897 * configure.ac: Accept "coreboot" as input platform (but maintain
17898 compatibility with "linuxbios").
17899 * include/grub/i386/linuxbios: Renamed to ...
17900 * include/grub/i386/coreboot: ... this.
17901
20011694 179022008-07-17 Bean <bean123ch@gmail.com>
17903
17904 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 17905 (appleldr_mod_SOURCE): New variable.
20011694 17906 (appleldr_mod_CFLAGS): Likewise.
17907 (appleldr_mod_LDFLAGS): Likewise.
17908 (pci_mod_SOURCES): Likewise.
17909 (pci_mod_CFLAGS): Likewise.
17910 (pci_mod_LDFLAGS): Likewise.
17911 (lspci_mod_SOURCES): Likewise.
17912 (lspci_mod_CFLAGS): Likewise.
17913 (lspci_mod_LDFLAGS): Likewise.
17914
17915 * conf/x86_64-efi.rmk: New file.
17916
17917 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17918 macro.
17919 (grub_efidisk_write): Likewise.
17920
17921 * include/efi/api.h (efi_call_0): New macro.
17922 (efi_call_1): Likewise.
17923 (efi_call_2): Likewise.
17924 (efi_call_3): Likewise.
17925 (efi_call_4): Likewise.
17926 (efi_call_5): Likewise.
17927 (efi_call_6): Likewise.
17928
17929 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17930 grub_rescue_cmd_chainloader.
17931
17932 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17933 (grub_pe32_optional_header): Change some fields based on i386 or
17934 x86_64 platform.
17935 (GRUB_PE32_PE32_MAGIC): Likewise.
17936
17937 * include/grub/efi/uga_draw.h: New file.
17938
17939 * include/grub/elf.h (STN_ABS): New constant.
17940 (R_X86_64_NONE): Relocation constant for x86_64.
17941 (R_X86_64_64): Likewise.
17942 (R_X86_64_PC32): Likewise.
17943 (R_X86_64_GOT32): Likewise.
17944 (R_X86_64_PLT32): Likewise.
17945 (R_X86_64_COPY): Likewise.
17946 (R_X86_64_GLOB_DAT): Likewise.
17947 (R_X86_64_JUMP_SLOT): Likewise.
17948 (R_X86_64_RELATIVE): Likewise.
17949 (R_X86_64_GOTPCREL): Likewise.
17950 (R_X86_64_32): Likewise.
17951 (R_X86_64_32S): Likewise.
17952 (R_X86_64_16): Likewise.
17953 (R_X86_64_PC16): Likewise.
17954 (R_X86_64_8): Likewise.
17955 (R_X86_64_PC8): Likewise.
17956
17957 * include/grub/i386/efi/pci.h: New file.
17958
17959 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17960 Change it value based on platform.
17961 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17962 (GRUB_E820_RAM): Likewise.
17963 (GRUB_E820_RESERVED): Likewise.
17964 (GRUB_E820_ACPI): Likewise.
17965 (GRUB_E820_NVS): Likewise.
17966 (GRUB_E820_EXEC_CODE): Likewise.
17967 (GRUB_E820_MAX_ENTRY): Likewise.
17968 (grub_e820_mmap): New structure.
17969 (linux_kernel_header): Change the efi field according to different
17970 kernel version, also field from linux_kernel_header.
17971
17972 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17973
17974 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17975 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17976 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17977 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17978 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17979 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17980 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17981 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17982 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17983 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17984
17985 * include/grub/x86_64/efi/kernel.h: New file.
17986
17987 * include/grub/x86_64/efi/loader.h: Likewise.
17988
17989 * include/grub/x86_64/efi/machine.h: Likewise.
17990
17991 * include/grub/x86_64/efi/pci.h: Likewise.
17992
17993 * include/grub/x86_64/efi/time.h: Likewise.
17994
17995 * include/grub/x86_64/linux.h: Likewise.
17996
17997 * include/grub/x86_64/setjmp.h: Likewise.
17998
17999 * include/grub/x86_64/time.h: Likewise.
18000
18001 * include/grub/x86_64/types.h: Likewise.
18002
18003 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
18004 GRUB_TARGET_SIZEOF_VOID_P.
18005
18006 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
18007 (grub_efi_locate_handle): Likewise.
18008 (grub_efi_open_protocol): Likewise.
18009 (grub_efi_set_text_mode): Likewise.
18010 (grub_efi_stall): Likewise.
18011 (grub_exit): Likewise.
18012 (grub_reboot): Likewise.
18013 (grub_halt): Likewise.
18014 (grub_efi_exit_boot_services): Likewise.
18015 (grub_get_rtc): Likewise.
18016
18017 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
18018 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
18019 (grub_efi_allocate_pages): Wrap efi calls.
18020 (grub_efi_free_pages): Wrap efi calls.
18021 (grub_efi_get_memory_map): Wrap efi calls.
18022
18023 * kern/x86_64/dl.c: New file.
18024
18025 * kern/x86_64/efi/callwrap.S: Likewise.
18026
18027 * kern/x86_64/efi/startup.S: Likewise.
18028
18029 * loader/efi/appleloader.c: Likewise.
18030
18031 * loader/efi/chainloader.c (cmdline): New variable.
18032 (grub_chainloader_unload): Wrap efi calls.
18033 (grub_chainloader_boot): Likewise.
18034 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
18035 command line.
18036
18037 * loader/efi/chainloader_normal.c (chainloader_command):
18038 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
18039 command line.
18040
18041 * loader/i386/efi/linux.c (allocate_pages): Change allocation
18042 method.
18043 (grub_e820_add_region): New function.
18044 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
18045 booting.
18046 (grub_find_video_card): New function.
18047 (grub_linux_setup_video): New function.
18048 (grub_rescue_cmd_linux): Probe for video information.
18049
18050 * normal/x86_64/setjmp.S: New file.
18051
18052 * term/efi/console.c (map_char): New function.
18053 (grub_console_putchar): Map unicode char.
18054 (grub_console_checkkey): Wrap efi calls.
18055 (grub_console_getkey): Likewise.
18056 (grub_console_getwh): Likewise.
18057 (grub_console_gotoxy): Likewise.
18058 (grub_console_cls): Likewise.
18059 (grub_console_setcolorstate): Likewise.
18060 (grub_console_setcursor): Likewise.
18061
18062 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
18063
59652a20 180642008-07-16 Pavel Roskin <proski@gnu.org>
18065
ef294055 18066 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
18067 format strings.
18068
59652a20 18069 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
18070 pointer, not an integer. This fixes a warning and prevents
18071 precision loss on 64-bit systems.
18072 (relocate_addresses): Remove unneeded cast.
18073
afc3b5d7 180742008-07-15 Pavel Roskin <proski@gnu.org>
18075
506b2b3e 18076 * kern/i386/ieee1275/init.c: Include grub/cache.h.
18077
62ead89c 18078 * term/ieee1275/ofconsole.c: Disable code unused on i386.
18079
c4cd51d7 18080 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
18081 Fix comparison between signed and unsigned.
18082
0d3d8f28 18083 * include/grub/i386/ieee1275/console.h: Declare
18084 grub_console_init() and grub_console_fini().
18085
8804b286 18086 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
18087 It's empty and unused.
18088
ee01cf35 18089 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
18090 beginning to avoid warnings with some compilers.
18091
afc3b5d7 18092 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
18093 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
18094
e4e8eaa5 180952008-07-14 Pavel Roskin <proski@gnu.org>
18096
407aceb4 18097 * kern/env.c (grub_register_variable_hook): Don't copy empty
18098 string, it leaks memory. Pass "" to grub_env_set(), it should
18099 handle constant strings.
18100
e4e8eaa5 18101 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
18102 * commands/cmp.c (grub_cmd_cmp): Likewise.
18103 * kern/dl.c (grub_dl_flush_cache): Likewise.
18104 (grub_dl_load_core): Likewise.
18105 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
18106 (grub_elf64_load_phdrs): Likewise.
18107
d4e2dad3 181082008-07-13 Pavel Roskin <proski@gnu.org>
18109
18110 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
18111 between signed and unsigned.
18112 (LzmaEnc_Finish): Fix warning about an unused parameter.
18113
aa24b516 181142008-07-13 Bean <bean123ch@gmail.com>
18115
18116 * Makefile.in (enable_lzo): New rule.
18117
18118 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
18119
18120 * configure.ac (ENABLE_LZO): New option --enable-lzo.
18121
18122 * boot/i386/pc/lnxboot.S: #include <config.h>.
18123
18124 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 18125 its value according to the compression algorithm used, lzo or lzma.
aa24b516 18126
18127 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
18128 compression algorithm according to configure macro.
18129
18130 * kern/i386/pc/startup.S (codestart): Likewise.
18131
18132 * kern/i386/pc/lzma_decode.S: New file.
18133
18134 * include/grub/lib/LzFind.h: Likewise.
18135
18136 * include/grub/lib/LzHash.h: Likewise.
18137
18138 * include/grub/lib/LzmaDec.h: Likewise.
18139
18140 * include/grub/lib/LzmaEnc.h: Likewise.
18141
18142 * include/grub/lib/LzmaTypes.h: Likewise.
18143
18144 * lib/LzFind.c: Likewise.
18145
18146 * lib/LzmaDec.c: Likewise.
18147
18148 * lib/LzmaEnc.c: Likewise.
18149
4ae821ac 181502008-07-13 Bean <bean123ch@gmail.com>
18151
18152 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
18153 (grub_ext4_extent_header): New structure.
18154 (grub_ext4_extent): Likewise.
18155 (grub_ext4_extent_idx): Likewise.
18156 (grub_ext4_find_leaf): New function.
18157 (grub_ext2_read_block): Handle extents.
18158
9a745147 181592008-07-12 Robert Millan <rmh@aybabtu.com>
18160
18161 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
18162
d49a4cf6 181632008-07-11 Robert Millan <rmh@aybabtu.com>
18164
18165 * util/grub.d/40_custom.in: New file. Example on how to add custom
18166 entries to /etc/grub.d.
18167 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
18168 40_custom (implicitly, by merging all the grub.d rules).
18169
947414b4 181702008-07-11 Pavel Roskin <proski@gnu.org>
18171
0059cf6f 18172 * commands/read.c (grub_getline): Fix invalid memory access.
18173 Don't add newline to the variable value.
18174
947414b4 18175 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
18176 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
18177 (serial_hw_get_port): Check validity of the port number.
18178 (grub_cmd_serial): Check return value of serial_hw_get_port().
18179
62a02d00 181802008-07-07 Pavel Roskin <proski@gnu.org>
18181
18182 * boot/i386/pc/diskboot.S (notification_string): Replace
18183 "Loading kernel" with just "loading". This is shorter, less
18184 confusing and saves a few bytes for possible future changes.
18185
3e5581b0 181862008-07-05 Pavel Roskin <proski@gnu.org>
18187
ea387a48 18188 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
18189 size for ATAPI devices, they are undefined. Output sector
18190 number in decimal form.
18191
3e5581b0 18192 * disk/ata.c: Use named constants for status bits.
18193
fdecb8fd 181942008-07-04 Pavel Roskin <proski@gnu.org>
18195
bcd35b90 18196 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
18197 grub_addr_t before casting it to the void pointer to fix a
18198 warning. Non-addressable regions are discarded earlier.
18199 (grub_arch_modules_addr): Cast _end to grub_addr_t.
18200 * kern/i386/linuxbios/table.c: Include grub/misc.h.
18201 (check_signature): Don't shadow table_header.
18202 (grub_linuxbios_table_iterate): Cast numeric constants to
18203 grub_linuxbios_table_header_t.
18204 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
18205 grub_stop().
18206
af58ab3d 18207 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
18208 prevent warnings.
18209
1759aa57 18210 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
18211 pointer, which can cause warnings. Support 64-bit addresses.
18212
fdecb8fd 18213 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
18214 of sizeof(long). This fixes PowerPC image generation on x86_64.
18215
8516d2a8 182162008-07-04 Robert Millan <rmh@aybabtu.com>
18217
18218 This fixes a performance issue when pc & gpt partmap iterators
18219 didn't abort iteration even after our hook found what it was
fe987087 18220 looking for (often causing expensive probes of non-existent drives).
8516d2a8 18221
18222 Some callers relied on previous buggy behaviour, since they would
34c44600 18223 raise an error when their own hooks caused early abortion of its
8516d2a8 18224 iteration.
18225
18226 * kern/device.c (grub_device_open): Improve error message.
18227 * disk/lvm.c (grub_lvm_open): Likewise.
18228 * disk/raid.c (grub_raid_open): Likewise.
18229
18230 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
18231 when hook requests it, independently of grub_errno.
18232 (pc_partition_map_probe): Do not fail when find_func() caused
18233 early abortion of pc_partition_map_iterate().
18234
18235 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
18236 when hook requests it, independently of grub_errno.
18237 (gpt_partition_map_probe): Do not fail when find_func() caused
18238 early abortion of gpt_partition_map_iterate().
18239
18240 * kern/partition.c (grub_partition_iterate): Abort parent iteration
18241 when hook requests it, independently of grub_errno. Do not fail when
18242 part_map_iterate_hook() caused early abortion of p->iterate().
18243
18244 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
18245 when grub_partition_iterate() returned with non-zero.
18246
277d0de9 182472008-07-03 Pavel Roskin <proski@gnu.org>
18248
18249 * disk/ata.c (grub_ata_pio_write): Check status before writing,
18250 like we do in grub_ata_pio_read().
18251 (grub_ata_readwrite): Always write individual sectors. Fix the
18252 sector count for the remainder.
18253 (grub_ata_write): Enable writing to ATA devices. Correctly
18254 report error for ATAPI devices.
18255
d4c9b428 182562008-07-02 Pavel Roskin <proski@gnu.org>
18257
e43fc690 18258 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
18259 warning.
18260
f707af42 18261 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
18262 for every read sector, we already increment it for the whole
18263 batch. This fixes reading more than 256 sectors at once.
18264
11e16b15 18265 * util/grub-editenv.c (cmd_info): Cast argument to long
18266 explicitly. ptrdiff_t reduces to int on i386.
18267
cbabfdd4 18268 * util/grub-editenv.c (main): Be specific which parameter is
18269 missing.
18270
b8fbce0a 18271 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
18272 (memdisk): Make memdisk_orig_addr a pointer.
18273
c9c8e606 18274 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
18275 for file offsets, use grub_off_t instead. Fix printf format
18276 warnings.
18277
ca62e598 18278 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18279 there. Real unexpected warnings should not drown in the noise
18280 about known problems.
18281
ce8d1766 18282 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18283 grub_disk_addr_t for memory addresses.
18284
00c7a56a 18285 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18286 explicitly to fix a warning.
18287
08d3ef09 18288 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18289
cb71ba20 18290 * Makefile.in (MODULE_LDFLAGS): New variable.
18291 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18292 the linker accepts --build-id=none.
18293 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18294 MODULE_LDFLAGS.
18295 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18296
d4c9b428 18297 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18298 those in Linux XFS code. Provide a way to access 64-bit parent
18299 inode.
18300 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18301 the end of struct grub_xfs_dir_header.
18302
d4156eee 183032008-07-02 Bean <bean123ch@gmail.com>
18304
18305 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18306 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18307 and GRUB_IEEE1275_FLAG_NO_ANSI.
18308
18309 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18310 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18311 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18312
18313 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18314 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18315
18316 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18317 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18318
18319 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18320 esc sequence on non ANSI terminal.
18321 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18322
18323 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18324 beginning of file.
18325
2270f77b 183262008-07-02 Bean <bean123ch@gmail.com>
18327
18328 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18329 (grub_editenv_SOURCES): New variable.
18330 (pkglib_MODULES): Add loadenv.mod.
18331 (loadenv_mod_SOURCES): New variable.
18332 (loadenv_mod_CFLAGS): Likewise.
18333 (loadenv_mod_LDFLAGS): Likewise.
18334
18335 * include/grub/envblk.h: New file.
18336
18337 * util/envblk.c: New file.
18338
18339 * util/grub-editenv.c: New file.
18340
18341 * commands/loadenv.c: New file.
18342
0e9e51ec 183432008-07-01 Pavel Roskin <proski@gnu.org>
18344
d89b7634 18345 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18346 not unsigned char. This fixes warnings and is consistent with
18347 other tags.
18348
bf1835b1 18349 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18350
8222a04b 18351 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18352
6a42d99d 18353 * term/tparm.c (analyze): Always set *popcount.
18354
10b159d1 18355 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18356 cast to fix a warning.
18357
b8789f6c 18358 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18359 cast to suppress a warning.
18360
29d7e38a 18361 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18362 grub_fshelp_read_file() expects.
18363
f341f669 18364 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18365 write uuid as a 32-bit value in CPU byte order, so declare and
18366 use it as such.
18367
0e9e51ec 18368 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18369 long if the format specifier expects it.
18370 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18371 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18372 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18373 long to fix a warning.
18374 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18375 grub_dprintf() arguments to fix warnings.
18376
3aefa857 183772008-06-30 Pavel Roskin <proski@gnu.org>
18378
56c7668b 18379 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18380 install_bsd_part immediately before core.img is embedded or
18381 modified on disk. This fixes core.img verification if core.img
18382 cannot be embedded.
18383
3aefa857 18384 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18385 core_path to calculate the blocklist.
18386 Patch from Javier Martín <lordhabbit@gmail.com>
18387
5444088d 183882008-06-29 Robert Millan <rmh@aybabtu.com>
18389
18390 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18391 block to disk block.
18392 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18393 Patch from Niels Böhm <bitbucket@arcor.de>
18394
674835c8 183952008-06-29 Robert Millan <rmh@aybabtu.com>
18396
18397 * util/update-grub_lib.in (font_path): Search for fonts in
18398 /boot/grub first, which is more likely to be readable (we aren't
18399 deciding where fonts live, just looking for them).
18400
f527dbc8 184012008-06-26 Pavel Roskin <proski@gnu.org>
18402
6c2d8df6 18403 * util/biosdisk.c (read_device_map): Don't leave dead map
18404 entries for devices failing stat() check.
18405
f527dbc8 18406 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18407 core_path_dev for the core.img path on the target device.
18408
aebe3d13 184092008-06-26 Robert Millan <rmh@aybabtu.com>
18410
18411 * disk/fs_uuid.c: New file.
18412 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18413 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18414 (fs_uuid_mod_LDFLAGS): New variables.
18415 * include/grub/disk.h (grub_disk_dev_id): Add
18416 `GRUB_DISK_DEVICE_UUID_ID'.
18417 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18418 implement iterate().
18419
37aaf354 184202008-06-26 Robert Millan <rmh@aybabtu.com>
18421
18422 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18423 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18424 Linux image includes no initrd.
18425
25ff262a 184262008-06-21 Javier Martín <lordhabbit@gmail.com>
18427
18428 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18429 call to resolve the core image location that effectively appended the
18430 name twice.
18431
76a2bd44 184322008-06-21 Robert Millan <rmh@aybabtu.com>
18433
18434 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18435 call from here ...
18436
18437 * util/grub.d/10_hurd.in: ... to here ...
18438 * util/grub.d/10_linux.in: ... and here.
18439
650e1c79 184402008-06-19 Robert Millan <rmh@aybabtu.com>
18441
fe987087 18442 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 18443 after it has been set by grub_machine_set_prefix().
18444
6ce63911 184452008-06-19 Robert Millan <rmh@aybabtu.com>
18446
18447 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18448 search result when not saving to variable, not the other way around.
18449 When saving to variable, abort iteration as soon as a match is found.
18450
73940cec 184512008-06-19 Robert Millan <rmh@aybabtu.com>
18452
18453 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18454 check for partition that provides /boot/grub. Its logic is flawed,
18455 as it prevents prepare_grub_to_access_device() from being called
18456 multiple times.
18457
3c62a39d 184582008-06-19 Robert Millan <rmh@aybabtu.com>
18459
18460 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18461 "insmod" command directly when abstraction modules are needed,
fe987087 18462 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 18463 since it had already been processed).
18464
47395a42 184652008-06-19 Pavel Roskin <proski@gnu.org>
18466
18467 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18468 changed. This is needed in case GRUB_LIBDIR changes.
18469 * conf/i386-ieee1275.rmk: Likewise.
18470 * conf/i386-linuxbios.rmk: Likewise.
18471 * conf/i386-pc.rmk: Likewise.
18472 * conf/powerpc-ieee1275.rmk: Likewise.
18473
a145ac2d 184742008-06-18 Pavel Roskin <proski@gnu.org>
18475
18476 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18477 kernel_elf_symlist.c to symlist.c for consistency with other
18478 architectures. Update all users.
18479 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18480
7847c51e 184812008-06-18 Robert Millan <rmh@aybabtu.com>
18482
18483 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18484 it in prefix.
18485
18486 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18487 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18488 a RAID device, run setup() for all members independently on whether
18489 LVM abstraction is being used.
18490 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18491 If grub-mkimage has set `*install_dos_part == -2', don't override this
18492 value.
18493 Perform *install_dos_part adjustments independently on whether
18494 we're embedding or not.
18495 Clarify error message when image is too big for embedding.
18496 Remove duplicate *install_dos_part stanza.
18497
b23e5644 184982008-06-17 Robert Millan <rmh@aybabtu.com>
18499
18500 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18501 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18502 variables.
18503 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18504 values in grub_ofconsole_normal_color and
18505 grub_ofconsole_highlight_color (they're not directly related to
18506 background and foreground).
18507 (grub_ofconsole_setcolorstate): Extract background and foreground
18508 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18509
0aac2f79 185102008-06-17 Robert Millan <rmh@aybabtu.com>
18511
18512 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18513 /boot/grub for the check in last commit, not /boot (they could be
18514 different partitions).
18515
3cca7ef3 185162008-06-16 Robert Millan <rmh@aybabtu.com>
18517
18518 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18519 asked to setup access for the same partition that provides /boot,
18520 don't bother using UUIDs since our root already has the value we
18521 want.
18522
347396d8 185232008-06-16 Robert Millan <rmh@aybabtu.com>
18524
18525 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18526 I2O devices.
18527 Patch from Sven Mueller <sven@debian.org>.
18528
991477f8 185292008-06-16 Robert Millan <rmh@aybabtu.com>
18530
18531 * util/update-grub.in: Check for $EUID instead of $UID.
18532 Reported by Vincent Zweije.
18533
d31a32a1 185342008-06-16 Bean <bean123ch@gmail.com>
18535
fe987087 18536 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 18537 (grub_ext2_read_block): Likewise.
18538 (grub_ext2_read_inode): Likewise.
18539 (grub_ext2_mount): Likewise.
18540 (grub_ext2_close): Likewise.
18541 (grub_ext3_get_journal): Removed.
18542
fe987087 18543 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 18544 (grub_reiserfs_read_symlink): Likewise.
18545 (grub_reiserfs_mount): Likewise.
18546 (grub_reiserfs_open): Likewise.
18547 (grub_reiserfs_read): Likewise.
18548 (grub_reiserfs_close): Likewise.
18549 (grub_reiserfs_get_journal): Removed.
18550
18551 * fs/fshelp.c (grub_fshelp_read): Removed.
18552 (grub_fshelp_map_block): Likewise.
18553
18554 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18555 (grub_fshelp_journal): Likewise.
18556 (grub_fshelp_read): Likewise.
18557 (grub_fshelp_map_block): Likewise.
18558
3540a760 185592008-06-16 Pavel Roskin <proski@gnu.org>
18560
18561 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18562 floating point anymore.
18563 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18564
95614c84 185652008-06-15 Pavel Roskin <proski@gnu.org>
18566
18567 * commands/ls.c (grub_ls_list_files): Use integer calculations
18568 for human readable format, avoid floating point use.
18569 * kern/misc.c (grub_ftoa): Remove.
18570 (grub_vsprintf): Remove floating point support.
18571
50465dd6 185722008-06-15 Robert Millan <rmh@aybabtu.com>
18573
fe6b695a 18574 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 18575 devices.
18576 Reported by Max Vozeler.
18577
a9207284 185782008-06-15 Robert Millan <rmh@aybabtu.com>
18579
18580 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18581 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18582 skipped later.
18583 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18584 the beginning of the prefix.
18585
18586 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18587 It is assumed that if we have a memdisk, grub-mkimage has set
18588 grub_prefix to include the "(memdisk)" drive in it.
18589
a7cbd45a 185902008-06-15 Robert Millan <rmh@aybabtu.com>
18591
18592 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18593 Initialize keyboard controller after registering the terminal, so that
18594 grub_printf() can be called from grub_keyboard_controller_init().
18595
21cf716a 185962008-06-15 Robert Millan <rmh@aybabtu.com>
18597
18598 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18599 extent-btree which is written as big endian on disk.
18600 Reported by Alain Greppin <al@chilibi.org>.
18601
23a64d8e 186022008-06-14 Robert Millan <rmh@aybabtu.com>
18603
18604 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18605 * util/i386/pc/grub-install.in (modules): Likewise.
18606
d687651c 186072008-06-13 Pavel Roskin <proski@gnu.org>
18608
18609 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18610
dfe9ddd4 186112008-06-13 Bean <bean123ch@gmail.com>
18612
18613 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18614
18615 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18616
18617 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18618 to indicate sparse block.
18619
16ae7781 186202008-06-12 Pavel Roskin <proski@gnu.org>
18621
e6d1a308 18622 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18623 number, grub_fshelp_read() does it for us.
18624
16ae7781 18625 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18626 linear disk read with journal translation.
18627 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18628 * include/grub/fshelp.h: Declare grub_fshelp_read().
18629
40fd3a2b 186302008-06-09 Pavel Roskin <proski@gnu.org>
18631
18632 * fs/minix.c (grub_minix_mount): Handle error reading
18633 superblock.
18634
f5679726 186352008-06-08 Robert Millan <rmh@aybabtu.com>
18636
18637 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18638 don't append the RAID prefix afterwards.
18639 Reported by Clint Adams.
18640
ce525529 186412008-06-08 Robert Millan <rmh@aybabtu.com>
18642
18643 Based on description from Pavel:
18644 * kern/disk.c (grub_disk_check_range): Rename to ...
18645 (grub_disk_adjust_range): ... this. Add a comment explaining the
18646 tasks performed by this function.
18647
ad4936a0 186482008-06-08 Robert Millan <rmh@aybabtu.com>
18649
18650 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18651 `num_serial' (for consistency with other variables).
18652 (struct grub_ntfs_data): Add `uuid' member.
18653 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18654 (grub_ntfs_uuid): New function.
18655 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18656
dc20b0f9 186572008-06-07 Pavel Roskin <proski@gnu.org>
18658
18659 * util/biosdisk.c (open_device): Revert last change to the
18660 function, it broke installation. The sector needs to be
18661 different dependent on which device is opened.
18662
c5e3cfba 186632008-06-06 Robert Millan <rmh@aybabtu.com>
18664
18665 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18666 rest of GRUB, and breakage doesn't happen if its value were modified.
18667
18668 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18669 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18670 a constant (same value).
18671 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18672 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18673
26a1f8c4 186742008-06-06 Robert Millan <rmh@aybabtu.com>
18675
18676 * util/biosdisk.c (open_device): Do not modify sector offset when
18677 accessing a partition. kern/disk.c already handles this for us.
18678
25d6b327 186792008-06-06 Robert Millan <rmh@aybabtu.com>
18680
18681 * util/grub-emu.c (grub_machine_init): Move code in this function from
18682 here ...
18683 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18684 segfault in case grub_printf() is called).
18685
18686 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18687 grub_probe. Update all users not to explicitly add it again.
18688 (grub_device): New variable; contains corresponding device for grubdir.
18689 (fs_module, partmap_module, devabstraction_module): Pass
18690 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18691 every time.
18692
9ece62fb 186932008-06-05 Robert Millan <rmh@aybabtu.com>
18694
18695 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18696 is found, print it (same layout as with labels).
18697
1ad36d37 186982008-06-04 Robert Millan <rmh@aybabtu.com>
18699
18700 * util/biosdisk.c (get_drive): Rename to ...
18701 (find_grub_drive): ... this. Update all users.
18702
18703 (get_os_disk): Rename to ...
18704 (convert_system_partition_to_system_disk): ... this. Update all users.
18705
18706 (find_drive): Rename to ...
18707 (find_system_device): ... this. Update all users.
18708
e6a30859 187092008-06-04 Robert Millan <rmh@aybabtu.com>
18710
18711 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18712 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18713 (make_device_map): Likewise.
18714
00c108a4 187152008-06-01 Robert Millan <rmh@aybabtu.com>
18716
18717 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18718 before dereferencing it.
18719
18720 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18721 union with fat12/fat16-specific ones. Add some new fields, including
18722 `num_serial' for both versions.
18723 (struct grub_fat_data): Add `uuid' member.
18724 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18725 names. Initialize `data->uuid' using `num_serial'.
18726 (grub_fat_uuid): New function.
18727 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18728
18729 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18730 (grub_reiserfs_uuid): New function.
18731 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18732 member.
18733
18734 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18735 (grub_xfs_uuid): New function.
18736 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18737
1385c5bb 187382008-06-01 Robert Millan <rmh@aybabtu.com>
18739
18740 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18741 code that is backward compatible with pre-uuid search command.
18742
c682dfd7 187432008-05-31 Robert Millan <rmh@aybabtu.com>
18744
18745 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18746 floppies after everything else, to ensure floppy drive isn't accessed
18747 unnecessarily (patch from Bean).
18748
b7db5d47 187492008-05-31 Robert Millan <rmh@aybabtu.com>
18750
18751 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18752 not print device names when we were asked to set a variable.
18753
6e037aa9 187542008-05-31 Robert Millan <rmh@aybabtu.com>
18755
18756 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18757 using "cursor-on" and "cursor-off" commands (understood at least by
18758 the Open Firmware flavour on OLPC).
18759
41305bc8 187602008-05-31 Michael Gorven <michael@gorven.za.net>
18761
18762 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18763 on and off sequences.
18764
69ba137e 187652008-05-31 Robert Millan <rmh@aybabtu.com>
18766
18767 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18768 * util/update-grub.in: Likewise.
18769
520ae21b 187702008-05-30 Pavel Roskin <proski@gnu.org>
18771
18772 * util/biosdisk.c (linux_find_partition): Simplify logic and
18773 make the code more universal. Keep special processing for
18774 devfs, but use a simple rule for all other devices. If the
18775 device ends with a number, append 'p' and the partition number.
18776 Otherwise, append only the partition number.
18777
5786569b 187782008-05-30 Robert Millan <rmh@aybabtu.com>
18779
18780 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18781 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18782 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18783 the `root' parameter to Linux.
18784
51500452 187852008-05-30 Robert Millan <rmh@aybabtu.com>
18786
18787 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18788 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18789 --fs_uuid with --fs-uuid.
18790 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18791 all filesystems support them).
18792
811d3878 187932008-05-30 Robert Millan <rmh@aybabtu.com>
18794
18795 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 18796 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 18797
cab63c95 187982008-05-30 Robert Millan <rmh@aybabtu.com>
18799
18800 * util/grub.d/00_header.in: Remove obsolete comment referencing
18801 convert_system_path_to_grub_path().
18802 * util/update-grub.in: Likewise.
18803 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18804 (convert_system_path_to_grub_path): Add a warning message explaining
18805 that this function is deprecated. Rely on is_path_readable_by_grub()
18806 for the readability checks.
18807 (font_path): Use is_path_readable_by_grub() for the readability
18808 check rather than convert_system_path_to_grub_path().
18809
972e2f7a 188102008-05-30 Robert Millan <rmh@aybabtu.com>
18811
18812 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18813 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18814 converting it first.
18815 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18816 grub.cfg for access to font file, and afterwards call it again to set
18817 the root device.
18818
62191274 188192008-05-30 Robert Millan <rmh@aybabtu.com>
18820
18821 * commands/search.c (options): Add --fs_uuid option.
18822 (search_fs_uuid): New function.
18823 (grub_cmd_search): Fix --set argument passing.
18824 Use search_fs_uuid() when requested via --fs_uuid.
18825 (grub_search_init): Update help message.
18826 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18827 and redeclare it as an array of 16-bit words.
18828 (grub_ext2_uuid): New function.
18829 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18830 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18831 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18832 (GRUB_DEVICE_BOOT_UUID): New variables.
18833 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18834 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18835 whenever possible.
18836 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18837 just assume `root' variable has the right value.
18838 * util/grub.d/10_linux.in: Likewise.
18839 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18840 via PRINT_FS_UUID.
18841 (main): Recognise `-t fs_uuid' argument.
18842
01b73ec8 188432008-05-30 Robert Millan <rmh@aybabtu.com>
18844
18845 * util/biosdisk.c (map): Redefine structure to hold information
18846 about GRUB drive name.
fe6b695a 18847 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 18848 drive names.
18849 (call_hook): Remove.
18850 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18851 member. Assume drive has partitions.
18852 (grub_util_biosdisk_open): Access device names via `.device' struct
18853 member.
18854 (open_device): Likewise.
18855 (find_drive): Likewise.
18856 (read_device_map): Adjust map[] usage to match the new struct
18857 definition. Don't check for duplicates (still possible, but not cheap
18858 anymore).
18859 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18860 (make_device_name): Remove assumption of BIOS-like drive names.
18861
22f16596 188622008-05-30 Pavel Roskin <proski@gnu.org>
18863
18864 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18865 compiling execute.c doesn't need grub_script.tab.h anymore.
18866 (normal/command.c_DEPENDENCIES): Likewise.
18867 (normal/function.c_DEPENDENCIES): Likewise.
18868 * conf/i386-ieee1275.rmk: Likewise.
18869 * conf/i386-linuxbios.rmk: Likewise.
18870 * conf/i386-pc.rmk: Likewise.
18871 * conf/powerpc-ieee1275.rmk: Likewise.
18872 * conf/sparc64-ieee1275.rmk: Likewise.
18873
528ad8f2 188742008-05-29 Pavel Roskin <proski@gnu.org>
18875
d1dff95d 18876 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18877 when scanning metadata for volume group name.
18878
528ad8f2 18879 * include/grub/script.h: Don't include grub_script.tab.h. It's
18880 a generated file, which may only be included from the files with
18881 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18882 use union YYSTYPE, as the later allows forward declaration.
18883 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18884
47248e08 188852008-05-29 Robert Millan <rmh@aybabtu.com>
18886
18887 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18888 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18889 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18890 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18891 scan codes.
18892
ee632529 188932008-05-29 Robert Millan <rmh@aybabtu.com>
18894
18895 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18896 control key combinations.
18897
eee96e08 188982008-05-29 Robert Millan <rmh@aybabtu.com>
18899
18900 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18901 * util/ieee1275/grub-install.in: ... to here.
18902 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18903 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18904 (grub_install_SOURCES): Likewise.
18905
da9a6a94 189062008-05-29 Robert Millan <rmh@aybabtu.com>
18907
18908 * fs/affs.c: Update copyright year.
18909 * fs/ext2.c: Likewise.
18910 * fs/fshelp.c: Likewise.
18911 * fs/hfsplus.c: Likewise.
18912 * fs/ntfs.c: Likewise.
18913 * fs/xfs.c: Likewise.
18914 * include/grub/fshelp.h: Likewise.
18915 * util/grub-mkdevicemap.c: Likewise.
18916
12e65f3a 189172008-05-28 Robert Millan <rmh@aybabtu.com>
18918
18919 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18920 might need to be fatfs to support some firmware implementations
18921 (e.g. OFW or EFI).
18922
23023641 189232008-05-28 Robert Millan <rmh@aybabtu.com>
18924
18925 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18926 devices.
18927 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18928 (make_device_map): Likewise.
18929
887d2619 189302008-05-20 Bean <bean123ch@gmail.com>
18931
18932 * fs/fshelp.c (grub_fshelp_map_block): New function.
18933 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18934 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18935
18936 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18937 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18938 (grub_fshelp_journal): New structure.
18939 (grub_fshelp_map_block): New function prototype.
18940 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18941 (grub_fshelp_map_block): Likewise.
18942
18943 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18944 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18945 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18946 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18947 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18948 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18949 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18950 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18951 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18952 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18953 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18954 (grub_ext2_sblock): New members for journal support.
18955 (grub_ext3_journal_header): New structure.
18956 (grub_ext3_journal_revoke_header): Likewise.
18957 (grub_ext3_journal_block_tag): Likewise.
18958 (grub_ext3_journal_sblock): Likewise.
18959 (grub_fshelp_node): New members logfile and journal.
18960 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18961 grub_fshelp_map_block to get real block number.
18962 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18963 number.
18964 (grub_ext2_read_inode): Likewise.
18965 (grub_ext3_get_journal): New function.
18966 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18967 (grub_ext2_close): Release memory used by journal.
18968
18969 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18970 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18971 (grub_reiserfs_transaction_header): Renamed to
18972 grub_reiserfs_description_block, replace field data with real_blocks.
18973 (grub_reiserfs_commit_block): New structure.
18974 (grub_reiserfs_data): New member journal.
18975 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18976 number.
18977 (grub_reiserfs_read_symlink): Likewise.
18978 (grub_reiserfs_iterate_dir): Likewise.
18979 (grub_reiserfs_open): Likewise.
18980 (grub_reiserfs_read): Likewise.
18981 (grub_reiserfs_get_journal): New function.
18982 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18983 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18984 using grub_reiserfs_get_journal.
18985 (grub_reiserfs_close): Release memory used by journal.
18986
18987 * fs/affs.c (grub_affs_read_block): Change block type to
18988 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18989
18990 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18991
18992 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18993
18994 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18995
18996 * fs/udf.c (grub_udf_read_block): Change block type to
18997 grub_disk_addr_t. Use type cast to avoid warning.
18998
18999 * fs/xfs.c (grub_xfs_read_block): Likewise.
19000
b7c6bed5 190012008-05-16 Christian Franke <franke@computer.org>
19002
19003 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
19004 to ensure that break with ESC will always work.
19005 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
19006 Remove ESC from keyboard queue.
19007
eedf167f 190082008-05-16 Christian Franke <franke@computer.org>
19009
19010 * util/biosdisk.c: [__CYGWIN__] Add includes.
19011 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
19012 (get_os_disk): Move variable declarations to OS specific
19013 parts to avoid warning.
19014 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
19015 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
19016 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
19017 Cygwin.
19018 * util/getroot.c: [__CYGWIN__] Add includes.
19019 (strip_extra_slashes): Fix "/" case.
19020 [__CYGWIN__] (get_win32_path): New function.
19021 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
19022 [__CYGWIN__] (find_root_device): Disable.
19023 [__CYGWIN__] (get_bootsec_serial): New function.
19024 [__CYGWIN__] (find_cygwin_root_device): Likewise.
19025 [__linux__] (grub_guess_root_device): Add early returns to simplify
19026 structure.
19027 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
19028 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
19029 check for Linux only.
19030
a079699e 190312008-05-15 Bean <bean123ch@gmail.com>
19032
19033 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
19034 keyboard hang problem in apple's intel mac.
19035
1cf4059a 190362008-05-09 Robert Millan <rmh@aybabtu.com>
19037
19038 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
19039 devices.
19040 * util/grub-mkdevicemap.c (get_virtio_disk_name)
19041 (make_device_map): Likewise.
19042 Reported by Aurelien Jarno <aurel32@debian.org>
19043
ed759390 190442008-05-07 Ian Campbell <ijc@hellion.org.uk>
19045
19046 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
19047 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
19048 (make_device_map): Output entries for xvd type disks.
19049
b56c4eaa 190502008-05-07 Robert Millan <rmh@aybabtu.com>
19051
19052 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
19053 devices.
19054 * util/grub-mkdevicemap.c (get_cciss_disk_name)
19055 (make_device_map): Likewise.
19056 Reported by Roland Dreier <rdreier@cisco.com>
19057
7f8866ed 190582008-05-07 Robert Millan <rmh@aybabtu.com>
19059
19060 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
19061 grub_strstr() call. Correct a few mistakes in failure path handling.
19062
b0346e0f 190632008-05-06 Robert Millan <rmh@aybabtu.com>
19064
19065 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19066 Do not print a trailing slash (therefore, the root directory is an
19067 empty string).
19068 (convert_system_path_to_grub_path): Do not remove trailing slash
19069 from make_system_path_relative_to_its_root() output.
19070
19071 * util/i386/pc/grub-install.in: Add trailing slash to output from
19072 make_system_path_relative_to_its_root().
19073
6cf12cbd 190742008-05-06 Robert Millan <rmh@aybabtu.com>
19075
19076 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
19077 ensures that output lines aren't intermangled with those sent to
19078 stderr (via grub_util_info()).
19079 * util/grub-probe.c (grub_refresh): Likewise.
19080 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
19081
0fbb3117 190822008-05-05 Christian Franke <franke@computer.org>
19083
19084 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
19085 Add Cygwin device names.
19086 (get_ide_disk_name) [__CYGWIN__]: Likewise.
19087 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
19088 (check_device): Return error instead of success on empty name.
19089 (make_device_map): Move label inside linux specific code to
19090 prevent compiler warning.
19091
8124cdb7 190922008-04-30 Robert Millan <rmh@aybabtu.com>
19093
19094 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
19095 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
19096 first boot option.
19097 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
19098
094c01d0 190992008-04-29 Robert Millan <rmh@aybabtu.com>
19100
19101 * docs/grub.cfg: New file (example GRUB configuration).
19102
f4b1fc02 191032008-04-26 Robert Millan <rmh@aybabtu.com>
19104
329ce2a5 19105 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
19106 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
19107 and `disk/ieee1275/nand.c'.
f4b1fc02 19108
25f16ec1 191092008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 19110
25f16ec1 19111 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
19112 i386-linuxbios.
19113
19114 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
19115 change the buffer size to 4096 for cdrom device.
19116
19117 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
19118 and nand.mod.
19119 (_linux_mod_SOURCES): New variable.
19120 (_linux_mod_CFLAGS): Likewise.
19121 (_linux_mod_LDFLAGS): Likewise.
19122 (linux_mod_SOURCES): Likewise.
19123 (linux_mod_CFLAGS): Likewise.
19124 (linux_mod_LDFLAGS): Likewise.
19125 (nand_mod_SOURCES): Likewise.
19126 (nand_mod_CFLAGS): Likewise.
19127 (nand_mod_LDFLAGS): Likewise.
19128
19129 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
19130 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
19131 type property. (nand device in olpc don't have this property)
19132
19133 * include/grub/disk.h (grub_disk_dev_id): New macro
19134 GRUB_DISK_DEVICE_NAND_ID.
19135
19136 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
19137 function prototype.
19138 (grub_rescue_cmd_initrd): Likewise.
19139
19140 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
19141 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
19142 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 19143
25f16ec1 19144 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
19145 GRUB_MACHINE_IEEE1275 is defined.
19146
19147 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
19148 Use NESTED_FUNC_ATTR attribute on the hook parameter.
19149
19150 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
19151 on nested function heap_init.
19152 (grub_upper_mem): New variable for i386-ieee1275.
19153 (grub_get_extended_memory): New function for i386-ieee1275.
19154 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
19155
19156 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
19157 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
19158 property.
f19dbdb7 19159
25f16ec1 19160 * loader/i386/ieee1275/linux.c: New file.
19161
19162 * loader/i386/ieee1275/linux_normal.c: New file.
19163
19164 * disk/ieee1275/nand.c: New file.
19165
e89d61e9 191662008-04-18 Thomas Schwinge <tschwinge@gnu.org>
19167
19168 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
19169 value.
19170 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
19171
602566f6 191722008-04-18 Robert Millan <rmh@aybabtu.com>
19173
19174 Restructures early code path on ieee1275 to unify grub_main() as
19175 the first C function that is executed in every platform.
19176
19177 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
19178 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
19179 cmain().
19180 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
19181 * kern/ieee1275/cmain.c (cmain): Rename to ...
19182 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
19183 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
19184 at the beginning.
19185
57490c2b 191862008-04-18 Robert Millan <rmh@aybabtu.com>
19187
19188 * util/update-grub.in: Fix syntax error when setting
19189 `GRUB_PRELOAD_MODULES'.
19190 Reported by Stephane Chazelas <stephane@artesyncp.com>
19191
1977517d 191922008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
19193
19194 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
19195 section into account, newer toolchains generate unique build ids
19196 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 19197 we want build ids to be preserved
1977517d 19198 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
19199 far from other sections don't cause the raw binary images grow
19200 size
19201
bfb1f1a2 192022008-04-15 Robert Millan <rmh@aybabtu.com>
19203
19204 * disk/lvm.c: Update copyright year.
19205 * kern/misc.c: Likewise.
19206
01979850 192072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19208
19209 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 19210 there is no memory left for physical volume name.
01979850 19211
0a1150e2 192122008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19213
19214 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
19215 volume name mapping to support bigger than 9 character names properly.
19216
82ead3fe 192172008-04-13 Robert Millan <rmh@aybabtu.com>
19218
19219 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
19220 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
19221
e54a72f5 192222008-04-13 Christian Franke <franke@computer.org>
19223
19224 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
19225 to create a floppy emulation boot CD when non emulation mode
19226 does not work.
19227 Enable Joliet CD filesystem extension.
19228
9fe86034 192292008-04-13 Robert Millan <rmh@aybabtu.com>
19230
19231 * kern/misc.c (grub_strncat): Fix off-by-one error.
19232 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
19233
19234 * kern/env.c (grub_env_context_close): Clear current context, not
19235 previous one.
19236 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
19237
19238 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
19239
7ceeee39 192402008-04-13 Robert Millan <rmh@aybabtu.com>
19241
19242 Improve robustness when handling LVM.
19243
19244 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 19245 (and leave `*p' unmodified).
7ceeee39 19246 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
19247 through it.
19248 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
19249 iterating through it.
19250 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
19251 through it.
fe6b695a 19252 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 19253 when due) on each grub_lvm_getvalue() or grub_strstr() call.
19254 Don't assume `vg->pvs != NULL' when iterating through it.
19255
58cd3d85 192562008-04-13 Robert Millan <rmh@aybabtu.com>
19257
19258 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
19259 * genmk.rb (partmap): New variable.
19260 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
19261 (#{partmap}): New target rule.
19262 * genpartmaplist.sh: New file.
19263 * Makefile.in (pkglib_DATA): Add partmap.lst.
19264 (partmap.lst): New target rule.
19265 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
19266 modules (including all partition maps), instead of preloading them.
19267
78b51059 192682007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
19269
19270 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
19271 `linux-boot-prober' (if installed) to detect other operating
19272 systems which are installed on the computer and add them to
19273 the boot menu.
19274 * conf/common.rmk: Build and install 30_os-prober.
19275
a91627b4 192762008-04-12 Robert Millan <rmh@aybabtu.com>
19277
19278 * kern/powerpc/ieee1275/init.c: Move from here ...
19279 * kern/ieee1275/init.c: ... to here. Update all users.
19280
19281 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19282 * kern/ieee1275/cmain.c: ... to here. Update all users.
19283
19284 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19285 * kern/ieee1275/openfw.c: ... to here. Update all users.
19286
19287 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19288 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19289
322562ea 192902008-04-10 Pavel Roskin <proski@gnu.org>
19291
19292 * configure.ac: Always use "_cv_" in cache variables for
19293 compatibility with Autoconf 2.62.
19294
a02a73c5 192952008-04-07 Robert Millan <rmh@aybabtu.com>
19296
19297 Revert grub/machine/init.h addition by Pavel (since it breaks on
19298 i386-ieee1275 and others):
19299 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19300 * util/powerpc/ieee1275/misc.c: Likewise.
19301
25c024b1 193022008-04-07 Robert Millan <rmh@aybabtu.com>
19303
19304 * util/grub-probe.c (probe): Improve error message.
19305
3cbd2f98 193062008-04-07 Robert Millan <rmh@aybabtu.com>
19307
19308 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19309 (this prevents the presence of a bogus entry from ruining the whole
19310 thing).
19311
87a297bf 193122008-04-06 Pavel Roskin <proski@gnu.org>
19313
36747a62 19314 * util/biosdisk.c: Include grub/util/biosdisk.h.
19315 * util/grub-fstest.c (execute_command): Make static.
19316 * util/grub-mkdevicemap.c (check_device): Likewise.
19317 * util/i386/pc/misc.c: Include grub/machine/init.h.
19318 * util/powerpc/ieee1275/misc.c: Likewise.
19319 * util/lvm.c: Include grub/util/lvm.h.
19320 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19321 grub/cache.h.
19322 * util/raid.c: Include grub/util/raid.h.
19323 (grub_util_getdiskname): Make static.
19324
87a297bf 19325 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19326 grub_hostfs_fini(), as they are called from grub_init_all() and
19327 grub_fini_all() respectively. This fixes an infinite loop in
19328 grub-fstest due to double registration of hostfs.
19329 Reported by Christian Franke <Christian.Franke@t-online.de>
19330
f6ce7629 193312008-04-05 Pavel Roskin <proski@gnu.org>
19332
19333 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19334 all 8 functions. Otherwise, probe function 0 only.
19335
070e49e4 193362008-04-04 Pavel Roskin <proski@gnu.org>
19337
8b088a4c 19338 * commands/lspci.c (grub_lspci_iter): Print the bus number
19339 correctly.
19340
4f657021 19341 * commands/lspci.c (grub_pci_classes): Fix typos.
19342 (grub_lspci_iter): Don't print func twice. Print vendor ID
19343 before device ID, as it's normally done.
19344
070e49e4 19345 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19346 Fix signedness warnings.
19347 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19348 Likewise.
19349 * util/ieee1275/get_disk_name.c: Include config.h so that
19350 _GNU_SOURCE is defined and getline() is declared. Mark an
19351 unused argument as such. Fix a signedness warning.
19352
ba7328dc 193532008-04-02 Pavel Roskin <proski@gnu.org>
19354
26887f22 19355 * genkernsyms.sh.in: Use more robust assignments for CC and
19356 srcdir. Quote srcdir.
19357 * gensymlist.sh.in: Likewise. Assert at the compile time that
19358 the symbol table is not empty.
19359
ba7328dc 19360 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19361 * fs/cpio.c (grub_cpio_read): Likewise.
19362
0f582c6b 193632008-04-01 Pavel Roskin <proski@gnu.org>
19364
4b6e1995 19365 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19366 * disk/host.c (grub_host_open): Likewise.
19367 * disk/loopback.c (grub_loopback_open): Likewise.
19368 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19369 disk->id as in disk/host.c, not a multi-character constant.
19370
828a2768 19371 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19372 later is obsolete, potentially dangerous and sets a bad example.
19373 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19374 * util/misc.c (grub_util_get_image_size): Likewise.
19375
2bb4fb47 19376 * disk/loopback.c (options): Improve help for "--partitions".
19377
0f582c6b 19378 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19379 options to align them with the short options, e.g. "echo -e".
19380
a33224e0 193812008-03-31 Bean <bean123ch@gmail.com>
19382
19383 * video/reader/png.c (grub_png_data): New member is_16bit and
19384 image_data.
19385 (grub_png_decode_image_header): Detect 16 bit png image.
19386 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19387 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19388 (grub_video_reader_png): Release memory occupied by image_data.
19389
19390 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19391 4096 bytes.
19392 (grub_nfs_mount): Skip the test for sector per cluster.
19393
19394 * include/grub/ntfs.h (MAX_SPC): Removed.
19395
86cb4f54 193962008-03-31 Bean <bean123ch@gmail.com>
19397
19398 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19399 (grub_probe_SOURCES): Add fs/afs.c.
19400 (grub_fstest_SOURCES): Likewise.
19401 (afs_mod_SOURCES): New variable.
19402 (afs_mod_CFLAGS): Likewise.
19403 (afs_mod_LDFLAGS): Likewise.
19404
19405 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19406 (grub_emu_SOURCES): Likewise.
19407
19408 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19409
19410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19411
19412 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19413
19414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19415
19416 * fs/afs.c: New file.
19417
17c74c21 194182008-03-30 Pavel Roskin <proski@gnu.org>
19419
4cb68e89 19420 * disk/host.c: Include grub/misc.h to fix a warning.
19421 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19422 warnings about implicit declarations.
19423
8790bb04 19424 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19425 variable.
19426 * include/grub/i386/loader.h: Change declaration of
19427 grub_linux_boot() to match what grub_loader_set() expects.
19428 * util/getroot.c (grub_guess_root_device): Return const char* to
19429 fix a warning.
19430 * util/grub-probe.c (probe): Fix a warning about uninitialized
19431 abstraction_name variable.
19432 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19433 second argument as unused to fix a warning.
19434
9a3f3296 19435 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19436 missing grub_error() call.
19437
0ecef90d 19438 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19439 2.60 and newer uses it to define datadir.
19440
0bf6d401 19441 * commands/sleep.c: Fix warning about implicit declaration.
19442 * disk/memdisk.c: Likewise.
19443 * loader/aout.c: Likewise.
19444 * loader/i386/bsd_normal.c: Likewise.
19445 * util/grub-probe.c: Likewise.
19446
7cdacf97 19447 * commands/i386/cpuid.c (has_longmode): Make static.
19448 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19449 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19450
17c74c21 19451 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19452 GDT. This is more robust, as %ds can change.
19453 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19454 calling real_to_prot().
19455 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19456
80a3e68b 194572008-03-28 Pavel Roskin <proski@gnu.org>
19458
19459 * kern/i386/pc/startup.S: Assert that uncompressed functions
19460 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19461 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19462 code, as they push parts of the code (error handlers) beyond
19463 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19464 code as correctness and size.
19465
77bcd272 194662008-03-28 Pavel Roskin <proski@gnu.org>
19467
19468 * kern/i386/pc/startup.S
19469 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19470 data block address to the real mode, keep offset minimal. This
19471 works around a bug in AWARD BIOS on old Athlon systems, which
19472 makes CD detection hang.
19473
c5dfd43b 194742008-03-26 Pavel Roskin <proski@gnu.org>
19475
19476 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19477 const.
19478 * include/grub/normal.h: Add grub_parse_color_name_pair()
19479 declaration.
19480
bf962df2 194812008-03-24 Bean <bean123ch@gmail.com>
19482
19483 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19484 (cd_count): Removed.
19485 (cd_drive): New variable.
19486 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19487 (grub_biosdisk_call_hook): Likewise.
19488 (grub_biosdisk_iterate): Change cdrom detection method.
19489 (grub_biosdisk_open): Replace cd_start with cd_drive.
19490 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19491 detect cdrom device.
19492
19493 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19494 Removed.
19495 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19496 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19497 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19498 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19499 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19500 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19501 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19502 (grub_biosdisk_cdrp): New structure.
19503 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19504
19505 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19506
19507 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19508 device.
19509
19510 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19511 New function.
19512
68e7fc7a 195132008-03-20 Robert Millan <rmh@aybabtu.com>
19514
19515 Remove 2 TiB limit in ata.mod.
19516 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19517 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19518 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19519 grub_uint64_t instead of grub_uint32_t.
19520
38ad2cf5 195212008-03-05 Bean <bean123ch@gmail.com>
19522
19523 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19524 (grub_multiboot): Set boot device.
19525
19526 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19527
2b89344e 195282008-03-02 Bean <bean123ch@gmail.com>
19529
19530 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19531 symlink_buffer.
19532
87a95d1f 195332008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19534
19535 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19536 texinfo.tex.
19537
19538 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19539 modified.
19540
19541 * docs/fdl.texi: New file.
f19dbdb7 19542
87a95d1f 19543 * docs/mdate-sh: New file. Copied from gnulib.
19544 * docs/texinfo.tex: Likewise.
19545
19546 * config.guess: Updated from gnulib.
19547 * install-sh: Likewise.
19548
7dc15d8e 195492008-02-28 Robert Millan <rmh@aybabtu.com>
19550
19551 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19552 (aout_mod_SOURCES): New variable.
19553 (aout_mod_CFLAGS): Likewise.
19554 (aout_mod_LDFLAGS): Likewise.
19555
19556 * conf/i386-ieee1275.rmk: Likewise.
19557
b00ab696 195582008-02-28 Robert Millan <rmh@aybabtu.com>
19559
19560 * util/update-grub.in: Reorganise terminal validity check. Accept
19561 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19562 Based on suggestion by Franklin PIAT.
19563
79ca2d78 195642008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19565
19566 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19567 function.
19568 * util/getroot.c (grub_util_check_block_device): New function that
19569 returns the given argument if it is a block device and returns NULL else.
19570 * util/grub-probe.c (argument_is_device): New variable.
19571 (probe): Promote device_name from a variable to an argument. Receive
19572 device_name from grub_util_check_block_device() if path is NULL and from
19573 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 19574 (options): Introduce new parameter '-d, --device'.
79ca2d78 19575 (main): Add description of the new parameter to the help screen.
19576 Rename path variable to argument. Set argument_is_device if the '-d'
19577 option is given. Pass argument to probe() depending on
19578 argument_is_device.
19579
0d16e571 195802008-02-24 Bean <bean123ch@gmail.com>
19581
19582 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19583 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19584 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19585 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19586 (GRUB_ISO9660_VOLDESC_END): Likewise.
19587 (grub_iso9660_primary_voldesc): New member escape.
19588 (grub_iso9660_data): New member joliet.
19589 (grub_iso9660_convert_string): New function.
19590 (grub_iso9660_mount): Detect joliet extension.
19591 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19592 (grub_iso9660_iso9660_label): Likewise.
19593
19594 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19595 (grub_setup_SOURCES): Add fs/udf.c.
19596 (grub_fstest_SOURCES): Likewise.
19597 (udf_mod_SOURCES): New variable.
19598 (udf_mod_CFLAGS): Likewise.
19599 (udf_mod_LDFLAGS): Likewise.
19600
19601 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19602 (grub_emu_SOURCES): Likewise.
19603
19604 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19605
19606 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19607
19608 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19609
19610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19611
19612 * fs/udf.c: New file.
19613
8a594a17 196142008-02-24 Robert Millan <rmh@aybabtu.com>
19615
19616 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19617 (normal/lexer.c_DEPENDENCIES): New variables.
19618 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19619 (normal/lexer.c_DEPENDENCIES): Likewise.
19620 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19621 (normal/lexer.c_DEPENDENCIES): Likewise.
19622 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19623 (normal/lexer.c_DEPENDENCIES): Likewise.
19624 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19625 (normal/lexer.c_DEPENDENCIES): Likewise.
19626 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19627 (normal/lexer.c_DEPENDENCIES): Likewise.
19628
2dc33c03 196292008-02-23 Robert Millan <rmh@aybabtu.com>
19630
19631 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19632 since they were intended to be in hex. This didn't break previously
19633 because of a bug in gpt_partition_map_iterate() (see below).
19634
19635 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19636 when checking the validity of GPT header.
19637 Remove `partno', since it always provides the same information as `i'.
19638
f6f4cfb0 196392008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19640
19641 * include/grub/efi/time.h: Fix a wrong comment.
19642
79ff665f 196432008-02-19 Pavel Roskin <proski@gnu.org>
19644
19645 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19646 message.
19647
d38e24c2 196482008-02-19 Bean <bean123ch@gmail.com>
19649
19650 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19651 (aout_mod_SOURCES): New variable.
19652 (aout_mod_CFLAGS): Likewise.
19653 (aout_mod_LDFLAGS): Likewise.
19654 (_bsd_mod_SOURCES): New variable.
19655 (_bsd_mod_CFLAGS): Likewise.
19656 (_bsd_mod_LDFLAGS): Likewise.
19657 (bsd_mod_SOURCES): New variable.
19658 (bsd_mod_CFLAGS): Likewise.
19659 (bsd_mod_LDFLAGS): Likewise.
19660
19661 * include/grub/aout.h: New file.
19662
19663 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19664
19665 * include/grub/i386/bsd.h: New file.
19666
19667 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19668 to make it public.
19669
19670 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19671 function is called, so that it's possible to change it inside the hook.
19672 (grub_elf64_load): Likewise.
19673 (grub_elf_file): Don't close the file if elf header is not found.
19674 (grub_elf_close): Close the file if grub_elf_file fails (The new
19675 grub_elf_file won't close it).
19676 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19677 (grub_elf64_size): Likewise.
19678
19679 * kern/i386/loader.S (grub_unix_real_boot): New function.
19680
19681 * loader/aout.c: New file.
19682
19683 * loader/i386/bsd.c: New file.
19684
19685 * loader/i386/bsd_normal.c: New file.
19686
19687 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19688
19689 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 19690 can test other formats.
d38e24c2 19691
b93bdb0f 196922008-02-19 Robert Millan <rmh@aybabtu.com>
19693
19694 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19695 (grub_gpt_partition_type_empty): Redefine with macro from
19696 `<grub/gpt_partition.h>'.
19697 (gpt_partition_map_iterate): Adjust partition type comparison.
19698
19699 Export `entry' as partmap-specific `part.data' struct.
19700 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19701
19702 * include/grub/gpt_partition.h (grub_gpt_header)
19703 (grub_gpt_partentry): ... to here (new file).
19704
19705 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19706
19707 (grub_gpt_partition_type_bios_boot): New const variable, defined
19708 with macro from `<grub/gpt_partition.h>'.
19709
19710 (setup): Replace `first_start' with `embed_region', which keeps
19711 track of the embed region (and is partmap-agnostic).
19712
19713 Replace find_first_partition_start() with find_usable_region(),
19714 which finds a usable region for embedding using partmap-specific
19715 knowledge (supports PC/MSDOS and GPT).
19716
19717 Fix all assumptions that the embed region start at sector 1, using
19718 `embed_region.start' from now on. Similarly, use `embed_region.end'
19719 rather than `first_start' to calculate available size.
19720
19721 In grub_util_info() message, replace "into after the MBR" with an
19722 indication of the specific sector our embed region starts at.
19723
66cb40f6 197242008-02-19 Robert Millan <rmh@aybabtu.com>
19725
19726 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19727 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19728 `commands/reboot.c'.
19729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19730 (halt_mod_SOURCES): Likewise.
19731 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19732 (halt_mod_SOURCES): Likewise.
19733
b7202015 197342008-02-17 Christian Franke <franke@computer.org>
19735
19736 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19737
32b0fc49 197382008-02-17 Robert Millan <rmh@aybabtu.com>
19739
19740 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19741 set `first_start' to 0 for non-PC/MSDOS partition maps.
19742
aca63502 197432008-02-16 Robert Millan <rmh@aybabtu.com>
19744
19745 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19746 do not assume partition map is PC/MSDOS before performing checks that
19747 are specific to that layout.
19748
0de8be86 197492008-02-13 Robert Millan <rmh@aybabtu.com>
19750
19751 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19752 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19753 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19754
c3db8364 197552008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19756
19757 * configure.ac: Only a cosmetic change on the handling of
19758 -fno-stack-protector.
19759
f714229e 197602008-02-12 Alexandre Boeglin <alex@boeglin.org>
19761
c3db8364 19762 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19763 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19764 reboot.c.
f714229e 19765 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19766 (halt_mod_SOURCES): New variable.
19767 (halt_mod_CFLAGS): Likewise.
19768 (halt_mod_LDFLAGS): Likewise.
19769 (reboot_mod_SOURCES): Likewise.
19770 (reboot_mod_CFLAGS): Likewise.
19771 (reboot_mod_LDFLAGS): Likewise.
19772
c3db8364 19773 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19774 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19775 reboot.c.
f714229e 19776 (halt_mod_SOURCES): Likewise.
19777 (reboot_mod_SOURCES): Likewise.
19778
c3db8364 19779 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19780 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 19781 (reboot_mod_SOURCES): Likewise.
19782
19783 * commands/i386/pc/reboot.c: merge this file ...
19784
19785 * commands/ieee1275/reboot.c: ... and this file ...
19786
19787 * commands/reboot.c: ... to this file.
c3db8364 19788 Add some precompiler directive to include the correct header for
19789 each machine.
f714229e 19790
19791 * commands/ieee1275/halt.c: move this file ...
19792
19793 * commands/halt.c: ... to here.
c3db8364 19794 Add some precompiler directive to include the correct header for
19795 each machine.
f714229e 19796
19797 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19798 (grub_halt): Likewise.
19799
19800 * kern/efi/efi.c (grub_reboot): New function.
19801 (grub_halt): Likewise.
19802
c74493e0 198032008-02-12 Robert Millan <rmh@aybabtu.com>
19804
19805 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19806 /dev (like it is done for /dev/mapper). This doesn't provide support
19807 for EVMS, but at least it is now easy to identify the problem when it
19808 arises.
19809
d0db4b04 198102008-02-11 Robert Millan <rmh@aybabtu.com>
19811
19812 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19813 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19814 comparing it with -1, not 0.
19815
bf748642 198162008-02-10 Robert Millan <rmh@aybabtu.com>
19817
19818 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19819 `disk/lvm.c'.
19820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19821 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19822
19823 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19824 `disk/lvm.c' to the end of the list.
19825 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19826 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19827
b5db202a 198282008-02-10 Robert Millan <rmh@aybabtu.com>
19829
19830 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19831 grub_print_error() instead. This will let user know why we're entering
19832 rescue mode.
19833 Based on suggestions from Sam Morris.
19834
83abee31 198352008-02-10 Alexandre Boeglin <alex@boeglin.org>
19836
19837 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19838 on remaining N args, instead of "--" arg N times.
19839
78d5a08b 198402008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19841
19842 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19843 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19844 pattern for unknown glyphs.
19845
68807e5f 198462008-02-09 Robert Millan <rmh@aybabtu.com>
19847
19848 * configure.ac: Probe for `help2man'.
19849 * Makefile.in (builddir): New variable.
19850 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19851 or otherwise add a few flags/options to it.
19852 (install-local): For every executable utility or script that is
19853 installed, invoke $(HELP2MAN) to install a manpage based on --help
19854 output.
19855
19856 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19857 that it doesn't prevent --help from working in build tree.
19858
19859 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19860 with `bug-grub@gnu.org'.
19861 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19862 * util/update-grub.in (usage): New function.
19863 Implement proper argument check, with support for --help and --version
19864 (as well as existing -y).
19865
198662008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 19867
19868 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19869 avoid overwriting previous output.
19870 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19871
c1962162 198722008-02-09 Robert Millan <rmh@aybabtu.com>
19873
19874 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19875 drawing the menu.
19876
3dac2e3f 198772008-02-09 Robert Millan <rmh@aybabtu.com>
19878
19879 * commands/sleep.c: New file.
19880 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19881 (sleep_mod_SOURCES): New variable.
19882 (sleep_mod_CFLAGS): Likewise.
19883 (sleep_mod_LDFLAGS): Likewise.
19884
7a634e08 198852008-02-09 Robert Millan <rmh@aybabtu.com>
19886
19887 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19888 situations in which we can deduce the RAID size and the superblock
19889 doesn't match it.
19890
b92f0c18 198912008-02-09 Robert Millan <rmh@aybabtu.com>
19892
19893 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19894 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19895 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19896
19897 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19898 and return a grub_diskmemberlist_t composed of physical array members.
19899 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19900
19901 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19902 prototype.
19903 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19904 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19905 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19906
19907 * util/grub-probe.c (probe): Move partmap probing code from here ...
19908 (probe_partmap): ... to here.
19909 (probe): Use probe_partmap() once for the disk we're probing, and
19910 additionally, when such disk contains a memberlist() struct member,
19911 once for each disk that is contained in the structure returned by
19912 memberlist().
19913
91a4bf68 199142008-02-09 Robert Millan <rmh@aybabtu.com>
19915
19916 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19917 environment variable to 'all' in order to obtain debug output from
19918 non-util/ code.
19919 * util/i386/pc/grub-setup.c (main): Likewise.
19920
a96f9caa 199212008-02-08 Robert Millan <rmh@aybabtu.com>
19922
19923 * disk/raid.c (grub_raid_scan_device): Check for
19924 `array->device[sb.this_disk.number]' rather than for
19925 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 19926 guaranteed to be accessible.
a96f9caa 19927
b37a9222 199282008-02-08 Robert Millan <rmh@aybabtu.com>
19929
19930 * disk/raid.c: Update copyright.
19931 * fs/cpio.c: Likewise.
19932 * include/grub/raid.h: Likewise.
19933 * loader/i386/pc/multiboot.c: Likewise.
19934 * util/hostfs.c: Likewise.
19935
5626aee1 199362008-02-08 Robert Millan <rmh@aybabtu.com>
19937
19938 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19939 to a grub_disk_t array.
19940 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19941 `device[x]'.
19942 (grub_raid_scan_device): Replace `device[x].name' accesses with
19943 `device[x]->name'. Simplify initialization of `array->device[x]'.
19944
554f0187 199452008-02-08 Robert Millan <rmh@aybabtu.com>
19946
19947 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19948 grub_dprintf() calls.
19949 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19950 error message.
19951
1ec8425d 199522008-02-07 Christian Franke <franke@computer.org>
19953
19954 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19955 instead of fseek and ftell to support large files.
19956 (grub_hostfs_read): Likewise.
19957
f2156fda 199582008-02-07 Robert Millan <rmh@aybabtu.com>
19959
19960 Patch from Jeroen Dekkers.
19961 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 19962 failure, since successfully reading all array members might not be
f2156fda 19963 required.
19964
9216e0e7 199652008-02-06 Robert Millan <rmh@aybabtu.com>
19966
19967 * util/grub-probe.c (probe): Simplify partmap probing (with the
19968 assumption that the first word up to the underscore equals to
19969 the module name).
19970
b0dfd29a 199712008-02-06 Christian Franke <franke@computer.org>
19972
19973 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19974 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19975 last block of a cpio or tar stream.
19976 Check for "TRAILER!!!" instead of any empty data
19977 block to detect last block of a cpio stream.
19978 (grub_cpio_dir): Fix constness of variable np.
19979 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19980 cpio or tar trailer is detected. This fixes a crash
19981 on open of a non existing file.
19982
c32865bf 199832008-02-05 Bean <bean123ch@gmail.com>
19984
19985 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19986 address of entry.
19987 (grub_multiboot_load_elf64): Likewise.
19988 (grub_multiboot): Initialize mbi structure.
19989
19990 * util/grub-fstest.c: Don't include unused header file script.h.
19991
fe6b695a 19992 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 19993 of file.
19994 (grub_fstest_SOURCES): Likewise.
19995
409480b7 199962008-02-05 Robert Millan <rmh@aybabtu.com>
19997
19998 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19999 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
20000 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
20001 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
20002
20003 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
20004 (translation_table): Replace hardcoded values with macros
20005 provided by `<grub/term.h>'.
20006
20007 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
20008 (keyboard_map): Correct/add a few values, with macros provided
20009 by `<grub/term.h>'.
20010 (keyboard_map_shift): Zero values that don't differ from their
20011 `keyboard_map' equivalents.
20012 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
20013 Discard the second scan code that is always sent by Caps lock.
20014 Only use `keyboard_map_shift' when it provides a non-zero value,
20015 otherwise fallback to `keyboard_map'.
20016
99fadbaa 200172008-02-04 Bean <bean123ch@gmail.com>
20018
20019 * Makefile.in (enable_grub_fstest): New variable.
20020
20021 * conf/common.rmk (grub_fstest_init.lst): New rule.
20022 (grub_fstest_init.h): Likewise.
20023 (grub_fstest_init.c): Likewise.
20024 (util/grub-fstest.c_DEPENDENCIES): New variable.
20025 (grub_fstest_SOURCES): Likewise.
20026
20027 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
20028
20029 * util/grub-fstest.c: New file.
20030
bf567c50 200312008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20032
20033 Make grub-setup handle a separate root device.
f19dbdb7 20034
bf567c50 20035 * util/i386/pc/grub-setup.c (setup): Always open the root device,
20036 so that the root device can be compared with the destination
20037 device.
20038 When embedding the core image, if the root and destination devices
20039 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
20040 0xFF.
20041 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 20042
9be6b98b 200432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20044
20045 Add support for having a grub directory in a different drive. This
20046 is still only the data handling part.
f19dbdb7 20047
9be6b98b 20048 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
20049 (codestart): Save %dh in GRUB_ROOT_DRIVE.
20050 (grub_root_drive): New variable.
20051
20052 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
20053 instead of GRUB_BOOT_DRIVE to construct a device name. Set
20054 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
20055 as it was.
20056
20057 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
20058
20059 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
20060 macro.
20061 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
20062
20063 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
20064 is bogus, because PXE booting does not specify any drive
20065 correctly.
20066
20067 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
20068 am not sure if this is really correct.
20069
20070 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
20071 is always identical to the boot drive when booting from a CD.
20072
20073 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
20074 longer.
20075 (root_drive): New variable.
20076 (real_start): Unconditionally set %dh to ROOT_DRIVE.
20077 (setup_sectors): Push %dx right after popping it, because %dh will
20078 be modified later.
20079 (copy_buffer): Restore %dx.
20080
e0ca0677 200812008-02-03 Robert Millan <rmh@aybabtu.com>
20082
20083 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
20084 use `cdboot.img' for cdrom images.
20085
3b3f6629 200862008-02-03 Robert Millan <rmh@aybabtu.com>
20087
20088 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
20089 only setup gfxterm when `font' command has succeeded.
20090
d42b3672 200912008-02-03 Robert Millan <rmh@aybabtu.com>
20092
20093 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
20094 (grub_rescue_cmd_multiboot_loader)
20095 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
20096
fa370ea6 200972008-02-03 Pavel Roskin <proski@gnu.org>
20098
e0c5dacb 20099 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 20100 %edx and %esi from stack only after grub_gate_a20() is called.
20101 grub_gate_a20() clobbers %edx.
20102
f2a76e1d 201032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20104
20105 * configure.ac (AC_INIT): Bumped to 1.96.
20106
20107 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
20108 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
20109 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
20110 video/readers/png.c.
20111
90fd32d1 201122008-02-03 Bean <bean123ch@gmail.com>
9be665dd 20113
20114 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
20115 (cdboot_img_SOURCES): New variable.
20116 (cdboot_img_ASFLAGS): New variable.
20117 (cdboot_img_LDFLAGS): New variable.
20118
20119 * boot/i386/pc/cdboot.S: New file.
20120
20121 * disk/i386/pc/biosdisk.c (cd_start): New variable.
20122 (cd_count): Likewise.
20123 (grub_biosdisk_get_drive): Add support for cd device.
20124 (grub_biosdisk_call_hook): Likewise.
20125 (grub_biosdisk_iterate): Likewise.
20126 (grub_biosdisk_open): Likewise.
20127 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
20128 (grub_biosdisk_rw): Support reading from cd device.
20129 (GRUB_MOD_INIT): Iterate cd devices.
20130
20131 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
20132 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
20133 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
20134
20135 * kern/i386/pc/init.c (make_install_device): Check for cd device.
20136
4020aa53 201372008-02-02 Robert Millan <rmh@aybabtu.com>
20138
20139 * commands/read.c: New file.
20140 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
20141 (read_mod_SOURCES): New variable.
20142 (read_mod_CFLAGS): Likewise.
20143 (read_mod_LDFLAGS): Likewise.
20144
e03a1132 201452008-02-02 Robert Millan <rmh@aybabtu.com>
20146
20147 * normal/main.c (grub_normal_execute): Check for `menu->size' when
20148 determining whether menu has to be displayed.
20149
58c69220 201502008-02-02 Marco Gerards <marco@gnu.org>
20151
20152 * bus/pci.c: New file.
20153
20154 * include/grub/pci.h: Likewise.
20155
20156 * include/grub/i386/pc/pci.h: Likewise.
20157
20158 * commands/lspci.c: Likewise.
20159
20160 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
20161 `lspci.mod'.
20162 (pci_mod_SOURCES): New variable.
20163 (pci_mod_CFLAGS): Likewise.
20164 (pci_mod_LDFLAGS): Likewise.
20165 (lspci_mod_SOURCES): Likewise.
20166 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 20167 (lspci_mod_LDFLAGS): Likewise.
58c69220 20168
c004e1b4 201692008-02-02 Bean <bean123ch@gmail.com>
20170
20171 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
20172 (grub_ufs_get_file_block): Fix indirect block calculation problem.
20173
20174 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
20175 (grub_xfs_btree_node): New structure.
20176 (grub_xfs_btree_root): New structure.
20177 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
20178 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
20179 (GRUB_XFS_EXTENT_BLOCK): Likewise.
20180 (GRUB_XFS_EXTENT_SIZE): Likewise.
20181 (grub_xfs_read_block): Support btree format type.
20182 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
20183 Use directory block as basic unit.
20184
20185 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
20186
20187 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
20188 __attribute__ ((__regparm__ (1))).
20189
f95562bf 201902008-02-01 Robert Millan <rmh@aybabtu.com>
20191
20192 Correct a mistake in previous commit.
20193
20194 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
20195 top.
20196 (normal/command.c_DEPENDENCIES): New variable.
20197
7d31f41f 201982008-02-01 Robert Millan <rmh@aybabtu.com>
20199
20200 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
20201 top.
20202 (normal/command.c_DEPENDENCIES): New variable.
20203 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
20204 * conf/i386-ieee1275.rmk: Likewise.
20205 * conf/i386-linuxbios.rmk: Likewise.
20206 * conf/i386-pc.rmk: Likewise.
20207 * conf/sparc64-ieee1275.rmk: Likewise.
20208 * conf/powerpc-ieee1275.rmk: Likewise.
20209 (grub_emu_SOURCES): Add `fs/fshelp.c'.
20210
20211 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
20212
60b6be74 202132008-02-01 Robert Millan <rmh@aybabtu.com>
20214
20215 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
20216 call at beginning of function.
20217
078522ab 202182008-01-31 Pavel Roskin <proski@gnu.org>
20219
20220 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 20221 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
20222 (grub_mkrescue_SOURCES): Likewise.
078522ab 20223 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
20224
ccaa8a5f 202252008-01-30 Robert Millan <rmh@aybabtu.com>
20226
20227 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
20228 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
20229 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
20230 (grub_probe_SOURCES): ... to here.
20231
20232 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
20233 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
20234 * conf/i386-ieee1275.rmk: Likewise.
20235 * conf/i386-linuxbios.rmk: Likewise.
20236 * conf/powerpc-ieee1275.rmk: Likewise.
20237
ae5a9cd7 202382008-01-30 Tristan Gingold <gingold@free.fr>
20239
20240 * kern/rescue.c: Silently accept empty lines.
20241
70bc2ef2 202422008-01-29 Bean <bean123ch@gmail.com>
20243
20244 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
20245 (real_code_2): Code cleanup and change comment style.
20246 (move_memory): Avoid using 32-bit address mode.
20247
6a4d50ea 202482008-01-29 Bean <bean123ch@gmail.com>
20249
20250 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
20251 (png_mod_SOURCES): New variable.
20252 (png_mod_CFLAGS): Likewise.
20253 (png_mod_LDFLAGS): Likewise.
20254
20255 * video/readers/png.c: New file.
20256
11cc30ac 202572008-01-28 Robert Millan <rmh@aybabtu.com>
20258
20259 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
20260 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
20261 `ifndef GRUB_MOD_GAP' hack.
20262 * util/elf/grub-mkimage.c (add_segments): Likewise.
20263
3abc589f 202642008-01-27 Robert Millan <rmh@aybabtu.com>
20265
20266 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
20267 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 20268 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 20269
e1907778 202702008-01-27 Robert Millan <rmh@aybabtu.com>
20271
20272 Get grub-emu to build again (including parallel builds).
20273
20274 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
20275 Split into ...
20276 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20277 (normal/execute.c_DEPENDENCIES): ... this, ...
20278 (grub-emu_DEPENDENCIES): ... and this.
20279
20280 * conf/i386-efi.rmk: Likewise.
20281 * conf/i386-linuxbios.rmk: Likewise.
20282 * conf/i386-ieee1275.rmk: Likewise.
20283 * conf/powerpc-ieee1275.rmk: Likewise.
20284 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20285
2216b101 202862008-01-27 Robert Millan <rmh@aybabtu.com>
20287
20288 * NEWS: Add a few items.
20289
f75172d9 202902008-01-27 Robert Millan <rmh@aybabtu.com>
20291
20292 Fix parallel builds with grub-emu. Based on earlier commit for
20293 grub-probe and grub-setup.
20294
20295 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20296 (util/grub-emu.c_DEPENDENCIES): ... this.
20297 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20298 (util/grub-emu.c_DEPENDENCIES): ... this.
20299 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20300 (util/grub-emu.c_DEPENDENCIES): ... this.
20301 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20302 (util/grub-emu.c_DEPENDENCIES): ... this.
20303 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20304 (util/grub-emu.c_DEPENDENCIES): ... this.
20305
3f51de77 203062008-01-27 Pavel Roskin <proski@gnu.org>
20307
20308 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20309 to create a gap between _end and the modules added to the image
20310 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20311 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20312 * util/elf/grub-mkimage.c (add_segments): Likewise.
20313
2033f53e 203142008-01-26 Pavel Roskin <proski@gnu.org>
20315
20316 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20317 just return an error.
20318
22da1f6f 203192008-01-26 Bean <bean123ch@gmail.com>
20320
20321 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20322 (grub_reiserfs_get_item): Save offset of the next item.
20323 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20324
2a9525e6 203252008-01-25 Robert Millan <rmh@aybabtu.com>
20326
20327 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20328 make all filesystem sources appear together (possibly fixing omissions
20329 while at it).
20330 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20332 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20334
20335 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20336 add `kern/file.c'.
20337 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20338 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20339 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20340 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20341
20342 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20343 (probe): Add a sanity check to make sure of our ability to read
20344 requested files when probing for filesystem type.
20345
20346 * genmk.rb: Update copyright year (2007).
20347
20348 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20349 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20350 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20351 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20352 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20353 : Remove function prototypes.
20354
b95f71b5 203552008-01-25 Robert Millan <rmh@aybabtu.com>
20356
20357 Revert my previous commits (based on wrong assumption of how grub_errno
20358 works).
20359
fe6b695a 20360 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 20361 * kern/file.c (grub_file_open): Likewise.
20362
d08bbb49 203632008-01-24 Pavel Roskin <proski@gnu.org>
20364
20365 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20366 that hang if GRUB tries to setup colors.
20367 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20368 colors for firmwares that don't support it.
20369 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20370 Recognize Open Hack'Ware, set flags to work around its
20371 limitations.
20372
605e36ed 203732008-01-24 Robert Millan <rmh@aybabtu.com>
20374
20375 * kern/file.c (grub_file_open): Do not account previous failures of
20376 unrelated functions when grub_errno is checked for.
20377 Reported by Oleg Strikov.
20378
bac332a1 203792008-01-24 Bean <bean123ch@gmail.com>
20380
20381 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20382 (grub_ufs_sblock): New member volume name.
20383 (grub_ufs_find_file): Fix string copy bug.
20384 (grub_ufs_label): Implement this function properly.
20385
20386 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20387 (grub_hfs_iterate_records): Use the correct file number for extents
20388 and catalog file. Fix problem in next index calculation.
20389 (grub_hfs_find_node): Replace recursive function call with loop.
20390 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20391
15c80c09 203922008-01-23 Robert Millan <rmh@aybabtu.com>
20393
20394 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20395 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20396 (grub_multiboot2_real_boot): New function prototype.
20397
20398 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20399 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20400
20401 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20402 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20403
305338fd 204042008-01-23 Robert Millan <rmh@aybabtu.com>
20405
20406 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20407 #ifdef'ed out grub_printf().
20408
3ea52685 204092008-01-23 Robert Millan <rmh@aybabtu.com>
20410
20411 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20412 grub_dprintf calls, since they make "debug=all" mode unusable.
20413 (grub_console_checkkey): Likewise.
20414
5882ae4b 204152008-01-23 Robert Millan <rmh@aybabtu.com>
20416
20417 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20418 `term/i386/pc/at_keyboard.c'.
20419 (pkglib_MODULES): Add `serial.mod'.
20420 (serial_mod_SOURCES): New variable.
20421 (serial_mod_CFLAGS): Likewise.
20422 (serial_mod_LDFLAGS): Likewise.
20423
20424 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20425 `<grub/powerpc/ieee1275/console.h>'.
20426 (grub_keyboard_controller_init): New function prototype.
20427 (grub_console_checkkey): Likewise.
20428 (grub_console_getkey): Likewise.
20429
20430 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20431 keyboard on i386.
20432
20433 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20434 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20435
06ab5303 204362008-01-23 Robert Millan <rmh@aybabtu.com>
20437
20438 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20439 present, "(memdisk)/boot/grub" becomes the default prefix.
20440
20441 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20442 a memdisk tarball with all the modules. Add --overlay=DIR option that
20443 allows users to overlay additional files into the image.
20444
dbb475a4 204452008-01-23 Robert Millan <rmh@aybabtu.com>
20446
20447 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20448 and `machine/memory.h'.
20449 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20450 (_multiboot_mod_SOURCES): New variable.
20451 (_multiboot_mod_CFLAGS): Likewise.
20452 (_multiboot_mod_LDFLAGS): Likewise.
20453 (multiboot_mod_SOURCES): Likewise.
20454 (multiboot_mod_CFLAGS): Likewise.
20455 (multiboot_mod_LDFLAGS): Likewise.
20456
20457 * include/grub/i386/ieee1275/loader.h: New file.
20458
20459 * include/grub/i386/ieee1275/machine.h: Likewise.
20460
20461 * include/grub/i386/ieee1275/memory.h: Likewise.
20462
20463 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20464 variable declaration.
20465 (grub_os_area_size): Likewise.
20466
20467 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20468 (grub_lower_mem, grub_upper_mem): New variables.
20469 (grub_stop_floppy): New function (just to make
20470 grub_multiboot2_real_boot() happy).
20471
20472 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20473 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20474 (grub_stop): New function.
20475 Include `"../realmode.S"' and `"../loader.S"'.
20476
20477 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20478 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20479
20480 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20481 rely on grub_multiboot2_real_boot() for final boot.
20482
25638629 204832008-01-22 Robert Millan <rmh@aybabtu.com>
20484
20485 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20486 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20487 device that doesn't look like an SD card.
20488 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20489 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20490 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20491 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20492 found.
20493
9dad816d 204942008-01-22 Robert Millan <rmh@aybabtu.com>
20495
20496 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20497 avoid claiming over our own code.
20498
34842f2d 204992008-01-22 Bean <bean123ch@gmail.com>
20500
20501 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20502 (jpeg_mod_SOURCES): New variable.
20503 (jpeg_mod_CFLAGS): Likewise.
20504 (jpeg_mod_LDFLAGS): Likewise.
20505
20506 * video/readers/jpeg.c : New file.
20507
44023a28 205082008-01-22 Bean <bean123ch@gmail.com>
20509
20510 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20511 there are no more items.
20512
bc2d8ac6 205132008-01-21 Robert Millan <rmh@aybabtu.com>
20514
20515 * kern/mm.c (grub_mm_init_region): Improve debug message.
20516
261bd4bc 205172008-01-21 Robert Millan <rmh@aybabtu.com>
20518
20519 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20520 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20521 address.
20522 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20523 a C macro.
20524 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20525 Indicates start of upper memory.
20526 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20527 (generate_image): Abort when image size is big enough to corrupt
20528 upper memory.
20529
20530 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20531 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20532 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20533 instead of hardcoding 0xA0000.
20534 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20535 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20536 instead of hardcoding 0xA0000.
20537
f970b55e 205382008-01-21 Robert Millan <rmh@aybabtu.com>
20539
20540 * disk/memdisk.c (memdisk_size): New variable.
20541 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20542 `memdisk_size'.
20543 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20544 image to dynamic memory.
20545 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20546 `memdisk_size'. Free memdisk block.
20547
1a8b0526 205482008-01-21 Robert Millan <rmh@aybabtu.com>
20549
20550 Fix detection of very small filesystems (like tar).
20551
20552 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20553 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20554 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20555 a problem with this disk).
20556
6e9b4aab 205572008-01-21 Robert Millan <rmh@aybabtu.com>
20558
20559 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20560 on grub_biosdisk_rw_standard() error.
20561
0d8837b2 205622008-01-21 Robert Millan <rmh@aybabtu.com>
20563
20564 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20565 recent changes.
20566 * kern/elf.c: Likewise.
20567 * kern/ieee1275/ieee1275.c: Likewise.
20568 * kern/powerpc/ieee1275/openfw.c: Likewise.
20569 * term/ieee1275/ofconsole.c: Likewise.
20570
ffd36e34 205712008-01-21 Robert Millan <rmh@aybabtu.com>
20572
20573 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20574
3f0093d0 20575 * include/grub/kernel.h (grub_arch_memdisk_addr)
20576 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 20577
3f0093d0 20578 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20579 (grub_arch_memdisk_size): ... to here.
ffd36e34 20580
6c391b21 205812008-01-21 Robert Millan <rmh@aybabtu.com>
20582
20583 Mostly based on bugfix from Bean.
20584
20585 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20586 attribute with hook() parameter.
20587 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20588 declaration.
20589 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20590 attribute with hook() parameter.
20591 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20592 declaration.
20593
55a581dc 205942008-01-21 Robert Millan <rmh@aybabtu.com>
20595
20596 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20597 (pkglib_MODULES): Add `memdisk.mod'.
20598 (memdisk_mod_SOURCES): New variable.
20599 (memdisk_mod_CFLAGS): Likewise.
20600 (memdisk_mod_LDFLAGS): Likewise.
20601
20602 * disk/memdisk.c: New file.
20603
20604 * include/grub/disk.h (grub_disk_dev_id): Add
20605 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20606
20607 * include/grub/i386/pc/kernel.h
20608 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20609 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20610 (grub_kernel_image_size): New variable declaration.
20611 (grub_total_module_size): Likewise.
20612 (grub_memdisk_image_size): Likewise.
20613
20614 * include/grub/i386/pc/memory.h
20615 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20616
20617 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20618 (grub_arch_memdisk_addr): New variable declaration.
20619 (grub_arch_memdisk_size): Likewise.
20620
20621 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20622 (grub_arch_memdisk_size): Likewise.
20623
20624 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20625 (codestart): Replace hardcoded `0x100000' with
20626 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20627
20628 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20629 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20630 not NULL, append the contents of the file it refers to, at the end of
20631 the compressed kernel image. Initialize `grub_memdisk_image_size'
20632 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20633 (options): Add "memdisk"|'m' option.
20634 (main): Parse --memdisk|-m option, and pass user-provided path as
20635 parameter to generate_image().
20636
3d7f54c9 206372008-01-20 Robert Millan <rmh@aybabtu.com>
20638
20639 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20640 grub_dprintf() calls from here ...
20641 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20642
0bf74728 206432008-01-20 Robert Millan <rmh@aybabtu.com>
20644
20645 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20646
20647 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20648 declaration.
20649 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20650 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20651 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 20652 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 20653 property).
20654 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20655 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20656
33bf70a7 206572008-01-19 Robert Millan <rmh@aybabtu.com>
20658
fe6b695a 20659 Get rid of confusing function (superseded by
33bf70a7 20660 `grub_ieee1275_get_integer_property')
20661 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20662 prototype.
20663 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20664 function.
20665 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20666 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 20667 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 20668
e2da7d26 206692008-01-19 Robert Millan <rmh@aybabtu.com>
20670
20671 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20672 command after "shut-down", since implementations differ on which
20673 the command for halt is.
20674
59f1fd8d 206752008-01-19 Robert Millan <rmh@aybabtu.com>
20676
20677 * include/grub/i386/linuxbios/console.h: Add header protection.
20678 (grub_keyboard_controller_init): New function prototype.
20679 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20680 (KEYBOARD_COMMAND_READ): Likewise.
20681 (KEYBOARD_COMMAND_WRITE): Likewise.
20682 (KEYBOARD_SCANCODE_SET1): Likewise.
20683 (grub_keyboard_controller_write): New function.
20684 (grub_keyboard_controller_read): Likewise.
20685 (grub_keyboard_controller_init): Likewise.
20686
20687 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20688 (grub_console_init): On coreboot/LinuxBIOS, call
20689 grub_keyboard_controller_init().
20690
5f5a7c15 206912008-01-19 Robert Millan <rmh@aybabtu.com>
20692
20693 PowerPC changes provided by Pavel Roskin.
20694
20695 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20696 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20697 don't rely on cmain() doing it.
20698 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20699 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20700
1210e168 207012008-01-16 Robert Millan <rmh@aybabtu.com>
20702
20703 * include/grub/i386/linuxbios/memory.h
20704 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20705 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20706 receive `table_header' as argument. Instead, probe for it in the
20707 known memory ranges where it can be present.
20708 (grub_available_iterate): Do not pass a fixed `table_header' address
20709 to grub_linuxbios_table_iterate().
20710
3d04eab8 207112008-01-15 Robert Millan <rmh@aybabtu.com>
20712
20713 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20714 * conf/i386-ieee1275.rmk: New file.
20715 * include/grub/i386/ieee1275/console.h: Likewise.
20716 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20717 * include/grub/i386/ieee1275/kernel.h: Likewise.
20718 * include/grub/i386/ieee1275/time.h: Likewise.
20719 * kern/i386/ieee1275/init.c: Likewise.
20720 * kern/i386/ieee1275/startup.S: Likewise.
20721
d1bc1b73 207222008-01-15 Robert Millan <rmh@aybabtu.com>
20723
20724 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20725 when pointers are 32-bit (but still do set it to one when they are
20726 64-bit).
20727
66a65807 207282008-01-15 Robert Millan <rmh@aybabtu.com>
20729
20730 * include/grub/ieee1275/ieee1275.h
20731 (grub_ieee1275_get_integer_property): New function prototype.
20732
20733 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20734 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 20735 grub_ieee1275_get_property() to handle endianness.
66a65807 20736
20737 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20738 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 20739 where appropriate.
66a65807 20740 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20741 (grub_map): Likewise.
20742 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20743
a83ccafd 207442008-01-15 Bean <bean123ch@gmail.com>
20745
20746 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20747 (grub_script_execute_cmdline): Reset grub_errno.
20748
20749 * normal/main.c (read_config_file): Reset grub_errno.
20750
20751 * normal/parse.y (script_init): New.
20752 (script): Move function and menuentry here.
20753 (delimiter): New.
20754 (command): Add delimiter at the end of command.
20755 (commands): Adjust to match the new command.
20756 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 20757 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 20758 (if): Use the new commands.
20759
20760 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20761
df6ecfc6 207622008-01-15 Robert Millan <rmh@aybabtu.com>
20763
20764 * normal/menu.c (run_menu): Move timeout message from here ...
20765 (print_timeout): ... to here.
20766 (run_menu): Use print_timeout() once during initial draw to print
20767 the whole message, and again in every clock tick to update only
20768 the number of seconds.
20769
87ae25eb 207702008-01-15 Robert Millan <rmh@aybabtu.com>
20771
20772 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20773 actual size of `available' from grub_ieee1275_get_property(), and
20774 restrict parsing to that bound.
20775
47bf09a4 207762008-01-15 Christian Franke <franke@computer.org>
20777
20778 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20779 (argp_program_version): Remove variable.
20780 (argp_program_bug_address): Likewise.
20781 (options): Convert from struct argp_option to struct option.
20782 (struct arguments): Remove.
20783 (parse_opt): Remove.
20784 (usage): New function.
20785 (main): Replace struct args members by simple variables.
20786 Replace argp_parse() by getopt_long().
20787 Add switch to evaluate options.
20788 Add missing "(...)" around root_dev in prefix string.
20789
c86f1469 207902008-01-14 Robert Millan <rmh@aybabtu.com>
20791
20792 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20793 for grub_ieee1275_exit(), in order to improve portability.
20794
e622c559 207952008-01-14 Robert Millan <rmh@aybabtu.com>
20796
20797 * util/grub.d/10_linux.in (prefix): Define.
20798 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20799
44cb1ec8 208002008-01-13 Pavel Roskin <proski@gnu.org>
20801
20802 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20803 grub_errno if no errors have been detected.
20804
1eb8c802 208052008-01-12 Robert Millan <rmh@aybabtu.com>
20806
20807 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20808 (grub_util_get_dev_abstraction): New function prototype.
20809
20810 * util/getroot.c: Include `<grub/util/getroot.h>'
20811 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20812 (grub_util_get_dev_abstraction): ... here (new function).
20813
20814 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20815 `PRINT_ABSTRACTION'.
20816 (probe): Probe for abstraction type when requested.
20817 (main): Understand `--target=abstraction'.
20818
20819 * util/i386/efi/grub-install.in: Add abstraction module to core
20820 image when it is found to be necessary.
20821 * util/i386/pc/grub-install.in: Likewise.
20822 * util/powerpc/ieee1275/grub-install.in: Likewise.
20823
20824 * util/update-grub_lib.in (font_path): Return system path without
20825 converting to GRUB path.
20826 * util/update-grub.in: Convert system path returned by font_path()
20827 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20828 abstraction module is needed for loading fonts (if any). Export
20829 that as `GRUB_PRELOAD_MODULES'.
20830 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20831 insmod commands).
20832
52bd3de9 208332008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20834
20835 Remove some unused code from reiserfs.
f19dbdb7 20836
52bd3de9 20837 * fs/reiserfs.c (struct grub_reiserfs_key)
20838 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20839 (struct grub_reiserfs_node_body): Removed.
20840 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20841 Likewise.
20842 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20843 Likewise.
20844 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20845 Likewise.
20846 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20847 Likewise.
20848 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20849 Likewise.
20850 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20851 Likewise.
20852 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20853 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20854 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20855
2f80039d 208562008-01-10 Robert Millan <rmh@aybabtu.com>
20857
20858 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20859 Determines if a file is garbage left by packaging systems, etc.
20860 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20861 for processing /etc/grub.d scripts.
20862 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20863 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20864 as a condition for processing Linux images.
20865
87888032 208662008-01-10 Pavel Roskin <proski@gnu.org>
20867
20868 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20869 to compile reiserfs.c on PowerPC.
20870
7e54fced 208712008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 20872
20873 * kern/device.c (grub_device_iterate): Do not abort device iteration
20874 when one of the devices cannot be opened.
20875 * kern/disk.c (grub_disk_open): Do not account previous failures of
20876 unrelated functions when grub_errno is checked for.
20877
5aa541e6 208782008-01-08 Robert Millan <rmh@aybabtu.com>
20879
20880 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20881 `! grub_linux_is_bzimage', change order of address comparison to make
20882 it more intuitive, and improve "too big zImage" error message.
20883
7076340d 208842008-01-08 Robert Millan <rmh@aybabtu.com>
20885
20886 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20887 `$(update-grub_DATA)'.
20888 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20889 targets.
20890
9ca70333 208912008-01-07 Robert Millan <rmh@aybabtu.com>
20892
20893 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20894 which instruction is modified by grub-setup during installation
20895 (since it wasn't obvious by only looking at this file).
20896
38ccf575 208972008-01-07 Robert Millan <rmh@aybabtu.com>
20898
20899 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20900 listing actual TODO items.
20901
f5db4291 209022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20903
868967cf 20904 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20905 correctly.
20906 (grub_reiserfs_get_key_offset): Likewise.
20907 (grub_reiserfs_set_key_offset): Likewise.
20908 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 20909 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 20910
20911 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20912 better to remove the bitfield version completely.
f19dbdb7 20913
868967cf 209142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20915
f5db4291 20916 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20917 allocated from the heap, due to the fshelp implementation.
20918 (grub_reiserfs_dir): Free NODE, due to the same reason.
20919
492e6d9d 209202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20921
20922 Mostly from Vincent Pelletier:
f19dbdb7 20923
492e6d9d 20924 * fs/reiserfs.c: New file.
f19dbdb7 20925
492e6d9d 20926 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20927 (reiserfs_mod_SOURCES): New variable.
20928 (reiserfs_mod_CFLAGS): Likewise.
20929 (reiserfs_mod_LDFLAGS): Likewise.
20930
20931 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20932 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20933 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20934 normal/color.c.
20935
9ce3e7c1 209362008-01-06 Robert Millan <rmh@aybabtu.com>
20937
20938 * normal/color.c: Remove `<grub/env.h>'.
20939
f3b58148 209402008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20941
20942 * include/grub/normal.h: Include <grub/env.h>.
20943
7ac3bcfa 209442008-01-05 Robert Millan <rmh@aybabtu.com>
20945
20946 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20947 usage example with `(hd0,1)'.
fb358190 20948 Reported by Samuel Thibault.
7ac3bcfa 20949
c8ee99d7 209502008-01-05 Robert Millan <rmh@aybabtu.com>
20951
20952 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20953 (grub_linux_boot_zimage): Rename to ...
20954 (grub_linux_boot): ... this.
20955 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20956 (grub_linux_boot_zimage): Conditionalize zImage copy.
20957
20958 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20959 (grub_linux_boot_bzimage): Remove prototype.
20960 (grub_linux_boot_zimage): Rename to ...
20961 (grub_linux_boot): ... this.
20962
20963 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20964 (grub_linux_boot): Remove function.
20965
0ece25b1 209662008-01-05 Robert Millan <rmh@aybabtu.com>
20967
20968 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20969 (grub_env_write_color_highlight): Likewise.
20970 (grub_wait_after_message): Likewise.
20971
20972 * normal/color.c: New file.
20973
20974 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20975 (normal_mod_DEPENDENCIES): Likewise.
20976
20977 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20978 (normal_mod_DEPENDENCIES): Likewise.
20979
20980 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20981 (normal_mod_DEPENDENCIES): Likewise.
20982
20983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20984 (normal_mod_DEPENDENCIES): Likewise.
20985
20986 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20987 for waiting after a message is printed.
20988 * normal/main.c (read_config_file): Likewise.
20989 (grub_normal_init): Register grub_env_write_color_normal() and
20990 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20991 `color_highlight' variables as global.
20992
20993 * normal/menu.c (grub_wait_after_message): New function.
20994 (grub_color_menu_normal): New variable. Replaces ...
20995 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20996 (grub_color_menu_highlight): New variable. Replaces ...
20997 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20998 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20999 `GRUB_TERM_COLOR_STANDARD'.
21000 (print_message): Use `grub_setcolorstate' to reload colors. Rename
21001 `normal_code' and `highlight_code' to `old_color_normal' and
21002 `old_color_highlight', respectively.
21003 (grub_menu_init_page): Update colors when drawing the menu, based on
21004 `menu_color_normal' and `menu_color_highlight' variables.
21005 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
21006 a message is printed.
21007
182dd4e5 210082008-01-05 Robert Millan <rmh@aybabtu.com>
21009
21010 * kern/env.c (grub_env_context_open): Propagate hooks for global
21011 variables to new context.
21012
21013 * kern/main.c (grub_set_root_dev): Export `root' variable.
21014
ddf8f6ad 210152008-01-05 Robert Millan <rmh@aybabtu.com>
21016
21017 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 21018 discs unconditionally, since udev and others have options to provide
ddf8f6ad 21019 them.
21020
d8b43d9b 210212008-01-05 Robert Millan <rmh@aybabtu.com>
21022
21023 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
21024
2bff2de3 210252008-01-04 Christian Franke <franke@computer.org>
21026
21027 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
21028 of eisa_mmap.
21029
97eab917 210302008-01-03 Pavel Roskin <proski@gnu.org>
21031
21032 * kern/i386/linuxbios/init.c: Put "void" to all function
21033 declarations with no arguments.
21034 * kern/powerpc/ieee1275/init.c: Likewise.
21035 * term/i386/pc/at_keyboard.c: Likewise.
21036 * term/i386/pc/vga_text.c: Likewise.
21037 * util/grub-mkdevicemap.c: Likewise.
21038
b9416d00 210392008-01-02 Robert Millan <rmh@aybabtu.com>
21040
21041 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
21042 message when loaded image is out of bounds.
21043 (grub_multiboot_load_elf64): Likewise.
21044
92695df9 210452008-01-02 Pavel Roskin <proski@gnu.org>
21046
21047 * util/grub.d/10_linux.in: Try version without ".old" when
21048 looking for initrd. It's better to use initrd from the newer
21049 kernel of the same version than no initrd at all.
21050
d98d9cad 210512008-01-01 Robert Millan <rmh@aybabtu.com>
21052
21053 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
21054
dbfdce36 210552008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
21056
f19dbdb7 21057 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 21058 grub_video_get_active_render_target.
21059 (grub_video_adapter): Added unmap_color and get_active_render_target.
21060
f19dbdb7 21061 * video/video.c: Added grub_video_unmap_color and
dbfdce36 21062 grub_video_get_active_render_target.
21063 (grub_video_get_info): Changed method to accept NULL pointer as an
21064 argument to allow detection of active video adapter.
21065
21066 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
21067 grub_video_vbe_unmap_color_int.
21068 Added grub_video_vbe_unmap_color and
21069 grub_video_vbe_get_active_render_target.
21070 (grub_video_vbe_adapter): Added unmap_color and
21071 get_active_render_target.
21072
f19dbdb7 21073 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 21074 with grub_video_vbe_unmap_color_int.
21075
21076 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
21077 (DEFAULT_NORMAL_COLOR): Likewise.
21078 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
21079 (DEFAULT_FG_COLOR): Removed.
21080 (DEFAULT_BG_COLOR): Likewise.
21081 (DEFAULT_CURSOR_COLOR): Changed value.
21082 (grub_virtual_screen): Added standard_color_setting,
21083 normal_color_setting, highlight_color_setting and term_color.
21084 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
21085 (bitmap_width): Added.
21086 (bitmap_height): Likewise.
21087 (bitmap): Likewise.
21088 (set_term_color): Likewise.
21089 (grub_virtual_screen_setup): Changed to use new terminal coloring
21090 settings.
21091 (grub_gfxterm_init): Added init for bitmap.
21092 (grub_gfxterm_fini): Added destroy for bitmap.
21093 (redraw_screen_rect): Updated to use background bitmap and new
21094 terminal coloring.
21095 (scroll_up): Added optimization for case when there is no bitmap.
21096 (grub_gfxterm_cls): Fixed to use correct background color.
21097 (grub_virtual_screen_setcolorstate): Changed to use new terminal
21098 coloring.
21099 (grub_virtual_screen_setcolor): Likewise.
21100 (grub_virtual_screen_getcolor): Added.
21101 (grub_gfxterm_background_image_cmd): Likewise.
21102 (grub_video_term): Added setcolor and getcolor.
21103 (MOD_INIT): Added registration of background_image command.
21104 (MOD_TERM): Added unregistration for background_image command.
21105
c3c20931 211062007-12-30 Pavel Roskin <proski@gnu.org>
21107
21108 * loader/multiboot_loader.c: Fix multiboot command
21109 unregistration. Fix all typos in the word "multiboot".
21110
df266716 211112007-12-29 Pavel Roskin <proski@gnu.org>
94239199 21112
21113 * util/grub.d/10_linux.in: Refactor search for initrd. Add
21114 support for initrd names used in Fedora.
21115
fc6e896c 211162007-12-26 Bean <bean123ch@gmail.com>
21117
21118 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
21119 (cpio_mod_SOURCES): New variable.
21120 (cpio_mod_CFLAGS): Likewise.
21121 (cpio_mod_LDFLAGS): Likewise.
21122
21123 * fs/cpio.c: New file.
21124
21125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
21126
21127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21128
21129 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21130
21131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21132
533110ad 211332007-12-25 Robert Millan <rmh@aybabtu.com>
21134
21135 * include/grub/term.h (struct grub_term): Add `getcolor' function.
21136 (grub_getcolor): New function.
21137
21138 * kern/term.c (grub_getcolor): New function.
21139 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
21140 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
21141 (print_entry): Set normal and highlight colors to
21142 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
21143 respectively, before printing and restore them to old
21144 values afterwards.
21145 (grub_menu_init_page): Likewise. Fill an additional colored space
21146 that would otherwise be left blank.
21147
21148 * term/efi/console.c (grub_console_getcolor): New function.
21149 (struct grub_console_term.getcolor): New variable.
21150 * term/i386/pc/console.c (grub_console_getcolor): New function.
21151 (struct grub_console_term.getcolor): New variable.
21152 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
21153 (struct grub_console_term.getcolor): New variable.
21154
21155 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
21156 (struct grub_console_term.setcolor): Remove variable.
21157 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
21158 (struct grub_console_term.setcolor): Remove variable.
21159 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
21160 (struct grub_console_term.setcolor): Remove variable.
21161 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
21162 (struct grub_console_term.setcolor): Remove variable.
21163
4931827f 211642007-12-25 Robert Millan <rmh@aybabtu.com>
21165
21166 * configure.ac: Search for possible unifont.hex locations, and
21167 define UNIFONT_HEX if found.
21168
21169 * Makefile.in (UNIFONT_HEX): Define variable.
21170 (DATA): Rename to ...
21171 (PKGLIB): ... this. Update all users.
21172 (PKGDATA): New variable.
21173 (pkgdata_IMAGES): Rename to ...
21174 (pkglib_IMAGES): ... this. Update all users.
21175 (pkgdata_MODULES): Rename to ...
21176 (pkglib_MODULES): ... this. Update all users.
21177 (pkgdata_PROGRAMS): Rename to ...
21178 (pkglib_PROGRAMS): ... this. Update all users.
21179 (pkgdata_DATA): Rename to ...
21180 (pkglib_DATA): ... this. Update all users.
21181 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
21182 (unicode.pff, ascii.pff): New rules.
21183 (all-local): Add `$(PKGDATA)' dependency.
21184 (install-local): Process `$(PKGDATA)'.
21185
21186 * util/update-grub_lib.in (font_path): Search for *.pff files in
21187 a few more locations, including `${pkgdata}'.
21188
57e57e31 211892007-12-23 Robert Millan <rmh@aybabtu.com>
21190
21191 Patch from Bean <bean123ch@gmail.com>:
21192 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
21193 `size'.
21194
4bc72aa9 211952007-12-21 Bean <bean123ch@gmail.com>
21196
21197 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
21198 (ntfscomp_mod_SOURCES): New variable.
21199 (ntfscomp_mod_CFLAGS): Likewise.
21200 (ntfscomp_mod_LDFLAGS): Likewise.
21201
21202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
21203 (grub_probe_SOURCES): Likewise.
21204 (grub_emu_SOURCES): Likewise.
21205
21206 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21207 (grub_emu_SOURCES): Likewise.
21208
21209 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21210 (grub_emu_SOURCES): Likewise.
21211
21212 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21213 (grub_emu_SOURCES): Likewise.
21214
21215 * fs/ntfs.c (grub_ntfscomp_func): New variable.
21216 (read_run_list): Renamed to grub_ntfs_read_run_list.
21217 (decomp_nextvcn): Moved to ntfscomp.c.
21218 (decomp_getch): Likewise.
21219 (decomp_get16): Likewise.
21220 (decomp_block): Likewise.
21221 (read_block): Likewise.
21222 (read_data): Partially moved to ntfscomp.c.
21223 (fixup): Change unsigned to grub_uint16_t.
21224 (read_mft): Change unsigned long to grub_uint32_t.
21225 (read_attr): Likewise.
21226 (read_data): Likewise.
21227 (read_run_data): Likewise.
21228 (read_run_list): Likewise.
21229 (read_mft): Likewise.
21230
21231 * fs/ntfscomp.c: New file.
21232
21233 * include/grub/ntfs.h: New file.
21234
af680a87 212352007-12-16 Robert Millan <rmh@aybabtu.com>
21236
21237 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
21238 IDE disk check, since Linux is known to support 20 IDE disks.
21239 Reported by Colin Watson.
21240
84be7599 212412007-12-15 Bean <bean123ch@gmail.com>
21242
21243 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
21244 (lnxboot_img_SOURCES): New variable.
21245 (lnxboot_img_ASFLAGS): Likewise.
21246 (lnxboot_img_LDFLAGS): Likewise.
21247
21248 * boot/i386/pc/lnxboot.S: New file.
21249
6af9db01 212502007-11-24 Pavel Roskin <proski@gnu.org>
21251
21252 * configure.ac: Test if '--build-id=none' is supported by the
21253 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
21254 objcopy to generate incorrect binary files (binutils
21255 2.17.50.0.18-1 as shipped by Fedora 8).
21256 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
21257 linking, so that build ID doesn't break the test.
21258
7361cfe6 212592007-11-24 Pavel Roskin <proski@gnu.org>
21260
21261 * include/grub/i386/time.h: use "void" in the argument list
21262 of grub_cpu_idle().
21263 * include/grub/powerpc/time.h: Likewise.
21264 * include/grub/sparc64/time.h: Likewise.
21265
1593e10c 212662007-11-18 Christian Franke <franke@computer.org>
21267
21268 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
21269 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
21270 This fixes the problem that function keys did not work in grub-emu.
21271
3b8db1a8 212722007-11-18 Christian Franke <franke@computer.org>
21273
21274 * disk/host.c (grub_host_open): Remove attribute unused from
21275 name parameter. Add check for "host". This fixes the problem
21276 that grub-emu does not find partitions.
21277
2e29408d 212782007-11-18 Christian Franke <franke@computer.org>
21279
21280 * util/hostfs.c (is_dir): New function.
21281 (grub_hostfs_dir): Handle missing dirent.d_type case.
21282 (grub_hostfs_read): Add missing fseek().
21283 (grub_hostfs_label): Clear label pointer. This fixes a crash
21284 of grub-emu on "ls (host)".
21285
398cd047 212862007-11-18 Christian Franke <franke@computer.org>
21287
21288 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21289 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21290 to 64 bit boundary by default.
21291
c405c391 212922007-11-18 Bean <bean123ch@gmail.com>
21293
21294 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21295 (hexdump_mod_SOURCES): New variable.
21296 (hexdump_mod_CFLAGS): Likewise.
21297 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 21298
c405c391 21299 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21300
21301 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21302
21303 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21304
21305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21306
21307 * include/grub/hexdump.h: New file.
21308
21309 * commands/hexdump.c: New file.
21310
5cced7fd 213112007-11-10 Robert Millan <rmh@aybabtu.com>
21312
21313 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21314 in grub_outb() calls.
21315 (beep_on): Likewise.
21316
8b714eb0 213172007-11-10 Christian Franke <franke@computer.org>
21318
21319 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21320 (grub_menu_run): Likewise.
21321
ce0f1839 213222007-11-10 Robert Millan <rmh@aybabtu.com>
21323
21324 * include/grub/i386/efi/machine.h: New file.
21325 * include/grub/i386/linuxbios/machine.h: Likewise.
21326 * include/grub/i386/pc/machine.h: Likewise.
21327 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21328 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21329
21330 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21331 (serial_hw_io_addr): New variable.
21332 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21333 instead of `(unsigned short *) 0x400'.
21334
270c237d 213352007-11-10 Bean <bean123ch@gmail.com>
21336
21337 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21338
a87783bf 213392007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21340
21341 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21342 (vga_mod_SOURCES): Added.
21343 (vga_mod_CFLAGS): Likewise.
21344 (vga_mod_LDFLAGS): Likewise.
21345
21346 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21347 grub_outb() calls.
21348 (set_map_mask): Likewise.
21349 (set_read_map): Likewise.
21350 (set_read_address): Likewise.
21351 (vga_font): Removed variable.
21352 (get_vga_glyph): Removed function.
21353 (invalidate_char): Likewise.
21354 (write_char): Changed to use grub_font_get_glyph() for font
21355 information.
21356 (grub_vga_putchar): Likewise.
21357 (grub_vga_getcharwidth): Likewise.
21358
6433b448 213592007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21360
21361 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21362 flags.
21363 (pxeboot_img_LDFLAGS): Likewise.
21364 (diskboot_img_LDFLAGS): Likewise.
21365 (kernel_img_LDFLAGS): Likewise.
21366
49178511 213672007-11-06 Robert Millan <rmh@aybabtu.com>
21368
21369 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21370 in grub_outb() calls.
21371 (serial_hw_init): Likewise.
21372
53b052de 213732007-11-05 Robert Millan <rmh@aybabtu.com>
21374
21375 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21376 spaces. Skip non-regular files.
21377
5ab33bba 213782007-11-05 Robert Millan <rmh@aybabtu.com>
21379
21380 * kern/disk.c (grub_disk_firmware_fini)
21381 (grub_disk_firmware_is_tainted): New variables.
21382
21383 * include/grub/disk.h (grub_disk_firmware_fini)
21384 (grub_disk_firmware_is_tainted): Likewise.
21385
21386 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21387 (grub_disk_biosdisk_fini): ... to here.
21388 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21389 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21390 is set. Register grub_disk_biosdisk_fini() in
21391 `grub_disk_firmware_fini'.
21392
21393 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21394 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21395 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21396 to finish existing firmware disk interface.
21397
21398 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21399 (ata_mod_SOURCES): New variable.
21400 (ata_mod_CFLAGS): Likewise.
21401 (ata_mod_LDFLAGS): Likewise.
21402
0149ab7c 214032007-11-05 Robert Millan <rmh@aybabtu.com>
21404
21405 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21406 (grub_ata_wait): Reimplement using grub_millisleep().
21407
21408 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21409 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21410
be7ac41e 214112007-11-03 Marco Gerards <marco@gnu.org>
21412
21413 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21414 (CRTC_ADDR_PORT): New macro.
21415 (CRTC_DATA_PORT): Likewise.
21416 (CRTC_CURSOR): Likewise.
21417 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21418 (CRTC_CURSOR_ADDR_LOW): Likewise.
21419 (update_cursor): New function.
21420 (grub_console_real_putchar): Call `update_cursor'.
21421 (grub_console_gotoxy): Likewise.
21422 (grub_console_cls): Set the default color when clearing the
21423 screen.
21424 (grub_console_setcursor): Implemented.
21425
bb06ab2e 214262007-11-03 Marco Gerards <marco@gnu.org>
21427
21428 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21429 become activate.
21430 (grub_ata_pio_write): Likewise.
21431
21432 (grub_atapi_identify): Wait after issuing an ATA command.
21433 (grub_atapi_packet): Likewise.
21434 (grub_ata_identify): Likewise.
21435 (grub_ata_readwrite): Likewise.
21436
cf8f780b 214372007-11-03 Marco Gerards <marco@gnu.org>
21438
21439 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21440 (grub_ata_pio_write): Likewise.
21441 (grub_ata_readwrite): Use `grub_error', instead of
21442 returning `grub_errno'.
21443
ed649e54 214442007-11-03 Marco Gerards <marco@gnu.org>
21445
21446 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21447 grub_ata_pio_write once for every single sector, instead of for
21448 multiple sectors.
21449
ca25d8f0 214502007-10-31 Robert Millan <rmh@aybabtu.com>
21451
21452 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21453
21454 * conf/i386-linuxbios.rmk: New file.
21455
21456 * kern/i386/pc/hardware.c: Likewise.
21457 * term/i386/pc/at_keyboard.c: Likewise.
21458 * term/i386/pc/vga_text.c: Likewise.
21459
21460 * include/grub/i386/linuxbios/boot.h: Likewise.
21461 * include/grub/i386/linuxbios/console.h: Likewise.
21462 * include/grub/i386/linuxbios/init.h: Likewise.
21463 * include/grub/i386/linuxbios/kernel.h: Likewise.
21464 * include/grub/i386/linuxbios/loader.h: Likewise.
21465 * include/grub/i386/linuxbios/memory.h: Likewise.
21466 * include/grub/i386/linuxbios/serial.h: Likewise.
21467 * include/grub/i386/linuxbios/time.h: Likewise.
21468
21469 * kern/i386/linuxbios/init.c: Likewise.
21470 * kern/i386/linuxbios/startup.S: Likewise.
21471 * kern/i386/linuxbios/table.c: Likewise.
21472
e911ecc1 214732007-10-31 Marco Gerards <marco@gnu.org>
21474
21475 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21476 (ata_mod_SOURCES): New variable.
21477 (ata_mod_CFLAGS): Likewise.
21478 (ata_mod_LDFLAGS): Likewise.
21479
21480 * disk/ata.c: New file.
21481
21482 * include/grub/disk.h (grub_disk_dev_id): Add
21483 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 21484
7f66d0e0 214852007-10-31 Robert Millan <rmh@aybabtu.com>
21486
21487 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21488 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21489
21490 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21491 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21492
21493 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21494 `<grub/types.h>'.
21495
21496 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21497
5cd7dd46 214982007-10-27 Robert Millan <rmh@aybabtu.com>
21499
3236ca65 21500 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 21501
2ebfc90f 215022007-10-22 Robert Millan <rmh@aybabtu.com>
21503
21504 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21505 `"../realmode.S"'.
21506 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21507
73fcb0f3 215082007-10-22 Robert Millan <rmh@aybabtu.com>
21509
21510 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21511 (pkgdata_MODULES): Add `biosdisk.mod'.
21512 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21513 variables.
21514
21515 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21516 (grub_biosdisk_init): Replace with ...
21517 (GRUB_MOD_INIT(biosdisk)): ... this.
21518 (grub_biosdisk_fini): Replace with ...
21519 (GRUB_MOD_FINI(biosdisk)): ... this.
21520
21521 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21522 (grub_machine_init): Remove call to grub_biosdisk_init().
21523 (grub_machine_fini): Remove call to grub_machine_fini().
21524
21525 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21526
3381d274 215272007-10-22 Robert Millan <rmh@aybabtu.com>
21528
21529 * include/grub/time.h: New file.
21530 * include/grub/i386/time.h: Likewise.
21531 * include/grub/powerpc/time.h: Likewise.
21532 * include/grub/sparc64/time.h: Likewise.
21533
21534 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21535 instances to ...
21536 (KERNEL_MACHINE_TIME_HEADER): ... this.
21537 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21538 instances to ...
21539 (KERNEL_MACHINE_TIME_HEADER): ... this.
21540 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21541 instances to ...
21542 (KERNEL_MACHINE_TIME_HEADER): ... this.
21543
21544 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21545 (grub_millisleep): New function.
21546 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21547 (grub_millisleep): New function.
21548 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21549 Remove `grub/machine/time.h' include.
21550 (grub_millisleep): New function.
21551 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21552 Remove `grub/machine/time.h' include.
21553 (grub_millisleep): New function.
21554
21555 * include/grub/misc.h (grub_div_roundup): New function.
21556
21557 * kern/misc.c: Include `<grub/time.h>'.
21558 (grub_millisleep_generic): New function.
21559
21560 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21561 Add `time.h'.
21562 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21563 Add `time.h'.
21564 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21565 `machine/time.h'. Add `time.h'.
21566 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21567
a39a0312 215682007-10-21 Robert Millan <rmh@aybabtu.com>
21569
21570 * include/grub/misc.h (grub_max): New function.
21571
2aad70e2 215722007-10-21 Robert Millan <rmh@aybabtu.com>
21573
21574 * util/misc.c (grub_util_info): Call fflush() before returning.
21575
54b71c4b 215762007-10-20 Robert Millan <rmh@aybabtu.com>
21577
21578 * genmk.rb (Image): Copy `extra_flags' from here ...
21579 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21580
21581 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21582 to `argc' and `args' arguments.
21583
a979f513 215842007-10-17 Robert Millan <rmh@aybabtu.com>
21585
21586 * kern/i386/loader.S: New file.
21587
21588 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21589 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21590 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21591 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21592 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21593 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21594 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21595 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21596 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21597 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21598 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21599 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21600 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21601 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21602
21603 * kern/i386/realmode.S: New file.
21604
21605 * kern/i386/pc/startup.S (protstack): Moved from here ...
21606 * kern/i386/realmode.S (protstack)... to here.
21607 * kern/i386/pc/startup.S (gdt): Moved from here ...
21608 * kern/i386/realmode.S (gdt)... to here.
21609 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21610 * kern/i386/realmode.S (prot_to_real)... to here.
21611
21612 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21613 `kern/i386/realmode.S'.
21614
825fc8fd 216152007-10-17 Robert Millan <rmh@aybabtu.com>
21616
21617 * include/grub/i386/loader.h: New file.
21618
21619 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21620 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21621 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21622 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21623 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21624 * include/grub/i386/loader.h (grub_linux_prot_size)
21625 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21626 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21627 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21628 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21629
21630 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21631
e179b2f4 216322007-10-15 Robert Millan <rmh@aybabtu.com>
21633
21634 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21635 filesystem when dev->disk is unset.
21636 Do probe for filesystem even when dev->disk->has_partitions is set.
21637 In case a filesystem is found, always report it.
21638 In case it isn't, if dev->disk->has_partitions is set, report that
21639 a partition table was found instead of reporting that no filesystem
21640 could be identified.
21641
5db82af6 216422007-10-12 Robert Millan <rmh@aybabtu.com>
21643
21644 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21645 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21646
68f6ac74 21647 * include/grub/types.h (grub_host_to_target16): New macro.
21648 (grub_host_to_target32): Likewise.
21649 (grub_host_to_target64): Likewise.
21650 (grub_target_to_host16): Likewise.
21651 (grub_target_to_host32): Likewise.
21652 (grub_target_to_host64): Likewise.
5db82af6 21653
21654 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21655 Renamed from to ...
21656 (GRUB_MOD_ALIGN): ...this. Update all users.
21657
68f6ac74 21658 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21659 grub_host_to_target32.
21660 Replace grub_be_to_cpu32 with grub_target_to_host32.
21661 (load_modules): Likewise.
21662 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21663 Replace grub_be_to_cpu32 with grub_target_to_host32.
21664 Replace grub_cpu_to_be16 with grub_host_to_target16.
21665 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 21666
3cf497cc 216672007-10-12 Robert Millan <rmh@aybabtu.com>
21668
21669 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21670 * util/elf/grub-mkimage.c: ... here.
21671
21672 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21673 `util/powerpc/ieee1275/grub-mkimage.c'.
21674
c8cc3692 216752007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 21676
c8cc3692 21677 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21678 and make it easier to figure out.
21679 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21680 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21681 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21682 leave us with less than HEAP_MIN_SIZE total heap.
21683 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 21684
5c58b791 216852007-10-03 Robert Millan <rmh@aybabtu.com>
21686
21687 * include/grub/i386/io.h: New file.
21688 * commands/i386/pc/play.c (inb): Removed.
21689 (outb): Removed.
21690 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21691 with grub_outb().
afcd2ef8 21692 * term/i386/pc/serial.c (inb): Removed.
21693 (outb): Removed.
21694 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21695 with grub_outb().
21696 * term/i386/pc/vga.c (inb): Removed.
21697 (outb): Removed.
21698 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21699 with grub_outb().
5c58b791 21700
1a477ed6 217012007-10-02 Robert Millan <rmh@aybabtu.com>
21702
21703 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21705 Reported by Marcin Kurek.
21706
6b5d80fa 217072007-09-07 Robert Millan <rmh@aybabtu.com>
21708
21709 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21710 SmartFirmware version updates (as released by Sven Luther), and avoid
21711 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21712 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21713 known broken.
21714
5618afbf 217152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21716
21717 From Hitoshi Ozeki:
21718 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21719 when merging two regions.
21720
6139dcd9 217212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21722
508e39ee 21723 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21724 * normal/completion.c (grub_normal_do_completion): Likewise.
21725 Reported by Hitoshi Ozeki.
21726
217272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21728
6139dcd9 21729 Do not use devices at boot in chainloading.
f19dbdb7 21730
6139dcd9 21731 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21732 (boot_part_addr): Likewise.
21733 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21734 with BOOT_DRIVE and BOOT_PART_ADDR.
21735 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21736 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21737
38da6516 217382007-08-29 Robert Millan <rmh@aybabtu.com>
21739
21740 Patch from Simon Peter <dn.tlp@gmx.net>:
21741 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21742 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21743 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21744 util/i386/pc/grub-setup.c_DEPENDENCIES.
21745 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21746 util/grub-probe.c_DEPENDENCIES.
21747 * conf/powerpc-ieee1275.rmk: Likewise.
21748
29d0928c 217492007-08-28 Robert Millan <rmh@aybabtu.com>
21750
21751 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21752 to tell grub-mkdevicemap how to name devices.
21753 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21754 feature).
21755
21756 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21757 util/i386/get_disk_name.c.
21758 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21759 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21760 util/ieee1275/get_disk_name.c.
21761
21762 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21763
21764 * DISTLIST: Add util/i386/get_disk_name.c and
21765 util/ieee1275/get_disk_name.c.
21766
21767 * util/grub-mkdevicemap.c: Replace device naming logic with
21768 grub_util_get_disk_name() calls.
21769
5a0d3cca 217702007-08-20 Robert Millan <rmh@aybabtu.com>
21771
21772 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21773 (so that it works for both plural and singular quantities).
21774
8b72db2f 217752007-08-05 Robert Millan <rmh@aybabtu.com>
21776
21777 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21778 so that [xz] isn't taken into account when determining order.
21779
352466bf 217802007-08-02 Marco Gerards <marco@gnu.org>
21781
21782 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21783 `include/multiboot2.h', `include/grub/elfload.h',
21784 `include/multiboot.h', `include/grub/multiboot.h',
21785 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21786 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21787 `kern/elf.c', `loader/multiboot_loader.c',
21788 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21789 `loader/i386/pc/multiboot2.c',
21790 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21791 `util/i386/pc/grub-mkrescue.in'. Remove
21792 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21793 `include/grub/i386/pc/util/biosdisk.h' and
21794 `include/grub/powerpc/ieee1275/multiboot.h'.
21795
8f096014 217962007-08-02 Bean <bean123ch@gmail.com>
21797
21798 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21799 (ntfs_mod_SOURCES): New variable.
21800 (ntfs_mod_CFLAGS): Likewise.
21801 (ntfs_mod_LDFLAGS): Likewise.
21802
21803 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21804 (grub_probe_SOURCES): Likewise.
21805 (grub_emu_SOURCES): Likewise.
21806
21807 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21808 (grub_emu_SOURCES): Likewise.
21809
21810 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21811 (grub_emu_SOURCES): Likewise.
f19dbdb7 21812
8f096014 21813 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21814
21815 * fs/ntfs.c: New file.
21816
9959f7db 218172007-08-02 Bean <bean123ch@gmail.com>
21818
21819 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21820
21821 * file.h (grub_file): Likewise.
21822
21823 * fshelp.h (grub_fshelp_read_file): Likewise.
21824
21825 * util/i386/pc/grub-setup.c (setup): Likewise.
21826 (save_first_sector): Likewise.
21827 (save_blocklists): Likewise.
f19dbdb7 21828
9959f7db 21829 * fs/affs.c (grub_affs_read_file): Likewise.
21830
21831 * fs/ext2.c (grub_ext2_read_file): Likewise.
21832
21833 * fs/fat.c (grub_fat_read_data): Likewise.
21834
21835 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21836
21837 * fs/hfs.c (grub_hfs_read_file): Likewise.
21838
21839 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21840
21841 * fs/jfs.c (grub_jfs_read_file): Likewise.
21842
21843 * fs/minix.c (grub_minix_read_file): Likewise.
21844
21845 * fs/sfs.c (grub_sfs_read_file): Likewise.
21846
21847 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 21848
9959f7db 21849 * fs/xfs.c (grub_xfs_read_file): Likewise.
21850
21851 * command/blocklist.c (read_blocklist): Likewise.
21852 (print_blocklist): Likewise.
21853
0a203f83 218542007-08-02 Marco Gerards <marco@gnu.org>
21855
21856 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21857 `util/hostfs.c'.
21858
21859 * disk/host.c: New file.
21860
21861 * util/hostfs.c: Likewise.
21862
21863 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21864 return `GRUB_ERR_BAD_FS'.
21865 * fs/sfs.c (grub_sfs_mount): Likewise.
21866 * fs/xfs.c (grub_xfs_mount): Likewise.
21867
21868 * include/grub/disk.h (enum grub_disk_dev_id): Add
21869 `GRUB_DISK_DEVICE_HOST_ID'.
21870
21871 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21872
e5dfe777 218732007-07-24 Jerone Young <jerone@gmail.com>
21874
f19dbdb7 21875 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 21876 modules for compilation.
21877 * conf/powerpc-ieee1275.rmk: Likewise.
21878
21879 * include/multiboot.h: Move multiboot definitions to one file. Rename
21880 many definitions to not get grub specific.
21881 * include/multiboot2.h: Create header with multiboot 2 definitions.
21882 * include/grub/multiboot.h: Header for grub specific function
21883 prototypes and definitions.
21884 * include/grub/multiboot2.h: Likewise.
21885 * include/grub/multiboot_loader.h: Likewise.
21886 * include/grub/i386/pc/multiboot.h: Removed.
21887 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21888
21889 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21890 and 2 to allow for one multiboot and module commands.
21891 * loader/multiboot2.c: Add multiboot2 functionality.
21892 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21893 and definition names.
21894 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21895 2 functions.
21896 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21897 ieee1275 specific multiboot2 code.
21898
21899 * kern/i386/pc/startup.S: Change headers and definition names for
21900 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21901
daf0f0ba 219022007-07-22 Robert Millan <rmh@aybabtu.com>
21903
21904 * geninitheader.sh: Process file specified in first parameter rather
21905 than hardcoding grub_modules_init.lst.
fe6b695a 21906 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 21907 than hardcoding grub_modules_init.h.
21908
21909 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21910 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21911 grub_probe_init.[ch] and grub_setup_init.[ch].
21912
21913 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21914 grub_modules_init.h with grub_emu_init.h.
21915 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21916 grub_probe_init.[ch] files.
21917 * conf/i386-efi.rmk: Likewise.
21918 * conf/i386-pc.rmk: Likewise.
21919 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21920 grub_setup_init.[ch] files.
21921
21922 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21923 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21924 to initialize modules rather than a list of hardcoded functions.
21925 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21926 grub_init_all() to initialize modules rather than a list of hardcoded
21927 functions.
21928
54cdc1cc 219292007-07-22 Robert Millan <rmh@aybabtu.com>
21930
21931 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21932 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21933
ad0686cc 219342007-07-22 Robert Millan <rmh@aybabtu.com>
21935
21936 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21937 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21938 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21939 flag when running on SmartFirmware.
21940 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21941 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21942 was set.
21943
21944 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21945 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21946 rather than decreasing it.
21947
21948 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21949 there's not enough space to do it, fail in the same way as when it
21950 can't be done because there are no partitions.
21951
21952 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21953 when nvsetenv failed.
21954
969c02ec 219552007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21956
21957 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21958 because this rule is automatically generated.
21959 (grub-mkrescue): Removed for the same reason as above.
21960
5a79f472 219612007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21962
21963 Migrate to GNU General Public License Version 3.
f19dbdb7 21964
5a79f472 21965 * COPYING: Replaced with the plain text version of GPLv3.
21966
21967 * config.guess: Updated from gnulib.
21968 * config.sub: Likewise.
21969
21970 * geninit.sh: Output a GPLv3 copyright notice.
21971 * geninitheader.sh: Likewise.
21972 * genmodsrc.sh: Likewise.
21973 * gensymlist.sh.in: Likewise.
21974
21975 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21976 * boot/i386/pc/diskboot.S: Likewise.
21977 * boot/i386/pc/pxeboot.S: Likewise.
21978 * commands/blocklist.c: Likewise.
21979 * commands/boot.c: Likewise.
21980 * commands/cat.c: Likewise.
21981 * commands/cmp.c: Likewise.
21982 * commands/configfile.c: Likewise.
21983 * commands/echo.c: Likewise.
21984 * commands/help.c: Likewise.
21985 * commands/ls.c: Likewise.
21986 * commands/search.c: Likewise.
21987 * commands/terminal.c: Likewise.
21988 * commands/test.c: Likewise.
21989 * commands/videotest.c: Likewise.
21990 * commands/i386/cpuid.c: Likewise.
21991 * commands/i386/pc/halt.c: Likewise.
21992 * commands/i386/pc/play.c: Likewise.
21993 * commands/i386/pc/reboot.c: Likewise.
21994 * commands/i386/pc/vbeinfo.c: Likewise.
21995 * commands/i386/pc/vbetest.c: Likewise.
21996 * commands/ieee1275/halt.c: Likewise.
21997 * commands/ieee1275/reboot.c: Likewise.
21998 * commands/ieee1275/suspend.c: Likewise.
21999 * disk/loopback.c: Likewise.
22000 * disk/lvm.c: Likewise.
22001 * disk/raid.c: Likewise.
22002 * disk/efi/efidisk.c: Likewise.
22003 * disk/i386/pc/biosdisk.c: Likewise.
22004 * disk/ieee1275/ofdisk.c: Likewise.
22005 * font/manager.c: Likewise.
22006 * fs/affs.c: Likewise.
22007 * fs/ext2.c: Likewise.
22008 * fs/fat.c: Likewise.
22009 * fs/fshelp.c: Likewise.
22010 * fs/hfs.c: Likewise.
22011 * fs/hfsplus.c: Likewise.
22012 * fs/iso9660.c: Likewise.
22013 * fs/jfs.c: Likewise.
22014 * fs/minix.c: Likewise.
22015 * fs/sfs.c: Likewise.
22016 * fs/ufs.c: Likewise.
22017 * fs/xfs.c: Likewise.
22018 * hello/hello.c: Likewise.
22019 * include/grub/acorn_filecore.h: Likewise.
22020 * include/grub/arg.h: Likewise.
22021 * include/grub/bitmap.h: Likewise.
22022 * include/grub/boot.h: Likewise.
22023 * include/grub/cache.h: Likewise.
22024 * include/grub/device.h: Likewise.
22025 * include/grub/disk.h: Likewise.
22026 * include/grub/dl.h: Likewise.
22027 * include/grub/elfload.h: Likewise.
22028 * include/grub/env.h: Likewise.
22029 * include/grub/err.h: Likewise.
22030 * include/grub/file.h: Likewise.
22031 * include/grub/font.h: Likewise.
22032 * include/grub/fs.h: Likewise.
22033 * include/grub/fshelp.h: Likewise.
22034 * include/grub/gzio.h: Likewise.
22035 * include/grub/hfs.h: Likewise.
22036 * include/grub/kernel.h: Likewise.
22037 * include/grub/loader.h: Likewise.
22038 * include/grub/lvm.h: Likewise.
22039 * include/grub/misc.h: Likewise.
22040 * include/grub/mm.h: Likewise.
22041 * include/grub/net.h: Likewise.
22042 * include/grub/normal.h: Likewise.
22043 * include/grub/parser.h: Likewise.
22044 * include/grub/partition.h: Likewise.
22045 * include/grub/pc_partition.h: Likewise.
22046 * include/grub/raid.h: Likewise.
22047 * include/grub/rescue.h: Likewise.
22048 * include/grub/script.h: Likewise.
22049 * include/grub/setjmp.h: Likewise.
22050 * include/grub/symbol.h: Likewise.
22051 * include/grub/term.h: Likewise.
22052 * include/grub/terminfo.h: Likewise.
22053 * include/grub/tparm.h: Likewise.
22054 * include/grub/types.h: Likewise.
22055 * include/grub/video.h: Likewise.
22056 * include/grub/efi/api.h: Likewise.
22057 * include/grub/efi/chainloader.h: Likewise.
22058 * include/grub/efi/console.h: Likewise.
22059 * include/grub/efi/console_control.h: Likewise.
22060 * include/grub/efi/disk.h: Likewise.
22061 * include/grub/efi/efi.h: Likewise.
22062 * include/grub/efi/pe32.h: Likewise.
22063 * include/grub/efi/time.h: Likewise.
22064 * include/grub/i386/linux.h: Likewise.
22065 * include/grub/i386/setjmp.h: Likewise.
22066 * include/grub/i386/types.h: Likewise.
22067 * include/grub/i386/efi/kernel.h: Likewise.
22068 * include/grub/i386/efi/loader.h: Likewise.
22069 * include/grub/i386/efi/time.h: Likewise.
22070 * include/grub/i386/pc/biosdisk.h: Likewise.
22071 * include/grub/i386/pc/boot.h: Likewise.
22072 * include/grub/i386/pc/chainloader.h: Likewise.
22073 * include/grub/i386/pc/console.h: Likewise.
22074 * include/grub/i386/pc/init.h: Likewise.
22075 * include/grub/i386/pc/kernel.h: Likewise.
22076 * include/grub/i386/pc/loader.h: Likewise.
22077 * include/grub/i386/pc/memory.h: Likewise.
22078 * include/grub/i386/pc/multiboot.h: Likewise.
22079 * include/grub/i386/pc/serial.h: Likewise.
22080 * include/grub/i386/pc/time.h: Likewise.
22081 * include/grub/i386/pc/vbe.h: Likewise.
22082 * include/grub/i386/pc/vbeblit.h: Likewise.
22083 * include/grub/i386/pc/vbefill.h: Likewise.
22084 * include/grub/i386/pc/vbeutil.h: Likewise.
22085 * include/grub/i386/pc/vga.h: Likewise.
22086 * include/grub/ieee1275/ieee1275.h: Likewise.
22087 * include/grub/ieee1275/ofdisk.h: Likewise.
22088 * include/grub/powerpc/libgcc.h: Likewise.
22089 * include/grub/powerpc/setjmp.h: Likewise.
22090 * include/grub/powerpc/types.h: Likewise.
22091 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
22092 * include/grub/powerpc/ieee1275/console.h: Likewise.
22093 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
22094 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22095 * include/grub/powerpc/ieee1275/loader.h: Likewise.
22096 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
22097 * include/grub/powerpc/ieee1275/time.h: Likewise.
22098 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
22099 * include/grub/sparc64/libgcc.h: Likewise.
22100 * include/grub/sparc64/setjmp.h: Likewise.
22101 * include/grub/sparc64/types.h: Likewise.
22102 * include/grub/sparc64/ieee1275/console.h: Likewise.
22103 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22104 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22105 * include/grub/sparc64/ieee1275/time.h: Likewise.
22106 * include/grub/util/biosdisk.h: Likewise.
22107 * include/grub/util/getroot.h: Likewise.
22108 * include/grub/util/lvm.h: Likewise.
22109 * include/grub/util/misc.h: Likewise.
22110 * include/grub/util/raid.h: Likewise.
22111 * include/grub/util/resolve.h: Likewise.
22112 * io/gzio.c: Likewise.
22113 * kern/device.c: Likewise.
22114 * kern/disk.c: Likewise.
22115 * kern/dl.c: Likewise.
22116 * kern/elf.c: Likewise.
22117 * kern/env.c: Likewise.
22118 * kern/err.c: Likewise.
22119 * kern/file.c: Likewise.
22120 * kern/fs.c: Likewise.
22121 * kern/loader.c: Likewise.
22122 * kern/main.c: Likewise.
22123 * kern/misc.c: Likewise.
22124 * kern/mm.c: Likewise.
22125 * kern/parser.c: Likewise.
22126 * kern/partition.c: Likewise.
22127 * kern/rescue.c: Likewise.
22128 * kern/term.c: Likewise.
22129 * kern/efi/efi.c: Likewise.
22130 * kern/efi/init.c: Likewise.
22131 * kern/efi/mm.c: Likewise.
22132 * kern/i386/dl.c: Likewise.
22133 * kern/i386/efi/init.c: Likewise.
22134 * kern/i386/efi/startup.S: Likewise.
22135 * kern/i386/pc/init.c: Likewise.
22136 * kern/i386/pc/lzo1x.S: Likewise.
22137 * kern/i386/pc/startup.S: Likewise.
22138 * kern/ieee1275/ieee1275.c: Likewise.
22139 * kern/powerpc/cache.S: Likewise.
22140 * kern/powerpc/dl.c: Likewise.
22141 * kern/powerpc/ieee1275/cmain.c: Likewise.
22142 * kern/powerpc/ieee1275/crt0.S: Likewise.
22143 * kern/powerpc/ieee1275/init.c: Likewise.
22144 * kern/powerpc/ieee1275/openfw.c: Likewise.
22145 * kern/sparc64/cache.S: Likewise.
22146 * kern/sparc64/dl.c: Likewise.
22147 * kern/sparc64/ieee1275/init.c: Likewise.
22148 * kern/sparc64/ieee1275/openfw.c: Likewise.
22149 * loader/efi/chainloader.c: Likewise.
22150 * loader/efi/chainloader_normal.c: Likewise.
22151 * loader/i386/efi/linux.c: Likewise.
22152 * loader/i386/efi/linux_normal.c: Likewise.
22153 * loader/i386/pc/chainloader.c: Likewise.
22154 * loader/i386/pc/chainloader_normal.c: Likewise.
22155 * loader/i386/pc/linux.c: Likewise.
22156 * loader/i386/pc/linux_normal.c: Likewise.
22157 * loader/i386/pc/multiboot.c: Likewise.
22158 * loader/i386/pc/multiboot_normal.c: Likewise.
22159 * loader/powerpc/ieee1275/linux.c: Likewise.
22160 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22161 * normal/arg.c: Likewise.
22162 * normal/cmdline.c: Likewise.
22163 * normal/command.c: Likewise.
22164 * normal/completion.c: Likewise.
22165 * normal/execute.c: Likewise.
22166 * normal/function.c: Likewise.
22167 * normal/lexer.c: Likewise.
22168 * normal/main.c: Likewise.
22169 * normal/menu.c: Likewise.
22170 * normal/menu_entry.c: Likewise.
22171 * normal/misc.c: Likewise.
22172 * normal/parser.y: Likewise.
22173 * normal/script.c: Likewise.
22174 * normal/i386/setjmp.S: Likewise.
22175 * normal/powerpc/setjmp.S: Likewise.
22176 * normal/sparc64/setjmp.S: Likewise.
22177 * partmap/acorn.c: Likewise.
22178 * partmap/amiga.c: Likewise.
22179 * partmap/apple.c: Likewise.
22180 * partmap/gpt.c: Likewise.
22181 * partmap/pc.c: Likewise.
22182 * partmap/sun.c: Likewise.
22183 * term/gfxterm.c: Likewise.
22184 * term/terminfo.c: Likewise.
22185 * term/efi/console.c: Likewise.
22186 * term/i386/pc/console.c: Likewise.
22187 * term/i386/pc/serial.c: Likewise.
22188 * term/i386/pc/vesafb.c: Likewise.
22189 * term/i386/pc/vga.c: Likewise.
22190 * term/ieee1275/ofconsole.c: Likewise.
22191 * util/biosdisk.c: Likewise.
22192 * util/console.c: Likewise.
22193 * util/genmoddep.c: Likewise.
22194 * util/getroot.c: Likewise.
22195 * util/grub-emu.c: Likewise.
22196 * util/grub-mkdevicemap.c: Likewise.
22197 * util/grub-probe.c: Likewise.
22198 * util/lvm.c: Likewise.
22199 * util/misc.c: Likewise.
22200 * util/raid.c: Likewise.
22201 * util/resolve.c: Likewise.
22202 * util/update-grub.in: Likewise.
22203 * util/update-grub_lib.in: Likewise.
22204 * util/grub.d/00_header.in: Likewise.
22205 * util/grub.d/10_hurd.in: Likewise.
22206 * util/grub.d/10_linux.in: Likewise.
22207 * util/i386/efi/grub-install.in: Likewise.
22208 * util/i386/efi/grub-mkimage.c: Likewise.
22209 * util/i386/pc/grub-install.in: Likewise.
22210 * util/i386/pc/grub-mkimage.c: Likewise.
22211 * util/i386/pc/grub-mkrescue.in: Likewise.
22212 * util/i386/pc/grub-setup.c: Likewise.
22213 * util/i386/pc/misc.c: Likewise.
22214 * util/powerpc/ieee1275/grub-install.in: Likewise.
22215 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
22216 * util/powerpc/ieee1275/misc.c: Likewise.
22217 * video/bitmap.c: Likewise.
22218 * video/video.c: Likewise.
22219 * video/i386/pc/vbe.c: Likewise.
22220 * video/i386/pc/vbeblit.c: Likewise.
22221 * video/i386/pc/vbefill.c: Likewise.
22222 * video/i386/pc/vbeutil.c: Likewise.
22223 * video/readers/tga.c: Likewise.
22224
3572d015 222252007-07-02 Robert Millan <rmh@aybabtu.com>
22226
22227 * conf/i386-efi.rmk: Replace obsolete reference to
22228 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
22229 with util/getroot.c.
22230 * conf/powerpc-ieee1275.rmk: Likewise.
22231 * conf/sparc64-ieee1275.rmk: Likewise.
22232
22233 * util/grub-emu.c (main): Fix unchecked pointer handling.
22234
2c2a681b 222352007-07-02 Robert Millan <rmh@aybabtu.com>
22236
22237 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
22238 invocation to fail, in order to support partition-less media.
22239
22240 * util/i386/pc/grub-install.in: Likewise.
22241
22242 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
22243 which fs or partmap modules are needed (akin to its sister scripts).
22244
22245 Also use grub-probe to get rid of unportable /proc/mounts check.
22246
22247 Print the same informational message that the other scripts do, before
fe6b695a 22248 exiting.
2c2a681b 22249
6193defe 222502007-06-23 Robert Millan <rmh@aybabtu.com>
22251
fe6b695a 22252 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 22253 a font file can be found and, if so, echo the GRUB path to it.
22254
22255 * util/update-grub.in: Handle multiple terminals depending on user
22256 input, platform availability and font file presence. Propagate
22257 variables of our findings to /etc/grub.d/ children.
22258
22259 * util/grub.d/00_header.in: Handle multiple terminals, based on
22260 environment setup by update-grub.
22261
eface1dc 222622007-06-23 Robert Millan <rmh@aybabtu.com>
22263
ba50d28f 22264 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 22265
bf697e28 222662007-06-21 Robert Millan <rmh@aybabtu.com>
22267
22268 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
22269 indicate end of data section in kernel image.
22270 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
22271 GRUB_KERNEL_MACHINE_DATA_END.
22272
22273 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
22274 space for it.
22275 * kern/i386/efi/startup.S: Likewise.
22276
22277 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22278 during image generation. Implement --prefix option to override this
22279 patch.
22280 * util/i386/efi/grub-mkimage.c: Likewise.
22281
22282 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22283 code to make path relative to its root into a separate function.
22284
22285 * util/i386/pc/grub-install.in: Use newly provided
22286 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22287 pass the result to grub-install --prefix.
22288
baa574b4 222892007-06-13 Robert Millan <rmh@aybabtu.com>
22290
22291 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22292 DEFAULT_DEVICE_MAP.
22293 * util/grub-emu.c: Use above definitions from misc.h instead of
22294 defining them.
22295 * util/grub-mkdevicemap.c: Likewise.
22296 * util/i386/pc/grub-setup.c: Likewise.
22297 * util/grub-probe.c: Likewise.
22298 (probe): Abort with grub_util_error() when either
22299 grub_guess_root_device or grub_util_get_grub_dev fails.
22300
0215dcbf 223012007-06-12 Robert Millan <rmh@aybabtu.com>
22302
22303 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22304 "pager" assignment.
22305 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22306 "pcdata".
22307 * util/grub-probe.c (probe): Likewise for "drive_name".
22308
8af2ab7b 223092007-06-11 Robert Millan <rmh@aybabtu.com>
22310
22311 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22312 not just the cdrom one.
22313
59d31694 223142007-06-11 Robert Millan <rmh@aybabtu.com>
22315
22316 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22317 Add --pkglibdir=DIR option to override pkglibdir.
22318 Mention --image-type=TYPE in help output.
22319 Fix --grub-mkimage (it was a no-op).
fe6b695a 22320 Abort gracefully when no parameter is given.
59d31694 22321
7ee367e4 223222007-06-11 Robert Millan <rmh@aybabtu.com>
22323
22324 * util/i386/pc/grub-mkrescue.in: New file.
22325 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22326 * Makefile.in: Handle bin_SCRIPTS.
22327
29b0ed46 223282007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22329
22330 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22331 list of video modes.
22332
c0f90770 223332007-06-06 Robert Millan <rmh@aybabtu.com>
22334
22335 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22336 file doesn't exist, or if it is in a filesystem grub can't read.
22337
22338 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22339 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22340 header comment to fit in 80 columns when the variables are resolved.
22341
22342 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22343 could be identified by update-grub. Remove redundant check for
fe6b695a 22344 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 22345 handles that).
22346
fb36dc26 223472007-06-04 Robert Millan <rmh@aybabtu.com>
22348
22349 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22350
22351 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22352
22353 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22354
0c68c93e 223552007-06-04 Robert Millan <rmh@aybabtu.com>
22356
22357 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22358
22359 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22360 grub_apple_partition_map_fini.
22361
22362 * util/biosdisk.c
22363 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22364 to access >2 TiB disks).
22365
22366 Print disk->total_sectors with %llu instead of %lu, since this
22367 variable is always 64-bit (prevents wrong disk size from being displayed
22368 on either >2 TiB disk or big-endian CPU).
22369
22370 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22371 into a generic case that supports all (sane) partition maps.
22372
22373 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22374 breaks big-endian.
22375
22376 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22377 and grub_apple_partition_map_fini() after that.
22378
0f23eb74 223792007-06-01 Robert Millan <rmh@aybabtu.com>
22380
22381 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22382
22383 * util/grub.d/00_header.in: Only enable gfxterm when
22384 convert_system_path_to_grub_path() succeeds.
22385
42c71976 223862007-05-20 Robert Millan <rmh@aybabtu.com>
22387
22388 * util/update-grub_lib.in: New file.
22389 * DISTLIST: Add update-grub_lib.in.
22390 * conf/common.rmk: Generate update-grub_lib and install it in
22391 $(lib_DATA).
22392 * Makefile.in: Add install routine for $(lib_DATA).
22393
22394 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22395 function provided by update-grub_lib to support arbitrary paths of
22396 unifont.pff.
22397 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22398 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22399
5beb2291 224002007-05-19 Robert Millan <rmh@aybabtu.com>
22401
22402 * commands/i386/cpuid.c: New module.
22403 * DISTLIST: Add it.
22404 * conf/i386-efi.rmk: Enable cpuid.mod.
22405 * conf/i386-pc.rmk: Likewise.
22406
7262eca1 224072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22408
22409 * kern/disk.c (grub_disk_read): Check return value of
22410 grub_realloc().
22411
260ba823 224122007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22413
22414 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22415 arrays.
22416 * disk/raid.c (grub_raid_open): Likewise.
22417
1ecb6cf2 224182007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22419
22420 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22421 stack instead of on the heap.
22422
22423 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22424 before doing a read on it.
22425
22426 * configure.ac: Only use -fno-stack-protector for the target
22427 environment.
f19dbdb7 22428
21c8cbb1 224292007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22430
22431 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22432 __attribute_ ((unused)) to mode_type argument.
22433
22434 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 22435
21c8cbb1 22436 * kern/misc.c (memcmp): Fix prototype.
22437
22438 * include/grub/partition.h [GRUB_UTIL]
22439 (grub_gpt_partition_map_init): Add prototype.
22440 (grub_gpt_partition_map_fini): Likewise.
22441
22442 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22443 at the right place.
22444
22445 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22446 (grub_fat_read_data): Likewise.
22447 (grub_fat_find_dir): Likewise.
22448
22449 * font/manager.c (find_glyph): Make table a const.
22450 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 22451
849d55d3 224522007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22453
22454 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22455 code, first search for device in /dev/mapper, then in /dev.
22456 (grub_util_get_grub_dev): New function.
22457 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22458 prototype.
22459 * util/grub-probe.c (probe): Remove check for RAID, call
22460 grub_util_get_grub_dev() instead of
22461 grub_util_biosdisk_get_grub_dev().
22462 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22463 grub_util_biosdisk_get_grub_dev().
22464 * util/i386/pc/grub-setup.c (main): Likewise.
22465
8fff7c2f 224662007-05-16 Robert Millan <rmh@aybabtu.com>
22467
22468 * DISTLIST: Update for the latest changes.
22469 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22470 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22471 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22472 grub/util/biosdisk.h.
22473 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22474 grub/util/biosdisk.h.
22475
48e12b52 224762007-05-16 Robert Millan <rmh@aybabtu.com>
22477
22478 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22479
46b9d128 224802007-05-16 Robert Millan <rmh@aybabtu.com>
22481
22482 * util/i386/efi/grub-install.in: New.
22483 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22484 newly added grub-install.
22485 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22486 include.
22487 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22488 grub/util/biosdisk.h.
22489 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22490 grub/util/biosdisk.h.
22491
2d1a40a9 224922007-05-16 Robert Millan <rmh@aybabtu.com>
22493
22494 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22495 * include/grub/util/biosdisk.h: ... here.
22496 * util/i386/pc/biosdisk.c: Moved to ...
22497 * util/biosdisk.c: ... here.
22498 * util/i386/pc/getroot.c: Moved to ...
22499 * util/getroot.c: ... here.
22500 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22501 * util/grub-mkdevicemap.c: ... here.
22502 * util/i386/pc/grub-probe.c: Moved to ...
22503 * util/grub-probe.c: ... here.
22504
9e26e3bc 225052007-05-15 Robert Millan <rmh@aybabtu.com>
22506
22507 * util/update-grub.in: Remove duplicated line in grub.cfg header
22508 message.
22509
57f96397 225102007-05-13 Robert Millan <rmh@aybabtu.com>
22511
22512 * util/update-grub.in: Fix a few assumptions about the devices holding
22513 /, /boot and /boot/grub being the same.
22514 * util/grub.d/00_header.in: Likewise.
22515 * util/grub.d/10_hurd.in: Likewise.
22516 * util/grub.d/10_linux.in: Likewise.
22517
22518 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22519 patterns. Use that to define the `.old' suffix as older than `'.
22520
22521 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22522
22523 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22524 the grub.cfg header message.
22525
2e610d62 225262007-05-11 Robert Millan <rmh@aybabtu.com>
22527
22528 * util/update-grub.in: Create device.map if it doesn't already exist,
22529 before attempting to run grub-probe.
22530 Check for grub-probe and grub-mkdevicemap with the same code
22531 grub-install is using.
22532 Remove test mode.
22533
3f6a10ef 225342007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22535
22536 * Makefile.in: Add the datarootdir autoconf variable.
22537
02e7b75e 225382007-05-09 Robert Millan <rmh@aybabtu.com>
22539
22540 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 22541 fail gracefully if dev->disk->partition == NULL.
02e7b75e 22542
75f396cc 225432007-05-07 Robert Millan <rmh@aybabtu.com>
22544
22545 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22546 determine partition map module.
22547 * util/i386/pc/grub-install.in: Use this feature to decide which
22548 partition module to load, instead of hardcoding pc and gpt.
22549
da65cb36 225502007-05-07 Robert Millan <rmh@aybabtu.com>
22551
22552 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22553 source directory differs from build directory.
22554
b57d6a91 225552007-05-05 Robert Millan <rmh@aybabtu.com>
22556
22557 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22558 initialisation.
22559
509d00f1 225602007-05-05 Robert Millan <rmh@aybabtu.com>
22561
22562 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22563
c48f23ef 225642007-05-05 Robert Millan <rmh@aybabtu.com>
22565
22566 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22567 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22568
20b97658 225692007-05-05 Robert Millan <rmh@aybabtu.com>
22570
22571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22572 (grub_probe_SOURCES): Likewise.
22573 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22574 GPT and initialize dos_part and bsd_part accordingly.
22575 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22576 install_bsd_part.
22577 (main): Activate gpt module for use during partition identification,
22578 and deactivate it afterwards.
22579 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22580 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22581 partition identification, and deactivate it afterwards.
22582
99123174 225832007-05-05 Robert Millan <rmh@aybabtu.com>
22584
22585 * term/i386/pc/console.c (grub_console_fini): Call
22586 grub_term_set_current() before grub_term_unregister().
22587
ebd97f6e 225882007-05-04 Robert Millan <rmh@aybabtu.com>
22589
22590 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22591 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22592 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22593 and update-grub_DATA.
22594 * conf/common.rmk: Build and install update-grub components.
22595 * conf/common.mk: Regenerate.
22596 * util/update-grub.in: New. Core of update-grub.
22597 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22598 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22599 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22600 * util/grub.d/README: New. Document grub.d directory layout.
22601
b06a264d 226022007-05-01 Robert Millan <rmh@aybabtu.com>
22603
22604 * util/grub-emu.c: Move initialization functions
22605 grub_util_biosdisk_init() and grub_init_all() before
22606 grub_util_biosdisk_get_grub_dev(), which relies on them.
22607
41f0050e 226082007-04-19 Robert Millan <rmh@aybabtu.com>
22609
22610 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22611 it is used later.
22612
04582bb3 226132007-04-18 Jerone Young <jerone@gmail.com>
22614
f19dbdb7 22615 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 22616 stanza.
22617
08db4632 226182007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 22619
08db4632 22620 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22621 continue on and look for device node with real device name.
22622
801b76be 226232007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 22624
fe6b695a 22625 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 22626 ability.
22627 * Makefile.in: Add autoconf package transformation code.
22628 * util/i386/pc/grub-install.in: Likewise.
22629 * util/powerpc/ieee1275/grub-install.in: Likewise.
22630
6795c4e1 226312007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22632
22633 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22634 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22635 (EXT2_REVISION): Likewise.
22636 (EXT2_INODE_SIZE): Likewise.
22637 (struct grub_ext2_block_group): Added a missing member
22638 "used_dirs".
22639 (grub_ext2_read_inode): Divide by the inode size in a superblock
22640 instead of 128 to obtain INODES_PER_BLOCK.
22641 Use the macro EXT2_INODE_SIZE instead of directly using
22642 SBLOCK->INODE_SIZE.
22643
d70af616 226442007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22645
22646 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22647 superblock instead of the structure size to compute an
22648 offset. This fixes the problem that GRUB could not read a
22649 filesystem when inode size is different from 128-byte.
22650
3b801603 226512007-03-05 Marco Gerards <marco@gnu.org>
22652
22653 * normal/main.c (read_config_file): When "menu" is not set, create
22654 an initial context.
22655
4785bfe4 226562007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22657
22658 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22659 (HEAP_LIMIT): New macro.
22660 (grub_claim_heap): Claim memory up to `heaplimit'.
22661
a0cbb023 226622007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22663
22664 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22665 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22666 (_start): Likewise.
22667 (grub_arch_modules_addr): Return address after `_end'.
22668 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22669 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22670 (add_segments): Calculate `_end' from phdr size and location.
22671 (ALIGN_UP): Moved to ...
22672 * include/grub/misc.h: here.
22673 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22674 New macro.
22675 (GRUB_IEEE1275_MODULE_BASE): Removed.
22676
fd7d8eba 226772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22678
22679 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22680 loop boundary.
22681
9b09e6fc 226822007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22683
22684 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22685 All users updated.
22686 (grub_elf64_load_hook_t): Likewise.
22687 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22688 debug output.
22689
3ce27299 226902007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22691
22692 * kern/mm.c: Update copyright.
22693 (grub_mm_debug): Correct syntax error.
22694 (grub_mm_dump_free): New function.
22695 (grub_debug_free): Call `grub_free'.
22696 * include/grub/mm.h: Update copyright.
22697 (grub_mm_dump_free): Add declaration.
22698
077d5fee 226992007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22700
22701 * include/grub/ieee1275/ieee1275.h: Update copyright.
22702 * kern/powerpc/ieee1275/init.c: Likewise.
22703 * kern/powerpc/ieee1275/openfw.c: Likewise.
22704
22705 * loader/powerpc/ieee1275/linux.c: Likewise.
22706 * include/grub/elfload.h: Likewise.
22707 * kern/elf.c: Likewise.
22708 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22709 callers.
22710 (grub_elf64_load): Likewise.
22711 (grub_elf32_load_segment): Move to a nested function.
22712 (grub_elf64_load_segment): Likewise.
22713
dc946850 227142007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22715
22716 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22717 prototype.
22718 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22719 (grub_heap_len): Likewise.
22720 (HEAP_SIZE): New macro.
22721 (grub_claim_heap): New function.
22722 (grub_machine_init): Don't claim heap directly. Call
22723 `grub_claim_heap'.
22724 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22725 (grub_available_iterate): New function.
22726
baa2a121 227272007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22728
22729 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22730 * configure.ac: Use it for testing the HOST and TARGET compilers.
22731
4fe9862e 227322006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22733
22734 * Makefile.in (enable_grub_emu): New variable.
22735 * configure.ac (--enable-grub-emu): New option.
22736 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22737 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22738 * conf/i386-pc.rmk: Likewise.
22739 * conf/powerpc-ieee1275.rmk: Likewise.
22740 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22741
a8aa5762 227422006-12-12 Marco Gerards <marco@gnu.org>
22743
22744 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22745
22746 * kern/env.c (grub_env_unset): Don't free the member `value' when
22747 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22748 pointer.
22749
22750 * normal/main.c (current_menu): Removed.
22751 (free_menu): Unset the `menu' environment variable.
22752 (grub_normal_menu_addentry): Make use of the environment variable
22753 `menu', instead of using the global `current_menu'. Allocate
22754 memory for the sourcecode of this entry.
22755 (read_config_file): New argument `nested', changed all callers.
22756 Only in the case of a new context, initialize a new menu. Set the
22757 `menu' environment variable.
22758 (grub_normal_execute): Don't set and unset the environment
22759 variable `menu' here anymore. Only free the menu when leaving the
22760 context.
22761
22762 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22763 leak.
22764
957b3a3e 227652006-12-11 Marco Gerards <marco@gnu.org>
22766
22767 * normal/menu_entry.c (run): Fix off by one bug so the last line
22768 is executed. Move the loader check to outside the loop.
22769
ef875714 227702006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22771
22772 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22773
4e739985 227742006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22775
22776 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22777 the number of sectors. Reported by Andrey Shuvikov
22778 <mr_hyro@yahoo.com>.
f19dbdb7 22779
790707f2 227802006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22781
22782 * kern/disk.c (grub_disk_read): When there is a read error, always
22783 try to read only the necessary data.
f19dbdb7 22784
790707f2 22785 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22786 disk/raid.c.
22787 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22788 prototype.
22789 [GRUB_UTIL] (grub_raid_fini): Likewise.
22790 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 22791 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 22792 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22793 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22794 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22795 and grub_raid_fini().
f19dbdb7 22796
03e58196 227972006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22798
22799 * include/grub/types.h (__unused): Rename to UNUSED.
22800 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22801 (grub_elf64_size): Likewise.
f19dbdb7 22802
ae4f23bf 228032006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22804
22805 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22806 grub_error_push and grub_error_pop in the error-handling path.
22807 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22808 length.
22809
2166cc83 228102006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22811
22812 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22813 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22815 (kernel_elf_SOURCES): Likewise.
22816 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22817 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22818 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22819 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22820 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22821 (elf_mod_SOURCES): New variable.
22822 (elf_mod_CFLAGS): Likewise.
22823 (elf_mod_LDFLAGS): Likewise.
22824 * include/grub/types.h (__unused): New macro.
22825 * include/grub/elfload.h: New file.
22826 * kern/elf.c: Likewise.
22827 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22828 (ELF32_LOADMASK): New macro.
22829 (ELF64_LOADMASK): Likewise.
22830 (vmlinux): Removed.
22831 (grub_linux_load32): New function.
22832 (grub_linux_load64): Likewise.
22833 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22834 Use grub_elf_t instead of grub_file_t.
22835
a09d5aa5 228362006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22837
22838 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22839 `catch_result' to struct set_color_args.
22840
d976fc51 228412006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22842
22843 * normal/menu.c: Include grub/script.h.
22844 * normal/menu_entry.c: Likewise.
22845 * include/grub/normal.h: Do not include grub/script.h.
22846
67507549 228472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22848
22849 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22850
69203a99 228512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22852
22853 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22854 disk.
22855 (grub_disk_close): Print debug messages when closing a disk.
22856 (grub_disk_read): Print debug messages when disk read fails.
22857 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22858 filesystem type.
22859 * kern/partition.c: Include misc.h.
22860 (grub_partition_iterate): Print debug messages when detecting
22861 partition type.
22862
e2b8278c 228632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22864
22865 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22866 is negative.
22867 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22868
97b2f2ff 228692006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22870
22871 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22872 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22873
6555d655 228742006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22875
22876 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22877 instead of sizeof(lv). Patch by Michael Guntsche.
22878
4d42b77f 228792006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22880
22881 * disk/lvm.c: Rename VGS to VG_LIST.
22882 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22883 (grub_lvm_open): Likewise.
22884 Thanks to Michael Guntsche for finding this bug.
22885
5d74d927 228862006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22887
22888 * configure.ac (AC_INIT): Bumped to 1.95.
22889
a1bb27e4 228902006-10-14 Robert Millan <rmh@aybabtu.com>
22891
22892 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22893 with "/dev/.static/dev/md".
22894
e0994b8b 228952006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22896
22897 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22898 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22899 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22900 DRIVE_NAME are always freed.
22901
22902 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22903 DOS_PART, as a DOS partition is counted from one instead of zero
22904 now. Reported by Robert Millan.
22905
ddd5cee9 229062006-10-14 Robert Millan <rmh@aybabtu.com>
22907
22908 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22909 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22910 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22911 string returned by grub_guess_root_device.
22912 * util/i386/pc/grub-setup.c: Likewise.
22913 * util/i386/pc/grub-probefs.c: Likewise.
22914
22915 * util/i386/pc/grub-probefs.c: Rename to ...
22916 * util/i386/pc/grub-probe.c: ... this.
22917 * DISTLIST: Remove grub-probefs, add grub-probe.
22918 * conf/i386-efi.rmk: Likewise.
22919 * conf/i386-pc.rmk: Likewise.
22920 * util/i386/pc/grub-install.in: Likewise.
22921
22922 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22923 choose which information we want to print.
22924
2b002173 229252006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22926
22927 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22928 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22929 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22930 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22931 video/readers/tga.c and video/i386/pc/vbeutil.c.
22932
229332006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22934
22935 Added support for RAID and LVM.
f19dbdb7 22936
2b002173 22937 * disk/lvm.c: New file.
22938 * disk/raid.c: Likewise.
22939 * include/grub/lvm.h: Likewise.
f19dbdb7 22940 * include/grub/raid.h: Likewise.
2b002173 22941 * include/grub/util/lvm.h: Likewise.
22942 * include/grub/util/raid.h: Likewise.
22943 * util/lvm.c: Likewise.
22944 * util/raid.c: Likewise.
22945
22946 * include/grub/disk.h (grub_disk_dev_id): Add
22947 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22948 (grub_disk_get_size): New prototype.
22949 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22950 returns a partition.
22951 (grub_disk_get_size): New function.
f19dbdb7 22952
2b002173 22953 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22954 verbatim if grub_install_dos_part is -2.
22955
22956 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22957 and LVM devices.
22958
22959 * util/i386/pc/grub-setup.c (setup): New argument
22960 MUST_EMBED. Force embedding of GRUB when the argument is
22961 true. Close FILE before returning.
22962 (main): Add support for RAID and LVM.
f19dbdb7 22963
2b002173 22964 * conf/common.rmk: Add RAID and LVM modules.
22965 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22966 util/lvm.c.
22967 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22968
22969 * kern/misc.c (grub_strstr): New function.
22970 * include/grub/misc.h (grub_strstr): New prototype.
22971
050548d0 229722006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22973
22974 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22975
da849d2d 229762006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22977
22978 * kern/misc.c (grub_strtoull): Guess the base only if not
22979 specified.
22980
97b2f2ff 229812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 22982
22983 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22984 PowerMac support.
22985
97b2f2ff 229862006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 22987
22988 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22989
22990 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22991 Remove `flags' argument. All callers changed.
22992 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22993 (IEEE1275_IHANDLE_INVALID): New variable.
22994 (IEEE1275_CELL_INVALID): New variable.
22995 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22996 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22997 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22998 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22999 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
23000 codes from Open Firmware. All callers updated.
23001 (grub_ieee1275_next_property): Directly return Open Firmware return
23002 code.
23003 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23004 Standardize error checking from `grub_ieee1275_get_property'.
23005 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
23006 `devalias' to `aliases'. Correct comments. Consolidate error paths.
23007
97b2f2ff 230082006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 23009
23010 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
23011 `instance_to_package_args' to `instance_to_path_args'.
23012
23013 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
23014 `grub_ieee1275_chosen'.
23015
23016 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
23017 `grub_ieee1275_interpret'.
23018
97b2f2ff 230192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 23020
23021 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
23022
97b2f2ff 230232006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 23024
23025 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
23026 (__cmpdi): Likewise.
23027
23028 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
23029 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
23030 `grub_ssize_t'.
23031
02bb8acc 23032 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 23033
23034 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
23035 to type `grub_ssize_t'.
23036 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
23037
7f9a8531 230382006-09-22 Marco Gerards <marco@gnu.org>
23039
23040 * normal/script.c (grub_script_create_cmdmenu): Skip leading
23041 newlines.
23042
b5ef1102 230432006-09-22 Marco Gerards <marco@gnu.org>
23044
23045 * commands/echo.c: New file.
23046
23047 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
23048
23049 * conf/common.rmk (echo_mod_SOURCES): New variable.
23050 (echo_mod_CFLAGS): Likewise.
23051 (echo_mod_LDFLAGS): Likewise.
23052
2cff3677 230532006-09-22 Marco Gerards <marco@gnu.org>
23054
23055 * normal/main.c (get_line): Malloc memory instead of using
23056 preallocated memory. Removed the arguments `cmdline' and
23057 `max_len'. Updated all callers.
23058
6ba4688b 230592006-09-22 Marco Gerards <marco@gnu.org>
23060
23061 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
23062 (normal_mod_DEPENDENCIES): Likewise.
23063
23064 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
23065 (normal_mod_DEPENDENCIES): Likewise.
23066
23067 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
23068
e02ac02c 230692006-09-22 Johan Rydberg <jrydberg@gnu.org>
23070
23071 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
23072 programs.
23073 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
23074 (normal_mod_DEPENDENCIES): Likewise.
23075 * conf/i386-pc.mk: Regenerate.
23076 * conf/i386-efi.mk: Likewise
23077 * conf/common.mk: Likewise.
23078 * conf/powerpc-ieee1275.mk: Likewise.
23079 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23080
8d252e44 230812006-09-22 Robert Millan <rmh@aybabtu.com>
23082
23083 Sync with i386 version.
23084 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
23085 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
23086
209bf7ac 230872006-09-21 Robert Millan <rmh@aybabtu.com>
23088
23089 Import from GRUB Legacy (lib/device.c):
23090 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
23091 (init_device_map) [__linux__]: Add support for I2O devices.
23092
6b146090 230932006-09-14 Marco Gerards <marco@gnu.org>
23094
23095 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
23096 `-melf_i386'.
23097
e38600a8 230982006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 23099
23100 * util/i386/pc/grub-install.in: Skip menu.lst when removing
23101 /boot/grub/*.lst.
78fa1790 23102
2952da5d 23103 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 23104
2952da5d 23105 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
23106 before adding it to device.map.
23107
01b82a64 231082006-08-15 Johan Rydberg <jrydberg@gnu.org>
23109
fe6b695a 23110 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 23111 compiles a file; using the -MD option.
23112 * conf/common.mk: Regenerate.
23113 * conf/i386-pc.mk: Likewise.
23114 * conf/i386-efi.mk: Likewise.
23115 * conf/powerpc-ieee1275.mk: Likewise.
23116 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23117
1064790d 231182006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
23119
23120 Move the prototypes of grub_setjmp and grub_longjmp to
23121 cpu/setjmp.h, so that each architecture may specify different
23122 attributes.
f19dbdb7 23123
1064790d 23124 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
23125 (grub_longjmp): Likewise.
23126 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
23127 (grub_longjmp): Likewise.
23128 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
23129 (grub_longjmp): Likewise.
23130
23131 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
23132 [!GRUB_UTIL] (grub_longjmp): Removed.
23133
29dda3ed 231342006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
23135
23136 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
23137 "color!" method does not return any value.
23138
ad2a06ed 231392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23140
23141 * include/grub/bitmap.h: New file.
23142
23143 * include/grub/i386/pc/vbeutil.h: Likewise.
23144
23145 * video/bitmap.c: Likewise.
23146
23147 * video/readers/tga.c: Likewise.
23148
23149 * video/i386/pc/vbeutil.c: Likewise.
23150
23151 * commands/videotest.c: Code cleanup and updated to reflect to new
23152 video API.
23153
23154 * term/gfxterm.c: Likewise.
23155
23156 * video/video.c: Likewise.
23157
23158 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
23159 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
23160 (bitmap_mod_SOURCES): New entry.
23161 (bitmap_mod_CFLAGS): Likewise.
23162 (bitmap_mod_LDFLAGS): Likewise.
23163 (tga_mod_SOURCES): Likewise.
23164 (tga_mod_CFLAGS): Likewise.
23165 (tga_mod_LDFLAGS): Likewise.
23166
23167 * include/grub/video.h (grub_video_blit_operators): New enum type.
23168 (grub_video_render_target): Changed as forward declaration and moved
23169 actual definition to be video driver specific.
23170 (grub_video_adapter.blit_bitmap): Added blitting operator.
23171 (grub_video_adapter.blit_render_target): Likewise.
23172 (grub_video_blit_bitmap): Likewise.
23173 (grub_video_blit_render_target): Likewise.
23174
23175 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
23176 driver specific render target definition.
23177 (grub_video_vbe_map_rgba): Added driver internal helper.
23178 (grub_video_vbe_unmap_color): Updated to use
23179 grub_video_i386_vbeblit_info.
23180 (grub_video_vbe_get_video_ptr): Likewise.
23181
23182 * include/grub/i386/pc/vbeblit.h
23183 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
23184 grub_video_i386_vbeblit_info.
23185 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23186 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23187 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23188 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23189 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23190 (grub_video_i386_vbeblit_index_index): Likewise.
23191 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
23192 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23193 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23194 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
23195 operator.
23196 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
23197 operator.
23198
23199 * video/i386/pc/vbeblit.c: Updated to reflect changes on
23200 include/grub/i386/pc/vbeblit.h.
23201
23202 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
23203 Updated to use grub_video_i386_vbeblit_info.
23204 (grub_video_i386_vbefill_R8G8B8): Likewise.
23205 (grub_video_i386_vbefill_index): Likewise.
23206 (grub_video_i386_vbefill): Added generic filler.
23207
23208 * video/i386/pc/vbefill.c: Updated to reflect changes on
23209 include/grub/i386/pc/vbefill.h.
23210
23211 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
23212 grub_video_i386_vbeblit_info.
23213 (grub_video_vbe_unmap_color): Likewise.
23214 (grub_video_vbe_blit_glyph): Likewise.
23215 (grub_video_vbe_scroll): Likewise.
23216 (grub_video_vbe_draw_pixel): Removed function.
23217 (grub_video_vbe_get_pixel): Likewise.
23218 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
23219 updated code to use it.
23220 (common_blitter): Added common blitter for render target and bitmap.
23221 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
23222 (grub_video_vbe_blit_render_target): Likewise.
23223
bc8c036d 232242006-07-30 Johan Rydberg <jrydberg@gnu.org>
23225
23226 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
23227 is in text mode if there is no console control protocol instance
23228 available.
23229
684a8eff 232302006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23231
23232 * include/grub/video.h: Code cleanup.
23233
23234 * include/grub/i386/pc/vbe.h: Likewise.
23235
23236 * video/i386/pc/vbe.c: Likewise.
23237
23238 * video/i386/pc/vbeblit.c: Likewise.
23239
23240 * video/i386/pc/vbefill.c: Likewise.
23241
23242 * video/video.c: Likewise. Also added more comments.
23243
5915059b 232442006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23245
23246 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
23247 (struct grub_biosdisk_dap): Likewise.
23248
23249 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
23250 linkage settings for all functions.
23251
90ce5d56 232522006-07-12 Marco Gerards <marco@gnu.org>
23253
23254 * configure.ac (--enable-mm-debug): Fix typo.
23255
23256 * genkernsyms.sh.in: Use proper quoting for `CC'.
23257
43e7f879 232582006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
23259
23260 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
23261 (normal_mod_ASFLAGS): Remove "-m32".
23262
4889bdec 232632006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
23264
23265 * util/misc.c: Include config.h.
23266 [!HAVE_MEMALIGN]: Do not include malloc.h.
23267 (grub_memalign): Use posix_memalign, if present. Then, use
23268 memalign, if present. Otherwise, emit an error.
23269
23270 * util/grub-emu.c: Do not include malloc.h.
23271
23272 * include/grub/util/misc.h: Include unistd.h. This is required for
23273 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
23274 D. Eades III <hde@foobar-qux.org>.
23275
23276 * configure.ac (AC_GNU_SOURCE): Added.
23277 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23278 type.
23279
fd39d4da 232802006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23281
23282 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23283 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23284
b786f3b5 232852006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23286
23287 * include/grub/types.h (grub_host_addr_t): Rename to
23288 grub_target_addr_t.
23289 (grub_host_off_t): Rename to grub_target_off_t.
23290 (grub_host_size_t): Rename to grub_target_size_t.
23291 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23292 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23293
23294 * include/grub/kernel.h (struct grub_module_header): Change type
23295 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23296 (grub_module_info): Likewise.
f19dbdb7 23297
051988bb 232982006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23299
23300 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23301 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23302 Velazquez <jesus.velazquez@gmail.com>.
23303
deae281b 233042006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23305
23306 Count partitions from 1 instead of 0 in the string representation
23307 of partitions. Still use 0-based internally.
f19dbdb7 23308
deae281b 23309 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23310 (sun_partition_map_iterate): Use grub_partition_t instead of
23311 struct grub_partition *. Cast DESC->START_CYLINDER to
23312 grub_uint64_t after converting the endian.
23313 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23314 (sun_partition_map_get_name): Add 1 to P->INDEX.
23315
23316 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23317 PCDATA->DOS_PART.
23318 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23319
23320 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23321 zero instead of one.
23322 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23323 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23324
23325 * partmap/apple.c (apple_partition_map_iterate): Change the type
23326 of POS to unsigned.
23327 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23328 (apple_partition_map_get_name): Add 1 into P->INDEX.
23329
23330 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23331 of POS to unsigned.
23332 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23333 calculate the offset of a partition.
23334 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23335 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23336
23337 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23338 SECTOR to grub_disk_addr_t.
23339 (acorn_partition_map_iterate): Likewise.
23340 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23341 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23342 top.
23343 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23344
23345 * kern/i386/pc/init.c (make_install_device): Add 1 into
23346 GRUB_INSTALL_DOS_PART.
23347
23348 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23349 conditional.
23350
524a1e6a 233512006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23352
23353 Clean up the code to support 64-bit addressing in disks and
23354 files. This change is not enough for filesystems yet.
f19dbdb7 23355
524a1e6a 23356 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23357 type of "start" to grub_uint64_t.
23358 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23359 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23360 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23361 convert addresses.
23362
23363 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23364 to grub_disk_addr_t.
23365
23366 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23367 string.
23368
23369 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23370
23371 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23372 to char *.
23373
23374 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23375
23376 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23377
23378 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23379
23380 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23381 to grub_off_t, to detect an error from grub_file_seek.
23382 (grub_multiboot_load_elf32): Likewise.
23383
23384 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23385 maximum unsigned long value when an overflow is detected.
23386 (grub_strtoull): New function.
23387 (grub_divmod64): Likewise.
23388 (grub_lltoa): use grub_divmod64.
23389
23390 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23391 grub_disk_addr_t.
23392 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23393 the pointer to next character. Use grub_strtoull instead of
23394 grub_strtoul.
23395 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23396 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23397 respectively.
23398
fe6b695a 23399 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 23400 return value is signed.
23401 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23402 test if OFFSET is less than zero, as OFFSET is unsigned now.
23403
23404 * kern/disk.c (struct grub_disk_cache): Change the type of
23405 "sector" to grub_disk_addr_t.
23406 (grub_disk_cache_get_index): Change the type of SECTOR to
23407 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23408 unsigned after shifting.
23409 (grub_disk_cache_invalidate): Change the type of SECTOR to
23410 grub_disk_addr_t.
23411 (grub_disk_cache_unlock): Likewise.
23412 (grub_disk_cache_store): Likewise.
23413 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23414 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23415 grub_disk_addr_t and grub_uint64_t, respectively.
23416 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23417 body, as the value of OFFSET is tweaked by
23418 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23419 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23420 respectively.
23421 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23422 body, as the value of OFFSET is tweaked by
23423 grub_disk_check_range. Change the types of LEN and N to
23424 grub_size_t.
23425
23426 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23427 and "saved_offset" to grub_off_t.
23428 (test_header): Cast BUF to char *.
23429 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23430 to char *.
23431 (grub_gzio_read): Change the types of OFFSET and SIZE to
23432 grub_off_t and grub_size_t, respectively.
23433
23434 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23435 Removed.
23436 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23437 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23438 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23439 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23440 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23441
23442 * include/grub/types.h (grub_off_t): Unconditionally set to
23443 grub_uint64_t.
23444 (grub_disk_addr_t): Changed to grub_uint64_t.
23445
23446 * include/grub/partition.h (struct grub_partition): Change the
23447 types of "start", "len" and "offset" to grub_disk_addr_t,
23448 grub_uint64_t and grub_disk_addr_t, respectively.
23449 (grub_partition_get_start): Return grub_disk_addr_t.
23450 (grub_partition_get_len): Return grub_uint64_t.
23451
23452 * include/grub/misc.h (grub_strtoull): New prototype.
23453 (grub_divmod64): Likewise.
23454
23455 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23456 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23457 grub_off_t, respectively.
23458 All callers and references changed.
23459
23460 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23461 grub_size_t in "read".
23462 All callers and references changed.
23463
23464 * include/grub/file.h (struct grub_file): Change the types of
23465 "offset" and "size" to grub_off_t and grub_off_t,
23466 respectively. Change the type of SECTOR to grub_disk_addr_t in
23467 "read_hook".
23468 (grub_file_read): Change the type of LEN to grub_size_t.
23469 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23470 grub_off_t.
23471 (grub_file_size): Return grub_off_t.
23472 (grub_file_tell): Likewise.
23473 All callers and references changed.
23474
23475 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23476 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23477 "write".
23478 (struct grub_disk): Change the type of "total_sectors" to
23479 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 23480 "read_hook".
524a1e6a 23481 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23482 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23483 (grub_disk_write): Likewise.
23484 All callers and references changed.
23485
23486 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23487 char * for grub_strncmp to silence gcc.
23488 (grub_iso9660_mount): Likewise.
23489 (grub_iso9660_mount): Likewise.
23490 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23491 return statement.
23492 (grub_iso9660_iterate_dir): Likewise.
23493 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23494
23495 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23496 LEN to grub_disk_addr_t and grub_size_t, respectively.
23497
23498 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23499
23500 * fs/jfs.c (grub_jfs_read_file): Likewise.
23501
23502 * fs/minix.c (grub_jfs_read_file): Likewise.
23503
23504 * fs/sfs.c (grub_jfs_read_file): Likewise.
23505
23506 * fs/ufs.c (grub_jfs_read_file): Likewise.
23507
23508 * fs/xfs.c (grub_jfs_read_file): Likewise.
23509
23510 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23511 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23512 respectively.
23513
23514 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23515 BLKNR to -1 instead of returning GRUB_ERRNO.
23516 (grub_ext2_read_file): Change the types of SECTOR and
23517 LEN to grub_disk_addr_t and grub_size_t, respectively.
23518
23519 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23520 LEN to grub_disk_addr_t and grub_size_t, respectively.
23521
23522 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23523 grub_file_read.
23524
23525 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23526 string. Do not cast SECTOR explicitly.
23527
23528 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23529 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23530 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23531 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23532 over 2TB and LBA mode is not supported, raise an error.
23533 (get_safe_sectors): New function.
23534 (grub_biosdisk_read): Use get_safe_sectors.
23535 (grub_biosdisk_write): Likewise.
23536
23537 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23538 (grub_efidisk_write): Likewise.
23539
23540 * disk/loopback.c (delete_loopback): Cosmetic changes.
23541 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23542 correctly.
23543 (grub_loopback_open): Likewise.
23544 (grub_loopback_read): Likewise. Also, change the type of POS to
23545 grub_off_t, and fix the usage of grub_memset.
23546
23547 * commands/i386/pc/play.c: Include grub/machine/time.h.
23548
23549 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23550 print FILE->SIZE.
23551
23552 * commands/configfile.c: Include grub/env.h.
23553
23554 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23555 GRUB_ERRNO directly instead. Change the type of POS to
23556 grub_off_t. Follow the coding standard.
23557
23558 * commands/blocklist.c: Include grub/partition.h.
23559 (grub_cmd_blocklist): Return an error if the underlying device is
23560 not a disk. Take the starting sector of a partition into account,
23561 if a partition is used.
23562
23563 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23564 a length field.
23565 (lba_mode): Support 64-bit addresses.
23566 (chs_mode): Likewise.
23567 (copy_buffer): Adapted to the new offsets of a length field and a
23568 segment field.
23569 (blocklist_default_start): Allocate 64-bit space.
23570
23571 * boot/i386/pc/boot.S (force_lba): Removed.
23572 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 23573 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 23574 space.
23575 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23576 is useless.
23577 (lba_mode): Refactored to support a 64-bit address. More size
23578 optimization.
23579 (setup_sectors): Likewise.
23580
53af98ad 235812006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23582
23583 * DISTLIST: Added include/grub/i386/linux.h. Removed
23584 include/grub/i386/pc/linux.h
23585
23586 * configure.ac (AC_INIT): Bumped to 1.94.
23587
23588 * config.guess: Updated from gnulib.
23589 * config.sub: Likewise.
23590 * install-sh: Likewise.
23591 * mkinstalldirs: Likewise.
23592
b4c1940a 235932006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23594
23595 * conf/common.rmk (grub_modules_init.lst): Depended on
23596 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23597 MODSRCFILES.
23598
23599 * genmk.rb (PModule::rule): Reverted the previous change.
23600
cfca1cfd 236012006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23602
23603 * conf/common.rmk (grub_modules_init.lst): Depends on
23604 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23605 that the target does not exist before producing.
23606 (grub_modules_init.h): Remove the target before generating.
23607 (grub_emu_init.c): Likewise.
23608
23609 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23610
aa6d7826 236112006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23612
23613 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23614 for the target-specific tests. Make sure that we also have the
23615 up-to-date target variables for those tests.
23616
26c607b9 236172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23618
23619 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23620 (PModule::rule): Likewise.
23621
0162321a 236222006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23623
23624 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23625 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23626 target-specific flags should be prefixed.
23627 (PModule::rule): Likewise.
23628
6c826348 236292006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23630
23631 * configure.ac (CMP): Check if cmp is available explicitly.
23632
b977bf01 236332006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23634
23635 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23636 (target_cpu): New variable.
23637 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 23638
b977bf01 23639 * util/i386/pc/grub-install.in (host_cpu): Removed.
23640 (target_cpu): New variable.
23641 (pkglibdir): Use target_cpu instead of host_cpu.
23642
23643 * util/genmoddep.c: Removed.
f19dbdb7 23644
b977bf01 23645 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23646 instead of GRUB_HOST_SIZEOF_VOID_P.
23647 * kern/dl.c: Likewise.
23648
23649 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23650 ...
23651 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23652 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23653 (GRUB_TARGET_SIZEOF_LONG): ... this.
23654 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23655 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23656 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23657 to ...
23658 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23659 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23660 (GRUB_TARGET_SIZEOF_LONG): ... this.
23661 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23662 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23663 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23664 to ...
23665 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23666 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23667 (GRUB_TARGET_SIZEOF_LONG): ... this.
23668 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23669 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23670
23671 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23672 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23673 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23674 instead of GRUB_HOST_SIZEOF_LONG.
23675 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23676 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23677 GRUB_CPU_WORDS_BIGENDIAN.
23678 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23679 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23680 grub_host_ssize_t.
23681
23682 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23683 (genmoddep_SOURCES): Likewise.
23684 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23685 (genmoddep_SOURCES): Likewise.
23686 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23687 (genmoddep_SOURCES): Likewise.
23688 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23689 Likewise.
23690 (genmoddep_SOURCES): Likewise.
23691
23692 * genmoddep.awk: New file.
23693
23694 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23695 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23696 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23697 (PModule::rule): Likewise.
23698 (Program::rule): Likewise.
23699 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23700 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23701 respectively.
23702
23703 * configure.ac: Rewritten intensively to use host and target
23704 instead of build and host, respectively.
23705
23706 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23707 (host_cpu): Removed.
23708 (target_cpu): New variable.
23709 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23710 (BUILD_CC): Removed.
23711 (BUILD_CFLAGS): Likewise.
23712 (BUILD_CPPFLAGS): Likewise.
23713 (TARGET_CC): New variable.
23714 (TARGET_CFLAGS): Likewise.
23715 (TARGET_CPPFLAGS): Likewise.
23716 (TARGET_LDFLAGS): Likewise.
23717 (AWK): Likewise.
23718 (include): Use target_cpu instead of host_cpu.
23719 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 23720
b977bf01 23721 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23722
f09771a1 237232006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23724
23725 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23726 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23727 field 'false' to 'exec_on_false'.
23728 (grub_script_create_cmdif): Renamed argument names to reflect above
23729 changes.
23730
23731 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23732
23733 * normal/script.c (grub_script_create_cmdif): Likewise.
23734
118f4fb3 237352006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23736
23737 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23738 top.
23739 (grub_hfsplus_btree_recptr): Likewise.
23740 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23741 FILEBLOCK both to pass a block number and store next block
23742 number.
23743 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23744 overflow file correctly. Specify errors appropriately, because
23745 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23746 grub_hfsplus_btree_recptr to get the pointer to a found key.
23747 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23748 is found.
23749
23750 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23751 linux.mod.
23752 (_linux_mod_SOURCES): New variable.
23753 (_linux_mod_CFLAGS): Likewise.
23754 (_linux_mod_LDFLAGS): Likewise.
23755 (linux_mod_SOURCES): Likewise.
23756 (linux_mod_CFLAGS): Likewise.
23757 (linux_mod_LDFLAGS): Likewise.
23758
23759 * DISTLIST: Added loader/i386/efi/linux.c,
23760 loader/i386/efi/linux_normal.c and
23761 include/grub/i386/efi/loader.h.
23762
23763 * loader/i386/efi/linux.c: New file.
23764 * loader/i386/efi/linux_normal.c: Likewise.
23765 * include/grub/i386/efi/loader.h: Likewise.
23766
89a7d726 237672006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23768
23769 * commands/blocklist.c: New file.
23770
23771 * DISTLIST: Added commands/blocklist.c.
23772
23773 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 23774 color for the background, and a darker color for the foreground.
89a7d726 23775 (grub_console_checkkey): Return READ_KEY.
23776 (grub_console_cls): Set the background to
23777 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23778
23779 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23780
23781 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23782 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23783
23784 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23785 prototype.
23786
23787 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23788 BG. The spec is wrong again.
23789
23790 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23791 prototype.
23792 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23793
23794 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23795 commands/blocklist.c.
23796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 23797
89a7d726 23798 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23799 (blocklist_mod_SOURCES): New variable.
23800 (blocklist_mod_CFLAGS): Likewise.
23801 (blocklist_mod_LDFLAGS): Likewise.
23802
75c8f258 238032006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23804
23805 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23806 duplication.
23807 (lba_mode): Use %eax more intensively to reduce the code size.
23808
da2eb181 238092006-05-20 Marco Gerards <marco@gnu.org>
23810
23811 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23812
23813 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23814 for `menuentry'.
23815 (script): Accept leading newlines.
23816 (newlines): New rule to describe 0 or more newlines.
23817 (commands): Accept `command' with trailing newline. Fixed the
23818 order in which arguments were passed to `grub_script_add_cmd'.
23819 Accept commands separated by newlines.
23820 (function): Changed to accept newlines.
23821 (menuentry) Rewritten.
23822
23823 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23824 front of the list, instead of to the end.
23825
577b4050 238262006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23827
23828 * util/i386/pc/grub-install.in (bindir): New variable.
23829 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23830 Shaver <lbgwjl@gmail.com>.
23831
0d6e1189 238322006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23833
23834 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23835 grub/machine/linux.h
23836 * loader/i386/pc/linux.c: Likewise.
23837
23838 * include/grub/i386/pc/linux.h: Moved to ...
23839 * include/grub/i386/linux.h: ... here.
23840
23841 * include/grub/i386/linux.h (struct linux_kernel_params): New
23842 struct.
f19dbdb7 23843
31b86e9f 238442006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23845
23846 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23847 checking.
23848 (grub_video_vbe_blit_glyph): Likewise.
23849 (grub_video_vbe_blit_bitmap): Likewise.
23850 (grub_video_vbe_blit_render_target): Likewise.
23851
83b984de 238522006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23853
23854 * configure.ac (--with-platform): Properly quote the square
23855 brackets.
23856
5f0413bd 238572006-05-08 Marco Gerards <marco@gnu.org>
23858
23859 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23860 this...
23861 (kernel_elf_HEADERS): ...to this. Updated all users.
23862 (grubof_symlist.c): Renamed from this...
23863 (kernel_elf_symlist.c): ...to this. Updated all users.
23864 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23865 (grubof_SOURCES): Renamed from this...
23866 (kernel_elf_SOURCES): ...to this.
23867 (grubof_HEADERS): Renamed from this...
23868 (kernel_elf_HEADERS): ...to this.
23869 (grubof_CFLAGS): Renamed from this...
23870 (kernel_elf_CFLAGS): ...to this.
23871 (grubof_ASFLAGS): Renamed from this...
23872 (kernel_elf_ASFLAGS): ...to this.
23873 (grubof_LDFLAGS): Renamed from this...
23874 (kernel_elf_LDFLAGS): ...to this.
23875
23876 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23877 this...
23878 (kernel_elf_HEADERS): ...to this. Updated all users.
23879 (grubof_symlist.c): Renamed from this...
23880 (kernel_elf_symlist.c): ...to this. Updated all users.
23881 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23882 (grubof_SOURCES): Renamed from this...
23883 (kernel_elf_SOURCES): ...to this.
23884 (grubof_HEADERS): Renamed from this...
23885 (kernel_elf_HEADERS): ...to this.
23886 (grubof_CFLAGS): Renamed from this...
23887 (kernel_elf_CFLAGS): ...to this.
23888 (grubof_ASFLAGS): Renamed from this...
23889 (kernel_elf_ASFLAGS): ...to this.
23890 (grubof_LDFLAGS): Renamed from this...
23891 (kernel_elf_LDFLAGS): ...to this.
23892
23893 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23894 `kernel.elf' instead of `grubof'.
23895
05568c2e 238962006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23897
23898 Add --with-platform to configure. Use pkglibdir instead of
23899 pkgdatadir. This is reported by Roger Leigh.
23900
23901 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23902 (host_vendor): Likewise.
23903 (host_os): Likewise.
23904 (pkgdatadir): Likewise.
23905 (platform): New variable.
23906 (pkglibdir): Likewise.
23907 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 23908
05568c2e 23909 * util/i386/pc/grub-install.in (datadir): Removed.
23910 (host_vendor): Likewise.
23911 (host_os): Likewise.
23912 (pkgdatadir): Likewise.
23913 (platform): New variable.
23914 (pkglibdir): Likewise.
23915 Use PKGLIBDIR instead of PKGDATADIR.
23916
23917 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23918 instead of GRUB_DATADIR.
23919 (main): Likewise.
23920 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23921 (main): Likewise.
23922 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23923 (main): Likewise.
23924
23925 * configure.ac (--with-platform): New option.
23926 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23927
23928 * Makefile.in: Include a makefile based on PLATFORM instead of
23929 HOST_VENDOR.
23930 (pkgdatadir): Not appended by the machine type.
23931 (pkglibdir): Appended by the machine type.
23932 (host_vendor): Removed.
23933 (platform): New variable.
23934 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23935 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23936 (uninstall): Likewise.
23937
4e93851c 239382006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23939
23940 Use the environment context in the menu. Remove the commands
23941 "default" and "timeout", and use variables instead.
f19dbdb7 23942
4e93851c 23943 * normal/menu.c: Include grub/env.h.
23944 (print_entry): Cast TITLE to silence gcc.
23945 (get_timeout): New function.
23946 (set_timeout): Likewise.
23947 (get_entry_number): Likewise.
23948 (run_menu): Use a default entry, a fallback entry and a timeout
23949 in the environment variables "default", "fallback" and
23950 "timeout". Also, tweak the default entry if it is not within the
23951 current menu entries.
23952 (grub_menu_run): Use a fallback entry in the environment variable
23953 "fallback".
23954
23955 * normal/main.c (read_config_file): Do not initialize
23956 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23957 NEWMENU->TIMEOUT.
23958 (grub_normal_execute): Use a data slot to store the menu.
23959
23960 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23961 fallback_entry and timeout.
23962 (struct grub_menu_list): Removed.
23963 (grub_menu_list_t): Likewise.
23964 (struct grub_context): Likewise.
23965 (grub_context_t): Likewise.
23966 (grub_context_get): Likewise.
23967 (grub_context_get_current_menu): Likewise.
23968 (grub_context_push_menu): Likewise.
23969 (grub_context_pop_menu): Likewise.
23970 (grub_default_init): Likewise.
23971 (grub_default_fini): Likewise.
23972 (grub_timeout_init): Likewise.
23973 (grub_timeout_fini): Likewise.
23974
23975 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23976 and timeout.mod.
23977 (normal_mod_SOURCES): Removed normal/context.c.
23978
23979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23980 commands/default.c, commands/timeout.c and normal/context.c.
23981 (normal_mod_SOURCES): Removed normal/context.c.
23982
23983 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23984 commands/timeout.c and normal/context.c.
23985 (normal_mod_SOURCES): Removed normal/context.c.
23986
23987 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23988 commands/default.c, commands/timeout.c and normal/context.c.
23989 (normal_mod_SOURCES): Removed normal/context.c.
23990
23991 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23992 timeout.mod.
23993 (default_mod_SOURCES): Removed.
23994 (default_mod_CFLAGS): Likewise.
23995 (default_mod_LDFLAGS): Likewise.
23996 (timeout_mod_SOURCES): Removed.
23997 (timeout_mod_CFLAGS): Likewise.
23998 (timeout_mod_LDFLAGS): Likewise.
23999
24000 * DISTLIST: Removed commands/default.c, commands/timeout.c and
24001 normal/context.c.
24002
24003 * commands/default.c: Removed.
24004 * commands/timeout.c: Likewise.
24005 * normal/context.c: Likewise.
24006
1eb9cc1d 240072006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
24008
24009 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
24010
385bd9c1 240112006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
24012
24013 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
24014 "next" to "prev" for readability.
24015 (struct grub_env_sorted_var): New struct.
24016 (grub_env_context): Renamed to ...
24017 (initial_context): ... this.
24018 (grub_env_var_context): Renamed to ...
24019 (current_context): ... this.
24020 (grub_env_find): Look only at CURRENT_CONTEXT.
24021 (grub_env_context_open): Rewritten to copy exported variables from
24022 previous context.
24023 (grub_env_context_close): Rewritten according to the new
24024 scheme. Also, add an assertion to prevent the initial context from
24025 removed.
24026 (grub_env_insert): Removed the code for the sorted list.
24027 (grub_env_remove): Likewise.
24028 (grub_env_export): Simply mark the variable with
24029 GRUB_ENV_VAR_GLOBAL.
24030 (grub_env_set): A cosmetic change for naming consistency.
24031 (grub_env_get): Likewise.
24032 (grub_env_unset): Likewise.
24033 (grub_env_iterate): Rewritten to sort variables within this
24034 function.
24035 (grub_register_variable_hook): Fixed for naming consistency. Call
24036 grub_env_find again, only if NAME is not found at the first time.
24037 (mangle_data_slot_name): New function.
24038 (grub_env_set_data_slot): Likewise.
24039 (grub_env_get_data_slot): Likewise.
24040 (grub_env_unset_data_slot): Likewise.
24041
24042 * include/grub/env.h (grub_env_var_type): New enum.
24043 (GRUB_ENV_VAR_LOCAL): New constant.
24044 (GRUB_ENV_VAR_GLOBAL): Likewise.
24045 (GRUB_ENV_VAR_DATA): Likewise.
24046 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
24047 "type".
24048 (grub_env_set): Replace VAR with NAME for consistency.
24049 (grub_register_variable_hook): Likewise.
24050 (grub_env_export): Specify the name of the argument.
24051 (grub_env_set_data_slot): New prototype.
24052 (grub_env_get_data_slot): Likewise.
24053 (grub_env_unset_data_slot): Likewise.
24054
7f362539 240552006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24056
24057 Extend the loader so that GRUB can accept a loader which comes
24058 back to GRUB when a loaded image exits. Also, this change adds
24059 support for a chainloader on EFI.
f19dbdb7 24060
7f362539 24061 * term/efi/console.c: Include grub/misc.h.
24062 (grub_console_checkkey): Display a scan code on the top for
24063 debugging. This will be removed once the EFI port gets stable.
24064 Correct the scan code mapping.
24065
24066 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
24067 allocate memory from larger regions, in order to reduce the number
24068 of allocated regions. Otherwise, the MacOSX loader panics.
24069 (filter_memory_map): Avoid less than 1MB for compatibility with
24070 other loaders.
24071 (add_memory_regions): Allocate from the tail of a region, if
24072 possible, to avoid allocating a region near to 1MB, for the MacOSX
24073 loader.
24074
24075 * kern/efi/init.c (grub_efi_set_prefix): Specify
24076 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
24077
24078 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
24079 argument IMAGE_HANDLE and specify it to get a loaded image.
24080 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
24081 grub_efi_get_loaded_image.
fe6b695a 24082 (grub_efi_get_filename): Divide the length by the size of
7f362539 24083 grub_efi_char16_t.
24084 (grub_efi_get_device_path): New function.
24085 (grub_efi_print_device_path): Print End Device Path nodes. Divide
24086 the length by the size of grub_efi_char16_t for a file path device
24087 path node.
24088
24089 * kern/loader.c (grub_loader_noreturn): New variable.
24090 (grub_loader_set): Accept a new argument NORETURN. Set
24091 GRUB_LOADER_NORETURN to NORETURN.
24092 All callers changed.
24093 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
24094 grub_machine_fini.
24095
24096 * include/grub/efi/efi.h (grub_efi_get_device_path): New
24097 prototype.
24098 (grub_efi_get_loaded_image): Take an argument to specify an image
24099 handle.
24100
24101 * include/grub/loader.h (grub_loader_set): Added one more argument
24102 NORETURN.
24103
24104 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
24105 instead of grub_efi_open_protocol.
24106 (grub_efidisk_get_device_name): Likewise.
24107 (grub_efidisk_close): Print a newline.
24108 (grub_efidisk_get_device_handle): Fixed to use
24109 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
24110 GRUB_EFI_DEVICE_PATH_TYPE.
24111
24112 * disk/efi/efidisk.c (device_path_guid): Moved to ...
24113 * kern/efi/efi.c (device_path_guid): ... here.
24114
24115 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
24116 chain.mod.
24117 (kernel_mod_HEADERS): Added efi/disk.h.
24118 (_chain_mod_SOURCES): New variable.
24119 (_chain_mod_CFLAGS): Likewise.
24120 (_chain_mod_LDFLAGS): Likewise.
24121 (chain_mod_SOURCES): Likewise.
24122 (chain_mod_CFLAGS): Likewise.
24123 (chain_mod_LDFLAGS): Likewise.
24124
24125 * DISTLIST: Added include/grub/efi/chainloader.h,
24126 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
24127
24128 * include/grub/efi/chainloader.h: New file.
24129 * loader/efi/chainloader.c: Likewise.
24130 * loader/efi/chainloader_normal.c: Likewise.
24131
c0111d6e 241322006-04-30 Marco Gerards <marco@gnu.org>
24133
24134 * commands/configfile.c (grub_cmd_source): New function.
24135 (GRUB_MOD_INIT): Register the commands `source' and `.'.
24136 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
24137
df5341da 241382006-04-30 Marco Gerards <marco@gnu.org>
24139
24140 * normal/execute.c (grub_script_execute_cmd): Change the return
24141 type to `grub_err_t'. Correctly return the error.
24142 (grub_script_execute_cmdline): In case a command line is not a
24143 command or a function, try to interpret it as an assignment.
24144
f85934bd 241452006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24146
24147 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
24148 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
24149 skip a node whose name is obviously invalid as UTF-16,
24150 i.e. contains a NUL character. Stop the iteration when the last
24151 directory entry is found. Instead of using the return value of
24152 grub_hfsplus_btree_iterate_node, store the value in RET and use
24153 it, because the iterator can be stopped by the last directory
24154 entry.
24155
8f8a2cf8 241562006-04-30 Marco Gerards <marco@gnu.org>
24157
24158 * include/grub/env.h (grub_env_export): New prototype. Reported
24159 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
24160
a27e84ce 241612006-04-30 Marco Gerards <marco@gnu.org>
24162
24163 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
24164 size of the extents in a catalog file record.
24165
eaef0553 241662006-04-29 Marco Gerards <marco@gnu.org>
24167
24168 * commands/configfile.c (grub_cmd_configfile): Execute the
24169 configfile within its own context.
24170
24171 * include/grub/env.h (grub_env_context_open): New prototype.
24172 (grub_env_context_close): Likewise.
24173
24174 * kern/env.c (grub_env): Removed.
24175 (grub_env_sorted): Likewise.
24176 (grub_env_context): New variable.
24177 (grub_env_var_context): Likewise.
24178 (grub_env_find): Search both the active context and the global
24179 context.
24180 (grub_env_context_open): New function.
24181 (grub_env_context_close): Likewise.
24182 (grub_env_insert): Likewise.
24183 (grub_env_remove): Likewise.
24184 (grub_env_export): Likewise.
24185 (grub_env_set): Changed to use helper functions to avoid code
24186 duplication.
24187 (grub_env_iterate): Rewritten so both the current context and the
24188 global context are being used.
24189
24190 * normal/command.c (export_command): New function.
24191 (grub_command_init): Register the `export' function.
24192
7b455f4d 241932006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
24194
24195 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
24196 explicitly to suppress gcc's warnings.
24197 * fs/fat.c (grub_fat_find_dir): Likewise.
24198 (grub_fat_label): Likewise.
24199 * fs/xfs.c (grub_xfs_read_inode): Likewise.
24200 (grub_xfs_mount): Likewise.
24201 (grub_xfs_label): Likewise.
24202 * fs/affs.c (grub_affs_mount): Likewise.
24203 (grub_affs_label): Likewise.
24204 (grub_affs_iterate_dir): Likewise.
24205 * fs/sfs.c (grub_sfs_mount): Likewise.
24206 (grub_sfs_iterate_dir): Likewise.
24207 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
24208 * fs/hfs.c (grub_hfs_mount): Likewise.
24209 (grub_hfs_cmp_catkeys): Likewise.
24210 (grub_hfs_find_dir): Likewise.
24211 (grub_hfs_dir): Likewise.
24212 (grub_hfs_label): Likewise.
24213 * fs/jfs.c (grub_jfs_mount): Likewise.
24214 (grub_jfs_opendir): Likewise.
24215 (grub_jfs_getent): Likewise.
24216 (grub_jfs_lookup_symlink): Likewise.
24217 (grub_jfs_label): Likewise.
24218 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
24219 (grub_hfsplus_iterate_dir): Likewise.
24220 (grub_hfsplus_btree_iterate_node): Made static.
24221
24222 * util/grub-emu.c (prefix): New variable.
24223 (grub_machine_set_prefix): New function.
24224 (main): Do not set the environment variable "prefix" here. Only
24225 set PREFIX, which is used later by grub_machine_set_prefix.
24226
24227 * include/grub/video.h: Do not include grub/symbol.h.
24228 (grub_video_register): Not exported. This symbol is not defined in
24229 the kernel.
24230 (grub_video_unregister): Likewise.
24231 (grub_video_iterate): Likewise.
24232 (grub_video_setup): Likewise.
24233 (grub_video_restore): Likewise.
24234 (grub_video_get_info): Likewise.
24235 (grub_video_get_blit_format): Likewise.
24236 (grub_video_set_palette): Likewise.
24237 (grub_video_get_palette): Likewise.
24238 (grub_video_set_viewport): Likewise.
24239 (grub_video_get_viewport): Likewise.
24240 (grub_video_map_color): Likewise.
24241 (grub_video_map_rgb): Likewise.
24242 (grub_video_map_rgba): Likewise.
24243 (grub_video_fill_rect): Likewise.
24244 (grub_video_blit_glyph): Likewise.
24245 (grub_video_blit_bitmap): Likewise.
24246 (grub_video_blit_render_target): Likewise.
24247 (grub_video_scroll): Likewise.
24248 (grub_video_swap_buffers): Likewise.
24249 (grub_video_create_render_target): Likewise.
24250 (grub_video_delete_render_target): Likewise.
24251 (grub_video_set_active_render_target): Likewise.
24252
24253 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
24254 Undefined.
24255 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
24256
24257 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
24258 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24259 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24260 instead of $(srcdir)/genkernsyms.sh.
24261
24262 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
24263 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24264 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24265 instead of $(srcdir)/genkernsyms.sh.
24266
24267 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
24268 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24269 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24270 instead of $(srcdir)/genkernsyms.sh.
24271
24272 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
24273 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24274 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24275 instead of $(srcdir)/genkernsyms.sh.
24276
24277 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24278 genkernsyms.sh.
24279
24280 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24281 genkernsyms.sh.
24282 (gensymlist.sh): New target.
24283 (genkernsyms.sh): Likewise.
24284
24285 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24286 genkernsyms.sh.in and gensymlist.sh.in.
24287
24288 * genkernsyms.sh: Removed.
24289 * gensymlist.sh: Likewise.
f19dbdb7 24290
7b455f4d 24291 * genkernsyms.sh.in: New file.
24292 * gensymlist.sh.in: Likewise.
24293
1885bb27 242942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24295
24296 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24297 clobber "prefix", since we may have already set it manually.
24298
71538dff 242992006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24300
24301 * kern/misc.c (abort): New alias for grub_abort.
24302
2965c7cc 243032006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24304
24305 A new machine-specific function "grub_machine_set_prefix" is
24306 defined. This is called after loading modules, so that a prefix
24307 initialization can use modules. Also, this change adds an
24308 intensive debugging feature for the memory manager via the
24309 configure option "--enable-mm-debug".
f19dbdb7 24310
2965c7cc 24311 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24312 PART.LEN.
24313
24314 * kern/sparc64/ieee1275/init.c (abort): Removed.
24315 (grub_stop): Likewise.
24316 (grub_exit): New function.
24317 (grub_set_prefix): Renamed to ...
24318 (grub_machine_set_prefix): ... this.
24319 (grub_machine_init): Do not call grub_set_prefix.
24320
24321 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24322 (grub_machine_set_prefix): ... this.
24323 (grub_machine_init): Do not call grub_set_prefix.
24324
24325 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24326 (grub_machine_init): Do not set the prefix here.
24327
24328 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24329
24330 * kern/efi/init.c: Include grub/mm.h.
24331 (grub_efi_set_prefix): New function.
24332
24333 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24334 (grub_efi_get_filename): New function.
24335 (grub_print_device_path): Renamed to ...
24336 (grub_efi_print_device_path): ... this.
24337
24338 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24339 [MM_DEBUG] (grub_realloc): Likewise.
24340 [MM_DEBUG] (grub_free): Likewise.
24341 [MM_DEBUG] (grub_memalign): Likewise.
24342 [MM_DEBUG] (grub_mm_debug): New variable.
24343 [MM_DEBUG] (grub_debug_malloc): New function.
24344 [MM_DEBUG] (grub_debug_free): New function.
24345 [MM_DEBUG] (grub_debug_realloc): New function.
24346 [MM_DEBUG] (grub_debug_memalign): New function.
24347
24348 * kern/misc.c (grub_abort): Print a newline to distinguish
24349 the message.
24350
24351 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24352 grub_set_root_dev after loading modules. This is necessary when
24353 setting a prefix depends on modules.
24354
24355 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24356 (grub_efi_print_device_path): ... this.
24357 (grub_efi_get_filename): New prototype.
24358 (grub_efi_set_prefix): Likewise.
24359
24360 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24361 and grub/disk.h.
24362 (grub_efidisk_get_device_handle): New prototype.
24363 (grub_efidisk_get_device_name): Likewise.
24364
24365 * include/grub/mm.h: Include config.h.
24366 (MM_DEBUG): Removed.
24367 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24368 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24369 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24370 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24371 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24372 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24373 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24374 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24375 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24376
24377 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24378
24379 * disk/efi/efidisk.c: Include grub/partition.h.
24380 (iterate_child_devices): New function.
24381 (add_device): First, compare only last device path nodes, so that
24382 devices are sorted by the types.
24383 (grub_efidisk_get_device_handle): New function.
24384 (grub_efidisk_get_device_name): Likewise.
24385
24386 * configure.ac (--enable-mm-debug): New option to enable the
24387 memory manager debugging feature. This makes the binary much
24388 bigger, so is disabled by default.
24389
9cacaa17 243902006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24391
24392 Use grub_abort instead of grub_stop, and grub_exit must be
24393 define in each architecture now. Also, this change adds support
24394 for EFI disks.
f19dbdb7 24395
9cacaa17 24396 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24397 (grub_getkey): New function.
24398 (grub_term_get_current): Likewise.
24399
24400 * util/i386/pc/grub-setup.c: Include grub/term.h.
24401 (grub_getkey): New function.
24402 (grub_term_get_current): Likewise.
24403
24404 * util/misc.c (grub_stop): Renamed to ...
24405 (grub_exit): ... this.
24406
24407 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24408 (grub_exit): ... this.
24409 (grub_machine_init): Use grub_abort instead of abort.
24410 (grub_stop): Removed.
24411
24412 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24413 abort.
24414
24415 * kern/i386/pc/startup.S (grub_exit): New function.
24416 (cold_reboot): New label.
24417
24418 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24419 (grub_efi_init): Call grub_efidisk_init.
24420 (grub_efi_fini): Call grub_efidisk_fini.
24421
24422 * kern/efi/efi.c: Include grub/mm.h.
24423 (grub_efi_console_control_guid): Renamed to ...
24424 (console_control_guid): ... this.
24425 (grub_efi_loaded_image_guid): Renamed to ...
24426 (loaded_image_guid): ... this.
24427 (grub_efi_locate_handle): New function.
24428 (grub_efi_open_protocol): Likewise.
24429 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24430 GRUB_EFI_CONSOLE_CONTROL_GUID.
24431 (grub_efi_exit): Removed.
24432 (grub_stop): Likewise.
24433 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24434 (grub_exit): New function.
24435 (grub_print_device_path): Likewise.
24436
24437 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24438 (grub_enter_rescue_mode): Register "exit".
24439
24440 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24441 (grub_abort): New function.
24442
24443 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24444
24445 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24446
24447 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24448
24449 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24450 (grub_print_device_path): New prototype.
24451 (grub_efi_locate_handle): Likewise.
24452 (grub_efi_open_protocol): Likewise.
24453
24454 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24455 * disk/efi/efidisk.c: Likewise.
24456
24457 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24458
24459 * include/grub/efi/console_control.h
24460 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24461
24462 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24463 last 8 bytes as an array.
24464 (GRUB_EFI_DISK_IO_GUID): New macro.
24465 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24466 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24467 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24468 grub_uint8_t.
24469 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24470 (struct grub_efi_device_path): Rename the member "sub_type" to
24471 "subtype".
24472 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24473 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24474 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24475 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24476 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24477 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24478 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24479 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24480 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24481 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24482 (struct grub_efi_pci_device_path): New structure.
24483 (grub_efi_pci_device_path_t): New type.
24484 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24485 (struct grub_efi_pccard_device_path): New structure.
24486 (grub_efi_pccard_device_path_t): New type.
24487 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24488 (struct grub_efi_memory_mapped_device_path): New structure.
24489 (grub_efi_memory_mapped_device_path_t): New type.
24490 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24491 (struct grub_efi_vendor_device_path): New structure.
24492 (grub_efi_vendor_device_path_t): New type.
24493 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24494 (struct grub_efi_controller_device_path): New structure.
24495 (grub_efi_controller_device_path_t): New type.
24496 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24497 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24498 (struct grub_efi_acpi_device_path): New structure.
24499 (grub_efi_acpi_device_path_t): New type.
24500 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24501 (struct grub_efi_expanded_acpi_device_path): New structure.
24502 (grub_efi_expanded_acpi_device_path_t): New type.
24503 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24504 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24505 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24506 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24507 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24508 (struct grub_efi_atapi_device_path): New structure.
24509 (grub_efi_atapi_device_path_t): New type.
24510 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24511 (struct grub_efi_fibre_channel_device_path): New structure.
24512 (grub_efi_fibre_channel_device_path_t): New type.
24513 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24514 (struct grub_efi_1394_device_path): New structure.
24515 (grub_efi_1394_device_path_t): New type.
24516 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24517 (struct grub_efi_usb_device_path): New structure.
24518 (grub_efi_usb_device_path_t): New type.
24519 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24520 (struct grub_efi_usb_class_device_path): New structure.
24521 (grub_efi_usb_class_device_path_t): New type.
24522 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24523 (struct grub_efi_i2o_device_path): New structure.
24524 (grub_efi_i2o_device_path_t): New type.
24525 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24526 (struct grub_efi_mac_address_device_path): New structure.
24527 (grub_efi_mac_address_device_path_t): New type.
24528 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24529 (struct grub_efi_ipv4_device_path): New structure.
24530 (grub_efi_ipv4_device_path_t): New type.
24531 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24532 (struct grub_efi_ipv6_device_path): New structure.
24533 (grub_efi_ipv6_device_path_t): New type.
24534 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24535 (struct grub_efi_infiniband_device_path): New structure.
24536 (grub_efi_infiniband_device_path_t): New type.
24537 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24538 (struct grub_efi_uart_device_path): New structure.
24539 (grub_efi_uart_device_path_t): New type.
24540 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24541 (struct grub_efi_vendor_messaging_device_path): New structure.
24542 (grub_efi_vendor_messaging_device_path_t): New type.
24543 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24544 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24545 (struct grub_efi_hard_drive_device_path): New structure.
24546 (grub_efi_hard_drive_device_path_t): New type.
24547 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24548 (struct grub_efi_cdrom_device_path): New structure.
24549 (grub_efi_cdrom_device_path_t): New type.
24550 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24551 (struct grub_efi_vendor_media_device_path): New structure.
24552 (grub_efi_vendor_media_device_path_t): New type.
24553 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24554 (struct grub_efi_file_path_device_path): New structure.
24555 (grub_efi_file_path_device_path_t): New type.
24556 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24557 (struct grub_efi_protocol_device_path): New structure.
24558 (grub_efi_protocol_device_path_t): New type.
24559 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24560 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24561 (struct grub_efi_bios_device_path): New structure.
24562 (grub_efi_bios_device_path_t): New type.
24563 (struct grub_efi_disk_io): New structure.
24564 (grub_efi_disk_io_t): New type.
24565 (struct grub_efi_block_io_media): New structure.
24566 (grub_efi_block_io_media_t): New type.
24567 (struct grub_efi_block_io): New structure.
24568 (grub_efi_block_io_t): New type.
24569
24570 * include/grub/misc.h (grub_stop): Removed.
24571 (grub_exit): New prototype.
24572 (grub_abort): Likewise.
24573
24574 * include/grub/disk.h (enum grub_disk_dev_id): Added
24575 GRUB_DISK_DEVICE_EFIDISK_ID.
24576
24577 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24578 disk/efi/efidisk.c.
24579 (kernel_syms.lst): Remove the target if an error occurs.
24580
49986a9f 245812006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24582
24583 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24584 as it was simply too buggy.
24585
970d3b8a 245862006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24587
24588 * kern/misc.c (grub_lltoa): New function.
24589 (grub_vsprintf): Added support for the long long suffix,
24590 i.e. "ll".
24591
ff04ec24 245922006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24593
24594 * Makefile.in (LDFLAGS): Add variable.
24595 (LD): Remove variable.
24596 * configure.ac: Add -m32 to LDFLAGS.
24597 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24598 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24599 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24600 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24601 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24602 variables.
24603 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24604 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24605 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24606
37e5e1a4 246072006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24608
24609 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24610 length for unknown glyph.
24611
c352d8dd 246122006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24613
2eab1c0d 24614 Add support for pre-loaded modules into the EFI port.
f19dbdb7 24615
2eab1c0d 24616 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24617 completely. Accept one more argument DIR. The caller has changed.
24618
24619 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24620
24621 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24622 (grub_efi_loaded_image_guid): New variable.
24623 (grub_efi_get_loaded_image): New function.
24624 (grub_arch_modules_addr): Likewise.
24625
24626 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24627 prototype.
24628
24629 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24630 (struct grub_efi_loaded_image): New structure.
24631 (grub_efi_loaded_image_t): New type.
24632
246332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24634
c352d8dd 24635 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24636 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24637 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24638
6d01d6b4 246392006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24640
24641 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24642
976a4ea0 246432006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24644
24645 * DISTLIST: Added include/grub/efi/console.h,
24646 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24647 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24648
24649 * include/grub/efi/console.h: New file.
24650 * include/grub/efi/time.h: Likewise.
24651 * include/grub/i386/efi/kernel.h: Likewise.
24652 * kern/efi/init.c: Likewise.
24653 * kern/efi/mm.c: Likewise.
24654 * term/efi/console.c: Likewise.
f19dbdb7 24655
976a4ea0 24656 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24657 (grub_stop): Removed.
24658 (grub_get_rtc): Likewise.
24659 (grub_machine_init): Simply call grub_efi_init.
24660 (grub_machine_fini): Call grub_efi_fini.
24661
24662 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24663 (grub_efi_output_string): Removed.
24664 (grub_efi_stall): New function.
24665 (grub_stop): Likewise.
24666 (grub_get_rtc): Likewise.
24667
24668 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24669 (grub_efi_stall): New prototype.
24670 (grub_efi_allocate_pages): Likewise.
24671 (grub_efi_free_pages): Likewise.
24672 (grub_efi_get_memory_map): Likewise.
24673 (grub_efi_mm_init): Likewise.
24674 (grub_efi_mm_fini): Likewise.
24675 (grub_efi_init): Likewise.
24676 (grub_efi_fini): Likewise.
24677
24678 * include/grub/i386/efi/time.h: Do not include
24679 grub/symbol.h. Include grub/efi/time.h.
24680 (GRUB_TICKS_PER_SECOND): Removed.
24681 (grub_get_rtc): Likewise.
24682
24683 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24684 Added padding. The EFI spec is buggy.
24685 (GRUB_EFI_BLACK): New macro.
24686 (GRUB_EFI_BLUE): Likewise.
24687 (GRUB_EFI_GREEN): Likewise.
24688 (GRUB_EFI_CYAN): Likewise.
24689 (GRUB_EFI_RED): Likewise.
24690 (GRUB_EFI_MAGENTA): Likewise.
24691 (GRUB_EFI_BROWN): Likewise.
24692 (GRUB_EFI_LIGHTGRAY): Likewise.
24693 (GRUB_EFI_BRIGHT): Likewise.
24694 (GRUB_EFI_DARKGRAY): Likewise.
24695 (GRUB_EFI_LIGHTBLUE): Likewise.
24696 (GRUB_EFI_LIGHTGREEN): Likewise.
24697 (GRUB_EFI_LIGHTCYAN): Likewise.
24698 (GRUB_EFI_LIGHTRED): Likewise.
24699 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24700 (GRUB_EFI_YELLOW): Likewise.
24701 (GRUB_EFI_WHITE): Likewise.
24702 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24703 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24704 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24705 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24706 (GRUB_EFI_BACKGROUND_RED): Likewise.
24707 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24708 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24709 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24710 (GRUB_EFI_TEXT_ATTR): Likewise.
24711
24712 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24713 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24714 (kernel_mod_HEADERS): Added efi/time.h.
24715
83709125 247162006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24717
24718 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24719 include/grub/efi/api.h, include/grub/efi/console_control.h,
24720 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24721 include/grub/i386/efi/time.h, kern/efi/efi.c,
24722 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24723 and util/i386/efi/grub-mkimage.c.
24724
24725 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24726
24727 * genmk.rb (PModule#rule): Do not export symbols if
24728 #{prefix}_EXPORTS is set to "no".
24729
24730 * conf/i386-efi.mk: New file.
24731 * conf/i386-efi.rmk: Likewise.
24732 * include/grub/efi/api.h: Likewise.
24733 * include/grub/efi/console_control.h: Likewise.
24734 * include/grub/efi/efi.h: Likewise.
24735 * include/grub/efi/pe32.h: Likewise.
24736 * include/grub/i386/efi/time.h: Likewise.
24737 * kern/efi/efi.c: Likewise.
24738 * kern/i386/efi/init.c: Likewise.
24739 * kern/i386/efi/startup.S: Likewise.
24740 * util/i386/efi/grub-mkimage.c: Likewise.
24741
247422006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 24743
24744 * include/grub/script.h: Include <grub/parser.h> and
24745 "grub_script.tab.h".
24746 (struct grub_lexer_param): New struct.
24747 (struct grub_parser_param): Likewise.
24748 (grub_script_create_arglist): Pass the state in an argument.
24749 (grub_script_add_arglist): Likewise.
24750 (grub_script_create_cmdline): Likewise.
24751 (grub_script_create_cmdblock): Likewise.
24752 (grub_script_create_cmdif): Likewise.
24753 (grub_script_create_cmdmenu): Likewise.
24754 (grub_script_add_cmd): Likewise.
24755 (grub_script_arg_add): Likewise.
24756 (grub_script_lexer_ref): Likewise.
24757 (grub_script_lexer_deref): Likewise.
24758 (grub_script_lexer_record_start): Likewise.
24759 (grub_script_lexer_record_stop): Likewise.
24760 (grub_script_mem_record): Likewise.
24761 (grub_script_mem_record_stop): Likewise.
24762 (grub_script_malloc): Likewise.
24763 (grub_script_yylex): Likewise.
24764 (grub_script_yyparse): Likewise.
24765 (grub_script_yyerror): Likewise.
24766 (grub_script_yylex): Likewise.
24767 (grub_script_lexer_init): Return the state.
24768
24769 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24770 (grub_script_lexer_done): Likewise.
24771 (grub_script_lexer_getline): Likewise.
24772 (grub_script_lexer_refs): Likewise.
24773 (script): Likewise.
24774 (newscript): Likewise.
24775 (record): Likewise.
24776 (recording): Likewise.
24777 (recordpos): Likewise.
24778 (recordlen): Likewise.
24779 (grub_script_lexer_init): Return the state instead of setting
24780 global variables.
24781 (grub_script_lexer_ref): Use the newly added argument for state
24782 instead of globals.
24783 (grub_script_lexer_deref): Likewise.
24784 (grub_script_lexer_record_start): Likewise.
24785 (grub_script_lexer_record_stop): Likewise.
24786 (recordchar): Likewise.
24787 (nextchar): Likewise.
24788 (grub_script_yylex2): Likewise.
24789 (grub_script_yylex): Likewise.
24790 (grub_script_yyerror): Likewise.
24791
24792 * normal/parser.y (func_mem): Removed variable.
24793 (menu_entry): Likewise.
24794 (err): Likewise.
24795 (%lex-param): New parser option.
24796 (%parse-param): Likewise.
24797 (script): Always return the AST.
24798 (argument): Pass the state around.
24799 (arguments): Likewise.
24800 (grubcmd): Likewise.
24801 (commands): Likewise.
24802 (function): Likewise.
24803 (menuentry): Likewise.
24804 (if_statement): Likewise.
24805 (if): Likewise.
24806
24807 * normal/script.c (grub_script_memused): Removed variable.
24808 (grub_script_parsed): Likewise.
24809 (grub_script_malloc): Added a state argument. Use that instead of
24810 global variables.
24811 (grub_script_mem_record): Likewise.
24812 (grub_script_mem_record_stop): Likewise.
24813 (grub_script_arg_add): Likewise.
24814 (grub_script_add_arglist): Likewise.
24815 (grub_script_create_cmdline): Likewise.
24816 (grub_script_create_cmdif): Likewise.
24817 (grub_script_create_cmdmenu): Likewise.
24818 (grub_script_add_cmd): Likewise.
24819 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 24820
e2a8c904 248212006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 24822
24823 * normal/command.c (grub_command_init): Remove the title command.
24824
24825 * normal/lexer.c (grub_script_yylex): Renamed from this...
24826 (grub_script_yylex2): ... to this.
24827 (grub_script_yylex): New function. Temporary
24828 introduced to filter some tokens.
24829 (grub_script_yyerror): Print a newline.
24830
24831 * normal/main.c (read_config_file): Output information about the
24832 lines that contain errors. Wait for a key after all lines have
24833 been processed. Don't return an empty menu.
24834
24835 * normal/parser.y (func_mem): Don't initialize.
24836 (menu_entry): Likewise.
24837 (err): New variable.
24838 (script): Don't return anything when an error was encountered.
24839 (ws, returns): Removed rules.
24840 (argument): Disabled concatenated variable support.
24841 (arguments): Remove explicit separators.
24842 (grubcmd): Likewise.
24843 (function): Likewise.
24844 (menuentry): Likewise.
24845 (if): Likewise.
24846 (commands): Likewise. Add error handling.
24847
24848 * normal/script.c (grub_script_create_cmdline): If
24849 `grub_script_parsed' is 0, assume the parser encountered an error.
24850
c9a86192 248512006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24852
24853 * configure.ac: Add support for EFI. Fix the typo
24854 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24855
70f3b243 248562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24857
24858 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24859 foreign multibyte characters should be shown correctly.
24860
65f201ad 248612006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24862
24863 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24864 calculation.
24865 (read_config_file): Made it to close file before returning.
24866
b4b93674 248672006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24868
24869 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24870 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24871 video/i386/pc/vbefill.c.
24872
24873 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24874 video/i386/pc/vbefill.c.
24875
24876 * include/grub/video.h (grub_video_blit_format): New enum.
24877 (grub_video_mode_info): Added new member blit_format.
24878 (grub_video_get_blit_format): New function prototype.
24879
24880 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24881 function prototype.
24882 (grub_video_vbe_map_rgb): Likewise.
24883 (grub_video_vbe_unmap_color): Likewise.
24884
24885 * include/grub/i386/pc/vbeblit.h: New file.
24886
24887 * include/grub/i386/pc/vbefill.h: New file.
24888
24889 * video/video.c (grub_video_get_blit_format): New function.
24890 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24891 (grub_video_vbe_map_rgb): Likewise.
24892 (grub_video_vbe_unmap_color): Likewise.
24893
24894 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24895 optimized fills.
24896 (grub_video_vbe_blit_render_target): Changed to use more optimized
24897 blits.
24898 (grub_video_vbe_setup): Added detection for optimized settings.
24899 (grub_video_vbe_create_render_target): Likewise.
24900
24901 * video/i386/pc/vbeblit.c: New file.
24902
24903 * video/i386/pc/vbefill.c: New file.
24904
c2379b9c 249052006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24906
24907 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24908 here...
24909
24910 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24911 parsing to support both hex and dec ranges. If filename was missing
24912 show usage information.
24913
bd0d7896 249142006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24915
24916 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24917 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24918
24919 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24920 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24921 (video_mod_SOURCES): Added.
24922 (video_mod_CFLAGS): Likewise.
24923 (video_mod_LDFLAGS): Likewise.
24924 (gfxterm_mod_SOURCES): Likewise.
24925 (gfxterm_mod_CFLAGS): Likewise.
24926 (gfxterm_mod_LDFLAGS): Likewise.
24927 (videotest_mod_SOURCES): Likewise.
24928 (videotest_mod_CFLAGS): Likewise.
24929 (videotest_mod_LDFLAGS): Likewise.
24930 (vesafb_mod_SOURCES): Removed.
24931 (vesafb_mod_CFLAGS): Likewise.
24932 (vesafb_mod_LDFLAGS): Likewise.
24933 (vga_mod_SOURCES): Likewise.
24934 (vga_mod_CFLAGS): Likewise.
24935 (vga_mod_LDFLAGS): Likewise.
24936
24937 * commands/videotest.c: New file.
24938
24939 * font/manager.c (fill_with_default_glyph): Modified to use
24940 grub_font_glyph.
24941 (grub_font_get_glyph): Likewise.
24942 (fontmanager): Renamed from this...
24943 (font_manager): ... to this.
24944
24945 * include/grub/font.h (grub_font_glyph): Added new structure.
24946 (grub_font_get_glyph): Modified to use grub_font_glyph.
24947
24948 * include/grub/misc.h (grub_abs): Added as inline function.
24949
24950 * include/grub/video.h: New file.
24951
24952 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24953 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24954 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24955 (grub_vbe_get_controller_info): Renamed from this...
24956 (grub_vbe_bios_get_controller_info): ... to this.
24957 (grub_vbe_get_mode_info): Renamed from this...
24958 (grub_vbe_bios_get_mode_info): ... to this.
24959 (grub_vbe_set_mode): Renamed from this...
24960 (grub_vbe_bios_set_mode): ... to this.
24961 (grub_vbe_get_mode): Renamed from this...
24962 (grub_vbe_bios_get_mode): ... to this.
24963 (grub_vbe_set_memory_window): Renamed from this...
24964 (grub_vbe_bios_set_memory_window): ... to this.
24965 (grub_vbe_get_memory_window): Renamed from this...
24966 (grub_vbe_bios_get_memory_window): ... to this.
24967 (grub_vbe_set_scanline_length): Renamed from this...
24968 (grub_vbe_set_scanline_length): ... to this.
24969 (grub_vbe_get_scanline_length): Renamed from this...
24970 (grub_vbe_bios_get_scanline_length): ... to this.
24971 (grub_vbe_set_display_start): Renamed from this...
24972 (grub_vbe_bios_set_display_start): ... to this.
24973 (grub_vbe_get_display_start): Renamed from this...
24974 (grub_vbe_bios_get_display_start): ... to this.
24975 (grub_vbe_set_palette_data): Renamed from this...
24976 (grub_vbe_bios_set_palette_data): ... to this.
24977 (grub_vbe_set_pixel_rgb): Removed.
24978 (grub_vbe_set_pixel_index): Likewise.
24979
24980 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24981 from this...
24982 (grub_vbe_bios_get_controller_info): ... to this.
24983 (grub_vbe_get_mode_info): Renamed from this...
24984 (grub_vbe_bios_get_mode_info): ... to this.
24985 (grub_vbe_set_mode): Renamed from this...
24986 (grub_vbe_bios_set_mode): ... to this.
24987 (grub_vbe_get_mode): Renamed from this...
24988 (grub_vbe_bios_get_mode): ... to this.
24989 (grub_vbe_set_memory_window): Renamed from this...
24990 (grub_vbe_bios_set_memory_window): ... to this.
24991 (grub_vbe_get_memory_window): Renamed from this...
24992 (grub_vbe_bios_get_memory_window): ... to this.
24993 (grub_vbe_set_scanline_length): Renamed from this...
24994 (grub_vbe_set_scanline_length): ... to this.
24995 (grub_vbe_get_scanline_length): Renamed from this...
24996 (grub_vbe_bios_get_scanline_length): ... to this.
24997 (grub_vbe_set_display_start): Renamed from this...
24998 (grub_vbe_bios_set_display_start): ... to this.
24999 (grub_vbe_get_display_start): Renamed from this...
25000 (grub_vbe_bios_get_display_start): ... to this.
25001 (grub_vbe_set_palette_data): Renamed from this...
25002 (grub_vbe_bios_set_palette_data): ... to this.
25003 (grub_vbe_bios_get_controller_info): Fixed problem with registers
25004 getting corrupted after calling it. Added more pushes and pops.
25005 (grub_vbe_bios_set_mode): Likewise.
25006 (grub_vbe_bios_get_mode): Likewise.
25007 (grub_vbe_bios_get_memory_window): Likewise.
25008 (grub_vbe_bios_set_scanline_length): Likewise.
25009 (grub_vbe_bios_get_scanline_length): Likewise.
25010 (grub_vbe_bios_get_display_start): Likewise.
25011 (grub_vbe_bios_set_palette_data): Likewise.
25012
25013 * normal/cmdline.c (cl_set_pos): Refresh the screen.
25014 (cl_insert): Likewise.
25015 (cl_delete): Likewise.
25016
25017 * term/gfxterm.c: New file.
25018
25019 * term/i386/pc/vesafb.c: Removed file.
25020
25021 * video/video.c: New file.
25022
25023 * video/i386/pc/vbe.c (real2pm): Added new function.
25024 (grub_video_vbe_draw_pixel): Likewise.
25025 (grub_video_vbe_get_video_ptr): Likewise.
25026 (grub_video_vbe_get_pixel): Likewise
25027 (grub_video_vbe_init): Likewise.
25028 (grub_video_vbe_fini): Likewise.
25029 (grub_video_vbe_setup): Likewise.
25030 (grub_video_vbe_get_info): Likewise.
25031 (grub_video_vbe_set_palette): Likewise.
25032 (grub_video_vbe_get_palette): Likewise.
25033 (grub_video_vbe_set_viewport): Likewise.
25034 (grub_video_vbe_get_viewport): Likewise.
25035 (grub_video_vbe_map_color): Likewise.
25036 (grub_video_vbe_map_rgb): Likewise.
25037 (grub_video_vbe_map_rgba): Likewise.
25038 (grub_video_vbe_unmap_color): Likewise.
25039 (grub_video_vbe_fill_rect): Likewise.
25040 (grub_video_vbe_blit_glyph): Likewise.
25041 (grub_video_vbe_blit_bitmap): Likewise.
25042 (grub_video_vbe_blit_render_target): Likewise.
25043 (grub_video_vbe_scroll): Likewise.
25044 (grub_video_vbe_swap_buffers): Likewise.
25045 (grub_video_vbe_create_render_target): Likewise.
25046 (grub_video_vbe_delete_render_target): Likewise.
25047 (grub_video_vbe_set_active_render_target): Likewise.
25048 (grub_vbe_set_pixel_rgb): Remove function.
25049 (grub_vbe_set_pixel_index): Likewise.
25050 (index_color_mode): Remove static variable.
25051 (active_mode): Likewise.
25052 (framebuffer): Likewise.
25053 (bytes_per_scan_line): Likewise.
25054 (grub_video_vbe_adapter): Added new static variable.
25055 (framebuffer): Likewise.
25056 (render_target): Likewise.
25057 (initial_mode): Likewise.
25058 (mode_in_use): Likewise.
25059 (mode_list): Likewise.
25060
5f97350b 250612006-03-10 Marco Gerards <marco@gnu.org>
25062
25063 * configure.ac (AC_INIT): Bumped to 1.93.
25064
25065 * DISTLIST: Added `include/grub/hfs.h'.
25066
a3c5c6f8 250672006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
25068
25069 * boot/i386/pc/boot.S (general_error): Before looping, try INT
25070 18H, which might help the BIOS falling back to next boot media.
25071
6de53d26 250722006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
25073
25074 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
25075 Poe Chen <poe.poechen@gmail.com>.
25076
77c4a393 250772006-01-17 Marco Gerards <marco@gnu.org>
25078
25079 * include/grub/normal.h: Include <grub/script.h>.
25080 (grub_command_list): Removed struct.
25081 (grub_command_list_t): Removed type.
25082 (grub_menu_entry): Remove members `num' and `command_list'. Add
25083 members `commands' and `sourcecode'.
25084 * include/grub/script.h: Add inclusion guards.
25085 (grub_script_cmd_menuentry): New struct.
25086 (grub_script_execute_menuentry): New prototype.
25087 (grub_script_lexer_record_start): Likewise.
25088 (grub_script_lexer_record_stop): Likewise.
25089 * normal/execute.c (grub_script_execute_menuentry): New function.
25090 * normal/lexer.c (record, recording, recordpos, recordlen): New
25091 variables.
25092 (grub_script_lexer_record_start): New function.
25093 (grub_script_lexer_record_stop): Likewise.
25094 (recordchar): Likewise.
25095 (nextchar): Likewise.
25096 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
25097 2048 as the buffer size. Add the tokens `menuentry' and `@'.
25098 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
25099 (current_menu): New variable.
25100 (free_menu): Mainly rewritten.
25101 (grub_normal_menu_addentry): New function.
25102 (read_config_file): Rewritten.
25103 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 25104 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 25105 the menu entry.
25106 (run): Mainly rewritten.
25107 * normal/parser.y (menu_entry): New variable.
25108 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
25109 (menuentry): New rule.
25110 (command): Add `menuentry'.
25111 (if_statement): Allow additional returns before `fi'.
25112 * normal/script.c (grub_script_create_cmdmenu): New function.
25113
144f1f98 251142006-01-03 Marco Gerards <marco@gnu.org>
25115
25116 * INSTALL: GNU Bison is required.
25117 * configure.ac: Rewritten the test to detect Bison.
25118 * Makefile.in (YACC): New variable. Reported by Xun Sun
25119 <xun.sun.cn@gmail.com>.
25120
af4b2d89 251212006-01-03 Marco Gerards <marco@gnu.org>
25122
25123 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
25124 the HFS+ filesystem to filesystem blocks.
25125 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
25126 GCC warning is silenced.
25127
15643b71 251282006-01-03 Marco Gerards <marco@gnu.org>
25129
25130 * partmap/apple.c (apple_partition_map_iterate): Convert the data
25131 read from disk from big endian to host byte order.
25132
00905879 251332006-01-03 Hollis Blanchard <hollis@penguinppc.org>
25134
25135 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
25136 documentation.
25137 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
25138 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
25139 embedded HFS+ filesystem.
25140 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
25141 (grub_hfs_sblock): Move from here...
25142 * include/grub/hfs.h: To here... New file.
25143 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
25144 documentation.
25145 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
25146 New macros.
25147 (grub_hfsplus_volheader): Change type of member `magic' to
25148 `grub_uint16_t'.
25149 (grub_hfsplus_data): Add new member `embedded_offset'.
25150 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
25151 returned block.
25152 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
25153 Calculate the offset.
25154
8899bc3e 251552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25156
25157 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
25158 Removed.
25159 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
25160
ae8c0277 251612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25162
25163 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
25164 ENV->NAME is NULL after allocating ENV->VALUE.
25165
07084456 251662005-12-25 Marco Gerards <marco@gnu.org>
25167
25168 * kern/env.c (grub_env_set): Rewritten the error handling code.
25169
4750f5f1 251702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25171
25172 * geninit.sh: Made more robust, and more portable.
25173
50214199 251742005-12-25 Marco Gerards <marco@gnu.org>
25175
25176 Add support for Apple HFS+ filesystems.
f19dbdb7 25177
50214199 25178 * fs/hfsplus.c: New file.
25179
25180 * DISTLIST: Added `fs/hfsplus.c'.
25181
25182 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
25183 (hfsplus_mod_SOURCES): New variable.
25184 (hfsplus_mod_CFLAGS): Likewise.
25185 (hfsplus_mod_LDFLAGS): Likewise.
25186 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
25187 (grub_setup_SOURCES): Likewise.
25188 (grub_mkdevicemap_SOURCES): Likewise.
25189 (grub_emu_SOURCES): Likewise.
25190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25191
25192 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
25193
25194 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
25195
befaed6c 251962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25197
25198 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
25199 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
25200 include/grub/parser.h, include/grub/script.h, kern/parser.c,
25201 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
25202 normal/lexer.c, normal/parser.y, normal/script.c, and
25203 partmap/gpt.c.
25204 Removed kern/sparc64/cache.c.
25205
25206 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
25207 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
25208 grub_emu_init.c.
25209
25210 * configure.ac (AC_INIT): Bumped to 1.92.
25211
6a124103 252122005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
25213
25214 * kern/err.c (grub_error_push): Added new function to support error
25215 stacks.
25216 (grub_error_pop): Likewise.
25217 (grub_error_stack_items): New local variable to support error stacks.
25218 (grub_error_stack_pos): Likewise.
25219 (grub_error_stack_assert): Likewise.
25220 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
25221 stack depth.
25222 (grub_print_error): Added support to print errors from error stack.
25223
25224 * include/grub/err.h (grub_error_push): Added function prototype.
25225 (grub_error_pop): Likewise.
25226
be973c1b 252272005-12-09 Hollis Blanchard <hollis@penguinppc.org>
25228
25229 * configure.ac: Accept `powerpc64' as host_cpu.
25230 (amd64): Rename to `biarch32'.
25231
25232 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
25233 non-cacheline-aligned addresses.
25234
25235 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
25236 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
25237 if `size' is non-zero.
25238
b04216ab 252392005-12-03 Marco Gerards <mgerards@xs4all.nl>
25240
25241 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
25242 and `cd' to make sure the filename is not prefixed with a
25243 directory name.
25244 (pkgdata_MODULES): Add `gpt.mod'.
25245 (gpt_mod_SOURCES): New variable.
25246 (gpt_mod_CFLAGS): Likewise.
25247 (gpt_mod_LDFLAGS): Likewise.
25248
25249 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
25250
25251 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
25252 New macro.
25253
25254 * partmap/gpt.c: New file.
25255
25256 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
25257 GPT partition map is detected.
25258
41730ed9 252592005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
25260
25261 * commands/i386/pc/play.c: New file.
25262 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
25263 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
25264 macros.
f19dbdb7 25265
95dc3643 252662005-11-27 Marco Gerards <mgerards@xs4all.nl>
25267
25268 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
25269 ((unused))' to silence gcc warning.
25270
1569ec51 252712005-11-26 Hollis Blanchard <hollis@penguinppc.org>
25272
25273 * configure.ac: Correct `AC_PROG_YACC' test.
25274
9abde152 252752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25276
25277 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25278 check before installing files.
25279
44b83271 252802005-11-22 Mike Small <smallm@panix.com>
25281
25282 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25283 number regex so multidigit numbers are recognized correctly.
25284
252852005-11-22 Mike Small <smallm@panix.com>
25286
25287 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25288 debugging message before attempting to claim memory.
25289 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25290 multiple addresses in case of failure.
25291
9c12956b 252922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25293
25294 * term/tparm.c (get_space): Remove empty `if' statement.
25295
25296 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25297
25298 * kern/parser.c (check_varstate): Rename `state' to 's'.
25299
aeaf81d9 253002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25301
25302 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25303 variable definitions to the beginning of each function. Sort stack
25304 variables by size.
25305 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25306 `buf' argument to `char *'.
25307
79bbb63f 253082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25309
25310 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25311 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25312 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 25313 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25314 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25315 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25316 configfile.mod, search.mod, gzio.mod and test.mod.
25317 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25318 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25319 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25320 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25321 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25322 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25323 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25324 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25325 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25326 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25327 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25328 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25329 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25330 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25331 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25332 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25333 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25334 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25335 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25336 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25337 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25338 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25339 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25340
25341 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25342 `grep --include'.
25343 (pkgdata_MODULES): Add test.mod.
25344
233b1628 253452005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25346
25347 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25348 appending to variables with "+=".
25349 (PModule): Use full pathname to generate *.lst filenames.
25350
25351 * Makefile.in: Fixed list rules moved from genmk.rb.
25352 (.DELETE_ON_ERROR): New special target.
25353 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25354
25355 * conf/i386-pc.rmk: Include conf/common.mk.
25356 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25357 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 25358 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25359 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25360 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25361 configfile.mod, search.mod, gzio.mod and test.mod.
25362 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25363 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25364 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25365 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25366 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25367 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25368 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25369 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25370 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25371 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25372 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25373 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25374 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25375 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25376 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25377 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25378 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25379 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25380 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25381 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25382 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25383 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25384 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25385 here...
25386 * conf/common.rmk: ... to here. New file.
25387
25388 * conf/common.mk: New file.
25389
16f820c8 253902005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25391
25392 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25393 (grub_script.tab.c): ... here.
25394
25395 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25396 (grub_script.tab.c): ... here.
25397
25398 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25399 (grub_script.tab.c): ... here.
25400
25401 * normal/command.c (grub_command_find): Fixed a memory leak of
25402 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25403
63ba1554 254042005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25405
25406 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25407 "@" which marks the start of a comment on ARM.
25408 (VARIABLE): Likewise.
25409
7f67dc13 254102005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25411
79bbb63f 25412 Add support for Linux/ADFS partition tables.
7f67dc13 25413
25414 * partmap/acorn.c: New file.
25415
25416 * include/grub/acorn_filecore.h: Likewise.
25417
25418 * DISTLIST: Added `partmap/acorn.c' and
25419 `include/grub/acorn_filecore.h'.
f19dbdb7 25420
7f67dc13 25421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25422 `partmap/acorn.c'.
25423 (pkgdata_MODULES): Add `acorn.mod'.
25424 (acorn_mod_SOURCES): New variable.
25425 (acorn_mod_CFLAGS): Likewise.
25426
25427 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25428 `partmap/acorn.c'.
25429 (pkgdata_MODULES): Add `acorn.mod'.
25430 (acorn_mod_SOURCES): New variable.
25431 (acorn_mod_CFLAGS): Likewise.
25432
25433 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25434 (pkgdata_MODULES): Add `acorn.mod'.
25435 (acorn_mod_SOURCES): New variable.
25436 (acorn_mod_CFLAGS): Likewise.
25437 (acorn_mod_LDFLAGS): Likewise.
25438
25439 * include/types.h (grub_disk_addr_t): New typedef.
25440
6d099807 254412005-11-13 Marco Gerards <mgerards@xs4all.nl>
25442
25443 * geninit.sh: New file.
25444
25445 * geninitheader.sh: Likewise.
25446
25447 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25448 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25449 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25450 * commands/configfile.c (grub_configfile_init)
25451 (grub_configfile_fini): Likewise.
25452 * commands/default.c (grub_default_init, grub_default_fini):
25453 Likewise.
25454 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25455 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25456 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25457 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25458 Likewise.
25459 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25460 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25461 Likewise.
25462 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 25463 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 25464 Likewise.
25465 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25466 Likewise.
fe6b695a 25467 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 25468 Likewise.
25469 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25470 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25471 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25472 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25473 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25474 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25475 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25476 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25477 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25478 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25479 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25480 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25481 * partmap/amiga.c (grub_amiga_partition_map_init)
25482 (grub_amiga_partition_map_fini): Likewise.
25483 * partmap/apple.c (grub_apple_partition_map_init)
25484 (grub_apple_partition_map_fini): Likewise.
25485 * partmap/pc.c (grub_pc_partition_map_init)
25486 (grub_pc_partition_map_fini): Likewise.
25487 * partmap/sun.c (grub_sun_partition_map_init,
25488 grub_sun_partition_map_fini): Likewise.
25489 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25490 Likewise.
25491
25492 * util/grub-emu.c: Include <grub_modules_init.h>.
25493 (main): Don't initialize and de-initialize any modules directly,
25494 use `grub_init_all' and `grub_fini_all' instead.
25495
25496 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25497 `grub_vesafb_mod_init'.
25498 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25499 all users.
25500 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25501 `grub_vga_mod_init'. Updated all users.
25502 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 25503
6d099807 25504 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25505 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25506 rules.
25507
25508 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25509 Generate a function to initialize the module in utilities.
25510 Updated all callers.
25511 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25512 initialize the module in utilities. Updated all callers.
25513
9046bcf0 255142005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25515
25516 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25517 escape sequence and a literal ^L to clear the screen.
25518
25519 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25520 when returning from Open Firmware.
25521
d13ea639 255222005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25523
25524 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25525 (grub_ofconsole_height): Likewise.
25526 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25527 manually insert a '\n'.
25528 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25529 `grub_ofconsole_height'. Return early if these are already set.
25530
a8fcf206 255312005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25532
25533 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25534 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25535 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25536 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25537 and `normal/script.c'.
25538 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25539 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25540 (test_mod_SOURCES): New variable.
25541 (test_mod_CFLAGS): Likewise.
25542 (test_mod_LDFLAGS): Likewise.
25543 (pkgdata_MODULES): Add `test.mod'.
25544 (grub_script.tab.c): New rule.
25545 (grub_script.tab.h): Likewise.
25546
b6b32745 255472005-11-07 Marco Gerards <mgerards@xs4all.nl>
25548
25549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25550 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25551 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25552 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25553 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25554 (test_mod_SOURCES): New variable.
25555 (test_mod_CFLAGS): Likewise.
25556 (pkgdata_MODULES): Add `test.mod'.
25557 (grub_script.tab.c): New rule.
25558 (grub_script.tab.h): Likewise.
25559
daac212a 255602005-11-06 Marco Gerards <mgerards@xs4all.nl>
25561
25562 Add initial scripting support.
25563
25564 * commands/test.c: New file.
25565 * include/grub/script.h: Likewise.
25566 * normal/execute.c: Likewise.
25567 * normal/function.c: Likewise.
25568 * normal/lexer.c: Likewise.
25569 * normal/parser.y: Likewise.
25570 * normal/script.c: Likewise.
25571
25572 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 25573
daac212a 25574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25575 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25576 `normal/function.c' and `normal/script.c'.
25577 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25578 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 25579 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25580 variables.
daac212a 25581 (pkgdata_MODULES): Add `test.mod'.
25582 (grub_script.tab.c): New rule.
25583 (grub_script.tab.h): Likewise.
25584
25585 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25586
25587 * include/grub/normal.h (grub_test_init): New prototype.
25588 (grub_test_fini): Likewise.
f19dbdb7 25589
daac212a 25590 * normal/command.c: Include <grub/script.h>.
25591 (grub_command_execute): Rewritten.
f19dbdb7 25592
daac212a 25593 * util/grub-emu.c (main): Call `grub_test_init' and
25594 `grub_test_fini'.
25595
77500b2b 255962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25597
25598 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25599 to 0.
25600 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25601 there are no pending characters.
25602
e45deb9e 256032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25604
25605 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25606 `grub_strndup' to drop device arguments. Replace unnecessary
25607 `grub_strndup' with `grub_strdup'.
25608
4ce32619 256092005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25610
25611 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25612 `debug' environment variable has been set.
25613
256142005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 25615
4ce32619 25616 * Makefile.in (install-local): Use $(DATA).
25617 (uninstall): Likewise.
25618 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25619 (sbin_UTILITIES): ... to here.
25620 (sbin_SCRIPTS): New variable.
25621 (grub_install_SOURCES): New variable.
25622 * util/powerpc/ieee1275/grub-install.in: New file.
25623 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25624 variable.
25625 (add_segments): Call `grub_util_get_path'.
25626
25fe6f03 256272005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25628
25629 From Timothy Baldwin:
25630 * commands/ls.c (grub_ls_list_files): Close FILE with
25631 grub_file_close.
25632 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25633
04ccf3ec 256342005-10-24 Marco Gerards <mgerards@xs4all.nl>
25635
25636 * include/grub/parser.h: New file.
25637
25638 * kern/parser.c: Likewise.
25639
25640 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25641 (grub_setup_SOURCES): Likewise.
25642 (grub_probefs_SOURCES): Likewise.
25643 (grub_emu_SOURCES): Likewise.
25644 (kernel_img_HEADERS): Add `parser.h'.
25645
25646 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25647 (grub_emu_SOURCES): Add `kern/parser.c'.
25648 (grubof_SOURCES): Likewise.
25649
25650 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25651 (grubof_SOURCES): Add `kern/parser.c'.
25652
25653 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25654
25655 * kern/misc.c (grub_split_cmdline): Removed function.
25656
25657 * kern/rescue.c: Include <grub/parser.h>.
25658 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25659 of `grub_split_cmdline'.
25660
25661 * normal/command.c: Include <grub/parser.h>.
25662 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25663 of `grub_split_cmdline'.
25664
25665 * normal/completion.c: Include <grub/parser.h>.
25666 (cmdline_state): New variable.
25667 (iterate_dir): End the filename with a quote depending on the
25668 command line state.
25669 (get_state): new function.
25670 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25671 split the arguments and determine the current argument. When the
25672 argument string is not quoted, escape all spaces.
25673
6d8f4b0e 256742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25675
25676 * normal/sparc64/setjmp.S: New file.
25677
15cf03ed 256782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25679
25680 * include/grub/sparc64/libgcc.h: New file.
25681 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25682 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25683 normal/sparc64/setjmp.c.
25684
03e8661a 256852005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25686
25687 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25688 * kern/sparc64/cache.S: New file.
25689 * kern/sparc64/cache.c: Removed.
25690 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25691 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25692 -mtune=ultrasparc.
25693 (COMMON_LDFLAGS): Add -melf64_sparc.
25694 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25695 (grubof_SOURCES): Use cache.S instead of cache.c.
25696 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25697 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25698 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25699 commented though.
25700 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25701 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25702 (linux_mod_CFLAGS): Commented out.
25703 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25704 out because module isn't built.
25705 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25706 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25707 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25708 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25709 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25710 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25711 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25712 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25713 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25714 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25715 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25716 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25717 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25718 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25719
34eeec8a 257202005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25721
25722 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25723 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25724 longer, because HFS should not be used on PC.
25725
708367a3 257262005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25727
25728 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25729 consistently within the loop.
25730
6fa1251a 257312005-10-15 Marco Gerards <mgerards@xs4all.nl>
25732
25733 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25734 directory can not be read.
25735
4801580b 257362005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25737
25738 * configure.ac (AC_INIT): Increase the version number to 1.91.
25739
25740 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25741 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25742 term/i386/pc/serial.c.
25743
219ad426 257442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25745
25746 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25747 file size must be permitted.
25748
25749 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25750 between %ah and %al.
25751
688e5699 257522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25753
25754 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25755 grub_uint64_t.
25756 Call the hook with a NUL-terminated filename.
25757 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25758 grub_cpu_to_be32.
25759
25760 * kern/term.c (cursor_state): New variable.
25761 (grub_term_set_current): Reset the cursor state on a new
25762 terminal.
25763 (grub_setcursor): Rewritten to use CURSOR_STATE.
25764 (grub_getcursor): New function.
25765
25766 * include/grub/term.h (grub_getcursor): New prototype.
25767
25768 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25769 integers on ARM. Reported by Timothy Baldwin
25770 <T.E.Baldwin99@members.leeds.ac.uk>.
25771
bb34586c 257722005-10-11 Marco Gerards <mgerards@xs4all.nl>
25773
25774 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25775 allocated.
25776 (grub_sfs_dir): Likewise.
25777
9a909877 257782005-10-09 Marco Gerards <mgerards@xs4all.nl>
25779
25780 Add support for the SFS filesystem.
25781
25782 * fs/sfs.c: New file.
25783
25784 * DISTLIST: Added `fs/sfs.c'.
25785
25786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25787 (grub_probefs_SOURCES): Likewise.
25788 (grub_emu_SOURCES): Likewise.
25789 (pkgdata_MODULES): Add `sfs.mod'.
25790 (sfs_mod_SOURCES): New variable.
25791 (sfs_mod_CFLAGS): Likewise.
25792 (sfs_mod_LDFLAGS): Likewise.
25793
25794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25795 (pkgdata_MODULES): Add `sfs.mod'.
25796 (sfs_mod_SOURCES): New variable.
25797 (sfs_mod_CFLAGS): Likewise.
25798
25799 * util/grub-emu.c (main): Call `grub_sfs_init' and
25800 `grub_sfs_fini'.
25801
25802 * include/grub/fs.h (grub_sfs_init): New prototype.
25803 (grub_sfs_fini): Likewise.
25804
57bdbde3 258052005-10-07 Marco Gerards <mgerards@xs4all.nl>
25806
25807 Add support for the AFFS filesystem.
25808
25809 * fs/affs.c: New file.
25810
25811 * DISTLIST: Added `fs/affs.c'.
25812
25813 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25814 (grub_probefs_SOURCES): Likewise.
25815 (grub_emu_SOURCES): Likewise.
25816 (pkgdata_MODULES): Add `affs.mod'.
25817 (affs_mod_SOURCES): New variable.
25818 (affs_mod_CFLAGS): Likewise.
25819 (affs_mod_LDFLAGS): Likewise.
25820
25821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25822 (pkgdata_MODULES): Add `affs.mod'.
25823 (affs_mod_SOURCES): New variable.
25824 (affs_mod_CFLAGS): Likewise.
25825
25826 * util/grub-emu.c (main): Call `grub_affs_init' and
25827 `grub_affs_fini'.
25828
25829 * include/grub/fs.h (grub_affs_init): New prototype.
25830 (grub_affs_fini): Likewise.
25831
047b67e0 258322005-10-01 Marco Gerards <mgerards@xs4all.nl>
25833
25834 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25835
59b8208a 258362005-10-01 Marco Gerards <mgerards@xs4all.nl>
25837
25838 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25839 `-m32' to CFLAGS.
25840
25841 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25842 linking.
f19dbdb7 25843
59b8208a 25844 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25845 (COMMON_LDFLAGS): New variable.
25846 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25847 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25848 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25849 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25850 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25851 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25852 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25853 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25854 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25855 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25856 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25857 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25858 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25859 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25860 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25861 variables.
25862 (normal_mod_ASFLAGS): Add `-m32'.
25863
25864 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25865 (grub_host_size_t, grub_host_ssize_t): New types.
25866 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 25867 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 25868 `GRUB_HOST_SIZEOF_VOID_P'.
25869
25870 * include/grub/kernel.h (struct grub_module_header): Type of
25871 member offset changed to `grub_host_off_t'. Type of member size
25872 changed to `grub_host_size_t'.
25873 (struct grub_module_info): Type of member offset changed to
25874 `grub_host_off_t'. Type of member size changed to
25875 `grub_host_size_t'.
25876
b4093103 258772005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25878
25879 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 25880
b4093103 25881 * kern/i386/pc/startup.S (multiboot_header): New label.
25882 (multiboot_entry): Likewise.
25883 (multiboot_trampoline): Likewise.
25884
25885 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25886 Increased to 0x4A0.
25887
25888 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25889 put parentheses after a question mark.
25890 [!GRUB_UTIL] (my_mod): New variable.
25891
25892 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25893
b2499b29 258942005-09-28 Marco Gerards <mgerards@xs4all.nl>
25895
25896 Adds support for the XFS filesystem. Btrees are not supported
25897 yet.
25898
25899 * fs/xfs.c: New file.
25900
25901 * DISTLIST: Added `fs/xfs.c'.
25902
25903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25904 (grub_probefs_SOURCES): Likewise.
25905 (grub_emu_SOURCES): Likewise.
25906 (pkgdata_MODULES): Add `xfs.mod'.
25907 (xfs_mod_SOURCES): New variable.
25908 (xfs_mod_CFLAGS): Likewise.
25909
25910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25911 (pkgdata_MODULES): Add `xfs.mod'.
25912 (xfs_mod_SOURCES): New variable.
25913 (xfs_mod_CFLAGS): Likewise.
25914
25915 * util/grub-emu.c (main): Call `grub_xfs_init' and
25916 `grub_xfs_fini'.
25917
25918 * include/grub/fs.h (grub_xfs_init): New prototype.
25919 (grub_xfs_fini): Likewise.
25920
f19dbdb7 25921
83d37a62 259222005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25923
25924 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25925 color modes, allow greater than 16 colors to be configured as
25926 a default palette.
25927
47d2d65e 259282005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25929
25930 * normal/completion.c (complete_arguments): Add the qualifier
25931 const into OPTIONS.
25932
25933 From Omniflux <omniflux+lists@omniflux.com>:
25934 * include/grub/terminfo.h: New file.
25935 * include/grub/tparm.h: Likewise.
25936 * include/grub/i386/pc/serial.h: Likewise.
25937 * term/terminfo.c: Likewise.
25938 * term/tparm.c: Likewise.
25939 * term/i386/pc/serial.c: Likewise.
25940 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25941 serial.mod.
25942 (terminfo_mod_SOURCES): New variable.
25943 (terminfo_mod_CFLAGS): Likewise.
25944 (serial_mod_SOURCES): Likewise.
25945 (serial_mod_CFLAGS): Likewise.
25946
48b671ff 259472005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25948
25949 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25950 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25951 and kern/powerpc/ieee1275/cmain.c, respectively.
25952
25953 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25954 * kern/powerpc/ieee1275/crt0.S: ... here.
25955
25956 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25957 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 25958
48b671ff 25959 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25960 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25961 instead of boot/powerpc/ieee1275/crt0.S and
25962 boot/powerpc/ieee1275/cmain.c, respectively.
25963
25964 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25965 sectors. It was not used anyway.
25966
09fc77a7 259672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25968
25969 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25970 `unused parameter' warning.
25971
003789c7 259722005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25973
25974 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25975 function.
25976 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25977 getcharwidth.
25978
67f44c86 259792005-08-28 Marco Gerards <metgerards@student.han.nl>
25980
25981 * include/grub/normal.h (enum grub_completion_type): Added
25982 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25983
25984 * normal/cmdline.c (print_completion): Handle
25985 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25986 * normal/menu_entry.c (store_completion): Likewise.
25987
25988 * normal/completion.c (complete_arguments): New function.
25989 (grub_normal_do_completion): Call `complete_arguments' when the
25990 current words start with a dash.
25991
0b5abe02 259922005-08-27 Marco Gerards <metgerards@student.han.nl>
25993
25994 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25995 `gzio.mod' instead of `io.mod').
25996
d9864ee1 259972005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25998
25999 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
26000 (DISTDIRS): Added io and video.
26001 Rewrite the search routine to make an output consistently.
26002
26003 * DISTLIST: Added conf/sparc64-ieee1275.mk,
26004 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
26005 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
26006 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
26007 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
26008 util/powerpc/ieee1275/misc.c.
f19dbdb7 26009
d9864ee1 26010 * include/grub/gzio.h: New file.
26011 * io/gzio.c: Likewise.
f19dbdb7 26012
d9864ee1 26013 * kern/file.c (grub_file_close): Call grub_device_close only if
26014 FILE->DEVICE is not NULL.
26015
26016 * include/grub/mm.h [!NULL] (NULL): New macro.
26017
26018 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
26019
26020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
26021 (pkgdata_MODULES): Added gzio.mod.
26022 (gzio_mod_SOURCES): New variable.
26023 (gzio_mod_CFLAGS): Likewise.
26024
26025 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
26026 (pkgdata_MODULES): Added gzio.mod.
26027 (gzio_mod_SOURCES): New variable.
26028 (gzio_mod_CFLAGS): Likewise.
26029
26030 * commands/cat.c: Include grub/gzio.h.
26031 (grub_cmd_cat): Use grub_gzfile_open instead of
26032 grub_file_open.
f19dbdb7 26033
d9864ee1 26034 * commands/cmp.c: Include grub/gzio.h.
26035 (grub_cmd_cmp): Use grub_gzfile_open instead of
26036 grub_file_open.
26037
26038 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
26039 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
26040 grub_file_open.
26041 (grub_rescue_cmd_module): Likewise.
26042
fa46f4b5 260432005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26044
26045 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
26046 kern/sparc64/ieee1275/init.c because it contains _start.
26047 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
26048
e9211b5d 260492005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26050
26051 * configure.ac: Add support for sparc64 host with ieee1275
26052 firmware.
26053 * configure: Generated from configure.ac.
26054 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
26055 instead of int.
26056 (grub_ofdisk_read): Likewise.
26057 (grub_ofdisk_open): Use %p to print pointer values, and cast the
26058 pointers as (void *) to remove a warning.
26059 (grub_ofdisk_close): Likewise.
26060 (grub_ofdisk_read): Likewise.
26061 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
26062 returns, so make it return void to remove a warning.
26063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
26064 Corresponding prototype change.
26065 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
26066 values, and cast the pointers as (void *) to remove a warning.
26067 (grub_mm_dump): Likewise.
26068 * conf/sparc64-ieee1275.mk: New file.
26069 * conf/sparc64-ieee1275.rmk: Likewise.
26070 * include/grub/sparc64/setjmp.h: Likewise.
26071 * include/grub/sparc64/types.h: Likewise.
26072 * include/grub/sparc64/ieee1275/console.h: Likewise.
26073 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26074 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26075 * include/grub/sparc64/ieee1275/time.h: Likewise.
26076 * kern/sparc64/cache.c: Likewise.
26077 * kern/sparc64/dl.c: Likewise.
26078 * kern/sparc64/ieee1275/init.c: Likewise.
26079 * kern/sparc64/ieee1275/openfw.c: Likewise.
26080
385c6a92 260812005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26082
26083 * util/console.c (grub_ncurses_putchar): If C is greater than
26084 0x7f, set C to a question mark.
26085 (grub_ncurses_getcharwidth): New function.
26086 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
26087 getcharwidth.
26088
26089 * normal/menu.c (print_entry): Made aware of Unicode. First,
26090 convert TITLE to UCS-4, and predict the cursor position by
26091 grub_getcharwidth.
26092
26093 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
26094 const to SRC.
26095 * kern/misc.c (grub_utf16_to_utf8): Likewise.
26096
16ccb8b1 260972005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26098
26099 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
26100 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26101 grub_strcat.
26102
26103 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
26104 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26105 grub_strcpy and grub_strlen. Take it into account that a space
26106 character is inserted as a delimiter.
26107
6a85ce79 261082005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26109
26110 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 26111 invalid magic in the error.
6a85ce79 26112
26113 * commands/search.c: New file.
f19dbdb7 26114
6a85ce79 26115 * util/grub-emu.c (main): Call grub_search_init and
26116 grub_search_fini.
26117
26118 * kern/rescue.c (grub_rescue_print_disks): Removed.
26119 (grub_rescue_print_devices): New function.
26120 (grub_rescue_cmd_ls): Use grub_device_iterate with
26121 grub_rescue_print_devices instead of grub_disk_dev_iterate with
26122 grub_rescue_print_disks.
26123
26124 * kern/partition.c (grub_partition_iterate): Return the result of
26125 PARTMAP->ITERATE instead of GRUB_ERRNO.
26126
26127 * kern/device.c: Include grub/partition.h.
26128 (grub_device_iterate): New function.
26129
26130 * include/grub/partition.h (grub_partition_iterate): Return int
26131 instead of grub_err_t.
26132
26133 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
26134 prototype.
26135 [GRUB_UTIL] (grub_search_fini): Likewise.
26136
26137 * include/grub/device.h (grub_device_iterate): New prototype.
26138
26139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26140 commands/search.c.
26141 (pkgdata_MODULES): Added search.mod.
26142 (search_mod_SOURCES): New variable.
26143 (search_mod_CFLAGS): Likewise.
26144
26145 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
26146 (pkgdata_MODULES): Added search.mod.
26147 (search_mod_SOURCES): New variable.
26148 (search_mod_CFLAGS): Likewise.
26149
26150 * commands/ls.c (grub_ls_list_disks): Renamed to ...
26151 (grub_ls_list_devices): ... this, and use grub_device_iterate.
26152 All callers changed.
26153
26154 * DISTLIST: Added commands/search.c.
26155
ef095434 261562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26157
26158 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
26159 conversion.
26160 (grub_getcharwidth): New function.
26161
26162 * kern/misc.c (grub_utf8_to_ucs4): New function.
26163
26164 * include/grub/term.h (struct grub_term): Added a new member
26165 "getcharwidth".
26166 (grub_getcharwidth): New prototype.
26167
26168 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
26169
26170 * term/i386/pc/console.c (map_char): New function. Segregated from
26171 grub_console_putchar.
26172 (grub_console_putchar): Use map_char.
26173 (grub_console_getcharwidth): New function.
26174 (grub_console_term): Specified grub_console_getcharwidth as
26175 getcharwidth.
26176
26177 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
26178 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
26179
26180 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
26181 GRUB_ERRNO.
26182 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
26183 on grub_strtoul completely.
26184 (write_char): Declare local variables in the beginning of the
26185 function.
26186 (grub_vesafb_getcharwidth): New function.
26187 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
26188 getcharwidth.
26189
1f0a95e4 261902005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
26191
26192 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
26193 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
26194 commands/i386/pc/vbetest.c.
26195
26196 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
26197 call grub_vbe_get_controller_info again, because the returned
26198 information is volatile.
26199 (grub_vbe_set_video_mode): Mostly rewritten.
26200 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
26201 grub_vbe_status_t correctly.
26202 (grub_vbe_get_video_mode_info): Likewise.
26203 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
26204 several if statements.
26205
26206 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
26207 * commands/i386/pc/vbeinfo.c: ... this.
26208
26209 * commands/i386/pc/vbe_test.c: Renamed to ...
26210 * commands/i386/pc/vbetest.c: ... this.
26211
26212 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
26213 ...
26214 (grub_cmd_vbeinfo): ... this. Save video modes before
26215 iterating. Skip a video mode, if it is not available, not enough
26216 information is given or it is monochrome. Show the memory
26217 model. Leave the interpretation of MODEVAR to grub_strtoul
26218 completely.
26219 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
26220 (GRUB_MOD_FINI): Likewise.
26221
26222 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
26223 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
26224 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
26225 duplicated grub_env_get. Leave the interpretation of MODEVAR to
26226 grub_strtoul completely.
26227 (real2pm): Removed.
26228 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
26229 (GRUB_MOD_FINI): Likewise.
26230
26231 * normal/misc.c: Include grub/mm.h.
26232
26233 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
26234 vbe_list_modes with vbetest.mod and vbeinfo.mod.
26235 (vbe_list_modes_mod_SOURCES): Removed.
26236 (vbe_list_modes_mod_CFLAGS): Likewise.
26237 (vbe_test_mod_SOURCES): Likewise.
26238 (vbe_test_mod_CFLAGS): Likewise.
26239 (vbeinfo_mod_SOURCES): New variable.
26240 (vbeinfo_mod_CFLAGS): Likewise.
26241 (vbetest_mod_SOURCES): Likewise.
26242 (vbetest_mod_CFLAGS): Likewise.
26243
992ffbbe 262442005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
26245
26246 * normal/misc.c: New file.
26247
26248 * DISTLIST: Added normal/misc.c.
f19dbdb7 26249
992ffbbe 26250 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
26251 DISK to HOOK. Call HOOK with DISK.
26252 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26253 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26254 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26255
26256 * normal/menu_entry.c (struct screen): Added a new member
26257 "completion_shown".
26258 (completion_buffer): New global variable.
26259 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
26260 (store_completion): New function.
26261 (complete): Likewise.
26262 (clear_completions): Likewise.
26263 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
26264 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
26265 a tab, call complete.
26266
26267 * normal/completion.c (disk_dev): Removed.
26268 (print_simple_completion): Likewise.
26269 (print_partition_completion): Likewise.
26270 (print_func): New global variable.
26271 (add_completion): Do not take the arguments WHAT or PRINT any
26272 longer. Added a new argument TYPE. Instead of printing directly,
26273 call PRINT_FUNC if not NULL.
26274 All callers changed.
26275 (complete_device): Use a local variable DEV instead of
26276 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26277 (grub_normal_do_completion): Take a new argument HOOK. Do not
26278 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26279 empty string, return NULL instead.
26280 All callers changed.
26281
26282 * normal/cmdline.c (print_completion): New function.
26283
26284 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26285 to HOOK.
26286 All callers changed.
26287
26288 * kern/disk.c (grub_print_partinfo): Removed.
26289
26290 * include/grub/partition.h (struct grub_partition_map): Add a new
26291 argument DISK into HOOK of ITERATE.
26292 (grub_partition_iterate): Add a new argument DISK to HOOK.
26293
26294 * include/grub/normal.h (enum grub_completion_type): New enum.
26295 (grub_completion_type_t): New type.
26296 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26297 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26298 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26299 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26300 (grub_normal_do_completion): Added a new argument HOOK.
26301 (grub_normal_print_device_info): New prototype.
26302
26303 * include/grub/disk.h (grub_print_partinfo): Removed.
26304
26305 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26306 (normal_mod_SOURCES): Likewise.
26307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26308 (normal_mod_SOURCES): Likewise.
26309
26310 * commands/ls.c (grub_ls_list_disks): Use
26311 grub_normal_print_device_info instead of grub_print_partinfo. Free
26312 PNAME.
26313 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26314 duplicating the code.
26315
0bd41162 263162005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26317
26318 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 26319 follow GCS more precisely.
26320 * commands/i386/pc/vbe_test.c: Likewise.
26321 * include/grub/i386/pc/vbe.h: Likewise.
26322 * term/i386/pc/vesafb.c: Likewise.
26323 * video/i386/pc/vbe.c: Likewise.
0bd41162 26324
6323696a 263252005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26326
26327 * DISTLIST: Added term/i386/pc/vesafb.c
26328 DISTLIST: Added video/i386/pc/vbe.c
26329 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26330 DISTLIST: Added commands/i386/pc/vbe_test.c.
26331 * commands/i386/pc/vbe_list_modes.c: New file.
26332 * commands/i386/pc/vbe_test.c: Likewise.
26333 * term/i386/pc/vesafb.c: Likewise.
26334 * video/i386/pc/vbe.c: Likewise.
26335 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26336 (grub_vbe_probe) Added prototype.
26337 (grub_vbe_set_video_mode) Likewise.
26338 (grub_vbe_get_video_mode) Likewise.
26339 (grub_vbe_get_video_mode_info) Likewise.
26340 (grub_vbe_set_pixel_rgb) Likewise.
26341 (grub_vbe_set_pixel_index) Likewise.
26342 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26343 (pkgdata_MODULES): Added vesafb.mod.
26344 (pkgdata_MODULES): Added vbe_list_modes.mod.
26345 (pkgdata_MODULES): Added vbe_test.mod.
26346 (vbe_mod_SOURCES): Added.
26347 (vbe_mod_CFLAGS): Likewise.
26348 (vesafb_mod_SOURCES): Likewise.
26349 (vesafb_mod_CFLAGS): Likewise.
26350 (vbe_list_modes_mod_SOURCES): Likewise.
26351 (vbe_list_modes_mod_CFLAGS): Likewise.
26352 (vbe_test_mod_SOURCES): Likewise.
26353 (vbe_test_mod_CFLAGS): Likewise.
26354
0a74e62f 263552005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26356
0a74e62f 26357 * normal/command.c (grub_command_execute): If INTERACTIVE is
26358 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26359 CMDLINE. Disable the pager if INTERACTIVE is true.
26360 All callers are changed.
26361
26362 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26363 before reading a config file.
26364 * normal/main.c (read_config_file): Even if a command is not
26365 found, register it if it is within an entry.
26366
26367 * util/grub-emu.c: Include sys/types.h and unistd.h.
26368 (options): Added --hold.
26369 (struct arguments): Added a new member "hold".
26370 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26371 missing.
26372 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26373 cleared by a debugger, if it is not zero.
26374
26375 * include/grub/normal.h (grub_command_execute): Add an argument
26376 INTERACTIVE.
26377
e51f85ae 263782005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26379
26380 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26381
e9c6f39b 263822005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26383
26384 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26385 program with another one, because the old one didn't detect a bug
26386 in gcc-3.4. Always use regparm 2, because the new test is still
26387 not enough for gcc-4.0. Someone must investigate a simple test
26388 case which detects a bug in gcc-4.0.
26389
8de3495c 263902005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26391
26392 * DISTLIST: Added normal/completion.c.
26393
26394 * normal/completion.c: New file.
f19dbdb7 26395
8de3495c 26396 * term/i386/pc/console.c (grub_console_getwh): New function.
26397 (grub_console_term): Assign grub_console_getwh to getwh.
26398
26399 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26400 function is defined in normal/completion.c as
26401 grub_normal_do_completion.
26402 (grub_cmdline_get): Use grub_normal_do_completion instead of
26403 grub_tab_complete.
26404
26405 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26406 returns non-zero, otherwise return 0.
26407 (grub_partition_iterate): First, probe the partition map. Then,
26408 call ITERATE only for this partition map.
26409
26410 * kern/misc.c (grub_strncmp): Rewritten.
26411
26412 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26413 returns non-zero. Otherwise return 0.
26414
26415 * include/grub/partition.h (grub_partition_map_iterate): Return
26416 int instead of void.
26417
26418 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26419
26420 * include/grub/misc.h (grub_strncmp): Change the type of N to
26421 grub_size_t.
26422
26423 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26424 of void.
26425
26426 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 26427 unsigned explicitly before comparing it with I.
8de3495c 26428
26429 * kern/main.c (grub_env_write_root): Add the attribute unused into
26430 VAR.
26431
26432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26433 normal/completion.c.
26434 (normal_mod_SOURCES): Likewise.
26435 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26436 (normal_mod_SOURCES): Likewise.
26437
26438 * normal/command.c (grub_iterate_commands): If ITERATE returns
26439 non-zero, return one immediately.
26440
e85e144b 264412005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26442
26443 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26444 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26445 descriptions.
26446 (grub_vbe_get_controller_info): New function.
26447 (grub_vbe_get_mode_info): Likewise.
26448 (grub_vbe_set_mode): Likewise.
26449 (grub_vbe_get_mode): Likewise.
26450 (grub_vbe_set_memory_window): Likewise.
26451 (grub_vbe_get_memory_window): Likewise.
26452 (grub_vbe_set_scanline_length): Likewise.
26453 (grub_vbe_get_scanline_length): Likewise.
26454 (grub_vbe_set_display_start): Likewise.
26455 (grub_vbe_get_display_start): Likewise.
26456 (grub_vbe_set_palette_data): Likewise.
26457 * include/grub/i386/pc/vbe.h: New file.
26458
c46153d2 264592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26460
26461 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26462 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26463 * DISTLIST: Likewise.
26464 * kern/ieee1275/of.c: Moved to ...
26465 * kern/ieee1275/ieee1275.c: ... here.
26466
0cb90c45 264672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26468
26469 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26470 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26471 Pass 0 as `end' parameter to grub_strtoul().
26472
a19fb360 264732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26474
26475 * include/grub/powerpc/ieee1275/console.h: Do not include
26476 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26477 ifdef.
26478 (grub_console_cur_color): Remove i386-specific prototype.
26479 (grub_console_real_putchar): Likewise.
26480 (grub_console_checkkey): Likewise.
26481 (grub_console_getkey): Likewise.
26482 (grub_console_getxy): Likewise.
26483 (grub_console_gotoxy): Likewise.
26484 (grub_console_cls): Likewise.
26485 (grub_console_setcursor): Likewise.
26486 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26487 Include <grub/machine/console.h>.
26488 * term/ieee1275/ofconsole.c: Likewise.
26489
4ac9bd04 264902005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26491
26492 * Makefile.in (LIBLZO): New variable.
26493
26494 * configure.ac: Check for LZO version 2.
26495
26496 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26497 lzo/lzo1x.h instead of lzo1x.h.
26498
26499 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26500 of -llzo.
26501
26502 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26503 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26504
26505 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26506 copying the data from PARTITION to P.
26507
f4917dfd 265082005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26509
26510 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26511 negative, unload the module.
26512
26513 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26514 map is "pc_partition_map" but not "pc".
26515 (usage): Fix the description. The options are --boot-image and
26516 --core-image but not --boot-file or --core-file.
26517 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26518 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26519 DEFAULT_DIRECTORY.
26520
26521 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26522 --core-file. Specify INSTALL_DEVICE as an argument.
26523
26524 * util/console.c: Include config.h.
26525 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26526 [HAVE_NCURSES_H]: Include ncurses.h.
26527 [HAVE_CURSES_H]: Include curses.h.
26528 [!A_NORMAL] (A_NORMAL): Defined as zero.
26529 [!A_STANDOUT] (A_STANDOUT): Likewise.
26530
26531 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26532 -lncurses.
26533 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26534
26535 * configure.ac: Check for curses libraries and headers.
26536
26537 * Makefile.in (LIBCURSES): New variable.
26538
26539 * genmk.rb (Script::rule): Set the executable bits.
26540
26541 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26542 name of the PC partition map is "pc_partition_map" but not "pc".
26543
0e143073 265442005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26545
26546 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26547 (modules): Likewise.
26548 (usage): Added descriptions for --modules and --grub-probefs.
26549 Handle --modules and --grub-probefs. Save the arguments in MODULES
26550 and GRUB_PROBEFS, respectively.
26551 Auto-detect a filesystem module against GRUBDIR. If the result is
26552 empty and modules are not specified explicitly, abort the
26553 installation. Add the result to MODULES.
26554
26555 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26556 disk/powerpc/ieee1275/ofdisk.c,
26557 include/grub/powerpc/ieee1275/init.h and
26558 term/powerpc/ieee1275/ofconsole.c.
26559 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26560 term/ieee1275/ofconsole.c.
26561
26562 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26563
26564 * COPYING: Upgraded to the latest version. Only the address of the
26565 FSF office has changed.
f19dbdb7 26566
efd6e6d5 265672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26568
26569 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26570 kern/ieee1275.c with kern/ieee1275/of.c.
26571
26572 * kern/ieee1275.c: Moved to ...
26573 * kern/ieee1275/of.c: ... here.
26574
8ceafda2 265752005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26576
26577 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 26578 readability.
8ceafda2 26579
26580 * config.guess: Updated to the latest version from gnulib.
26581 * config.sub: Likewise.
26582 * install.sh: Likewise.
26583 * mkinstalldirs: Likewise.
26584
26585 * include/grub/console.h: Removed. This file is arch-specific. Do
26586 not put this in include/grub.
26587
26588 * include/grub/i386/pc/console.h: Resurrected.
26589
26590 * util/console.c: Include grub/machine/console.h instead of
26591 grub/console.h.
26592 * util/grub-emu.c: Likewise.
26593
267f6cd9 265942005-08-04 Marco Gerards <metgerards@student.han.nl>
26595
26596 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26597 hardcoded value.
f19dbdb7 26598
267f6cd9 26599 From Vincent Pelletier <subdino2004@yahoo.fr>
26600 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26601 Redefined to use grub_getwh.
26602 (grub_term): New member named getwh.
26603 (grub_getwh): New prototype.
26604 * kern/term.c (grub_getwh): New function.
26605 * term/i386/pc/console.c (grub_console_getwh): New function.
26606 (grub_console_term): New member `getwh'.
26607 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26608 (grub_vga_term): New member `getwh'.
0b5abe02 26609 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 26610 grub_ssize_t.
26611 (grub_ofconsole_getw): New function.
26612 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26613 (grub_ofconsole_term): New field named getwh and new initial
26614 value.
26615
3be7266d 266162005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26617
26618 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26619 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26620 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26621 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26622 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26623 of <grub/machine/ieee1275.h>.
26624 * commands/ieee1275/reboot.c: Likewise.
26625 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26626 * kern/ieee1275.c: ... to here. All users updated. Change all
26627 parameter structs to use new type `grub_ieee1275_cell_t'.
26628 * term/powerpc/ieee1275/ofconsole.c: Move ...
26629 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26630 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26631 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26632 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26633 to return int.
26634 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26635 Remove unused prototypes. All users updated.
26636 * include/grub/powerpc/ieee1275/console.h: Removed.
26637 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26638 `grub_ieee1275_cell_t'.
26639 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26640 Cast comparisons with -1 to the correct type.
26641 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26642 type to match `grub_ieee1275_entry_fn'.
26643
8b5f3938 266442005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26645
26646 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26647
26648 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26649 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26650 partmap/sun.c.
26651 (grub_probefs_SOURCES): New variable.
26652
26653 * util/i386/pc/grub-probefs.c: New file.
26654
26655 * util/i386/pc/grub-setup.c (main): Call
26656 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26657 grub_hfs_init and grub_jfs_init to initialize the system. Call
26658 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26659 grub_pc_partition_map_fini to finish the system.
26660
ea409713 266612005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26662
26663 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26664 function.
26665 (grub_multiboot_load_elf32): Likewise.
26666 (grub_multiboot_is_elf64): Likewise.
26667 (grub_multiboot_load_elf64): Likewise.
26668 (grub_multiboot_load_elf): Likewise.
26669 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26670 an ELF32 or ELF64 file.
26671 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26672
26673 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26674 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26675 NULL before calling FS->LABEL.
26676 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26677 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26678 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26679 before calling FS->LABEL.
26680
141a288b 266812005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26682
26683 * util/i386/pc/grub-install.in (datadir): New variable.
26684 (libdir): Removed.
26685 (pkgdatadir): New variable.
26686 (pkglibdir): Removed.
26687
0d5f8a54 266882005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26689
26690 * DISTLIST: Added util/i386/pc/grub-install.in.
26691
26692 * util/i386/pc/grub-install.in: New file.
26693
26694 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26695 (grub_install_SOURCES): Likewise.
26696
26697 * genmk.rb: Added support for scripts.
26698 (Script): New class.
26699 (scripts): New variable.
26700
26701 * Makefile.in (install-local): Install sbin_SCRIPTS by
26702 INSTALL_SCRIPT.
26703 (uninstall): Remove sbin_SCRIPTS.
26704
26705 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26706 device, try to get a GRUB device by
26707 grub_util_biosdisk_get_grub_dev.
26708 Free DEST_DEV.
26709
26710 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26711 description for --device-map.
26712
5f968e1e 267132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26714
26715 Change the semantics of variable hooks. They now return strings
26716 instead of error values.
f19dbdb7 26717
5f968e1e 26718 * util/i386/pc/grub-setup.c: Include grub/env.h.
26719 (setup): Use grub_device_set_root instead of grub_env_set.
26720
26721 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26722 grub_env_get instead of grub_device_set_root and
26723 grub_device_get_root, respectively.
26724
26725 * kern/main.c (grub_env_write_root): New function.
26726 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26727 grub_env_set instead of grub_device_set_root.
26728
26729 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26730 many variables.
26731 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26732 rather than calling ENV->WRITE_HOOK afterwards.
26733 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26734 passing a pointer of a pointer.
26735 (grub_register_variable_hook): Change the types of "read_hook" and
26736 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26737 respectively.
26738 Allocate the default empty string on the heap, because this string
26739 may be freed later.
26740
26741 * kern/device.c: Include grub/env.h.
26742 (grub_device_set_root): Removed.
26743 (grub_device_get_root): Likewise.
26744 (grub_device_open): Use grub_env_get instead of
26745 grub_device_get_root.
26746
26747 * include/grub/env.h (grub_env_read_hook_t): New type.
26748 (grub_env_write_hook_t): Likewise.
26749 (grub_env_var): Change the types of "read_hook" and "write_hook"
26750 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26751 (grub_register_variable_hook): Likewise.
26752
26753 * include/grub/device.h (grub_device_set_root): Removed.
26754 (grub_device_set_root): Likewise.
26755
26756 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26757 make sure that DIRNAME terminates with '/', so that
26758 grub_fat_find_dir will fail if PATH is not a directory.
26759
26760 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26761 from DIRNAME.
26762 Use the qualifier auto for print_files and print_files_long.
26763 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26764 as a regular file.
26765 Put a newline only if there is no error.
26766 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26767 used.
26768
896f0afd 267692005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26770
26771 * kern/partition.c (grub_partition_probe): Initialize PART to
26772 NULL. Otherwise, when no partition map is registered, this returns
26773 a garbage.
26774
b28b81b2 267752005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26776
26777 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26778 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26779 valid.
26780
5f3607e0 267812005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26782
26783 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26784 information on each device, if it does not have partitions. Print
26785 "Device" instead of "Disk", because this function is not specific
26786 to disk devices.
26787
26788 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26789 static to ensure that it is put on the memory rather than a
26790 register.
26791
502c87e8 267922005-07-17 Yoshinori Okuji <okuji@enbug.org>
26793
26794 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26795 (grub_cat_init): Likewise.
26796 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26797 (options): Likewise.
26798 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26799 (grub_configfile_init): Likewise.
26800 * font/manager.c (GRUB_MOD_INIT): Likewise.
26801 * commands/help.c (GRUB_MOD_INIT): Likewise.
26802 (grub_help_init): Likewise.
26803 * normal/command.c (grub_command_init): Likewise.
26804 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26805 * disk/loopback.c (grub_loop_init): Likewise.
26806 (GRUB_MOD_INIT): Likewise.
26807 * commands/ls.c (grub_ls_init): Likewise.
26808 (GRUB_MOD_INIT): Likewise.
26809 (options): Likewise.
26810 * commands/boot.c (grub_boot_init): Likewise.
26811 (GRUB_MOD_INIT): Likewise.
26812 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26813 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26814 (GRUB_MOD_INIT): Likewise.
26815 * commands/cmp.c (grub_cmp_init): Likewise.
26816 (GRUB_MOD_INIT): Likewise.
26817
26818 * normal/arg.c: Use <> instead of "" to include header files.
26819 (SHORT_ARG_HELP): New macro.
26820 (SHORT_ARG_USAGE): Likewise.
26821 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26822 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26823 descriptions.
26824 (find_short): Check if C is 'h' or 'u' explicitly.
26825 (grub_arg_show_help): Use space characters instead of tabs. Treat
26826 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26827 are shown with --help and --usage only if they are not used for
26828 the command itself.
26829 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26830 'h' and 'u'.
26831
26832 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26833 const into "longarg". Change the type of "shortarg" to int.
26834
f806d18e 268352005-07-17 Yoshinori Okuji <okuji@enbug.org>
26836
26837 * boot/i386/pc/boot.S (boot_drive_check): New label.
26838
26839 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26840 macro.
26841
26842 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26843 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26844
e293232b 268452005-07-17 Yoshinori Okuji <okuji@enbug.org>
26846
26847 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26848 When turning off Gate A20, skip the check and return immediately,
26849 because this is not fatal usually.
26850
ebedfd00 268512005-07-17 Yoshinori Okuji <okuji@enbug.org>
26852
26853 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26854 be 0x7C00 instead of 0x8000.
26855
26856 * boot/i386/pc/pxeboot.S: Rewritten.
26857
26858 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26859 EXT_C.
26860 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26861 result.
26862
654fc59f 268632005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26864
26865 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26866 robustness. This routine now supports a BIOS call and System
26867 Control Port A to modify the gate A20.
26868
26869 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26870 Increased to 0x440.
26871
09f9923f 268722005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26873
26874 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26875 device path and resulting ihandle.
26876 (grub_ofdisk_close): dprintf the ihandle being closed.
26877 (grub_ofdisk_read): dprintf function parameters.
26878 * kern/mm.c (grub_mm_init_region): Likewise.
26879 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26880 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26881 size, and boot arguments.
26882 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26883 before loading into memory.
26884 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26885 before loading into memory.
26886
7ef504d8 268872005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26888
26889 * kern/mm.c: Added much documentation.
26890 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26891 8, set to 5 instead of 8.
26892
e0f050c2 268932005-07-10 Yoshinori Okuji <okuji@enbug.org>
26894
26895 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26896
26897 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26898 (grub_mkdevicemap_SOURCES): New variable.
26899
26900 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26901 lib/device.c of GRUB Legacy.
26902
7224189a 269032005-07-10 Yoshinori Okuji <okuji@enbug.org>
26904
26905 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26906 instead of PATH is NULL.
26907
68c864eb 269082005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26909
26910 * commands/cmp.c (BUFFER_SIZE): New macro.
26911 (grub_cmd_cmp): Close the right file at the right time. Compare
26912 only data just read. Don't report files of different size as
26913 identical. Dynamically allocate buffers. Move variable
26914 declarations at the beginning of function.
26915
e6f3e614 269162005-07-09 Yoshinori Okuji <okuji@enbug.org>
26917
26918 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26919 reverse.
26920
f8f1559a 269212004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26922
26923 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26924 when backspace is pressed at beginning of line.
26925
39c9d41d 269262005-07-03 Yoshinori Okuji <okuji@enbug.org>
26927
26928 * DISTLIST: Added genfslist.sh.
26929
26930 * normal/main.c (fs_module_list): New variable.
26931 (autoload_fs_module): New function.
26932 (read_fs_list): Likewise.
26933 (grub_normal_execute): Call read_fs_list.
26934
26935 * kern/fs.c (grub_fs_autoload_hook): New variable.
26936 (grub_fs_probe): Added support for auto-loading.
26937
26938 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26939 (grub_fs_module_list_t): New type.
26940
26941 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26942 (grub_fs_autoload_hook): New prototype.
26943
26944 * genfslist.sh: New file.
f19dbdb7 26945
39c9d41d 26946 * genmk.rb: Added a rule to generate a filesystem list.
26947
121c1d83 269482005-06-30 Marco Gerards <metgerards@student.han.nl>
26949
26950 * configure.ac: Fix the test for cross-compiling.
26951
26952 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26953 define GRUB_UTIL anymore.
26954
26955 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26956 so this function works on other systems than just big endian.
26957 (load_modules): Likewise.
26958 (add_segments): Likewise.
26959
e75d76e1 269602005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26961
26962 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26963 contains `l' modifier, get a long from va_arg().
26964
50b5a0a7 269652005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26966
26967 * kern/mm.c (grub_free): If the next free block which is being
26968 merged is the first free block, set the first block to the block
26969 being freed.
26970 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26971
89371b20 269722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26973
26974 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26975 `grub_ieee1275_chosen'.
26976
168d6e58 269772005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26978
26979 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26980 (grub_ieee1275_chosen): New variable.
26981 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26982 `chosen'.
26983 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26984 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26985 Rename first argument to `phandle' for consistency.
26986 (grub_ieee1275_get_property_length): Likewise.
26987 (grub_ieee1275_next_property): Likewise. Change type of first argument
26988 to grub_ieee1275_phandle_t.
26989 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26990 Move export next to declaration.
26991 (grub_ieee1275_chosen): New variable.
26992 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26993 Correct cosmetic typo.
26994 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26995 `grub_ieee1275_chosen'.
26996 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26997 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26998 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26999 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
27000 `grub_ieee1275_chosen'.
27001
ca5baa3f 270022005-05-10 Hollis Blanchard <hollis@penguinppc.org>
27003
27004 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
27005 /chosen/bootargs.
27006 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
27007 /chosen/bootargs as "variable=value" pairs.
27008
708b345f 270092005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
27010
27011 * include/grub/misc.h (grub_dprintf): New macro.
27012 (grub_real_dprintf): New prototype.
27013 (grub_strword): Likewise.
27014 (grub_iswordseparator): Likewise.
27015 * kern/misc.c (grub_real_dprintf): New function.
27016 (grub_strword): Likewise.
27017 (grub_iswordseparator): Likewise.
27018
f4c5e67c 270192005-04-30 Hollis Blanchard <hollis@penguinppc.org>
27020
27021 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
27022 (roundup): Remove macro.
27023 (grub_ieee1275_flags): Make static.
27024 (grub_ieee1275_realmode): Remove.
27025 (grub_ieee1275_test_flag): New function.
27026 (grub_ieee1275_set_flag): Likewise.
27027 (find_options): Rename to `grub_ieee1275_find_options'; update
27028 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
27029 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
27030 (cmain): New prototype.
27031 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
27032 `grub_ieee1275_flags' directly.
27033 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
27034 machine/biosdisk.h.
27035 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
27036 Don't include grub/machine/init.h.
27037 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
27038 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27039 Remove prototype.
27040 (grub_ieee1275_realmode): Likewise.
27041 (grub_ieee1275_flag): New enum.
27042 (grub_ieee1275_test_flag): New prototype.
27043 (grub_ieee1275_set_flag): New prototype.
27044 * include/grub/powerpc/ieee1275/init.h: Remove file.
27045 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
27046 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
27047 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
27048 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
27049 comment.
27050 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
27051 `grub_ieee1275_test_flag'.
27052 (grub_ieee1275_encode_devname): Likewise.
27053
ed16607e 270542005-04-21 Hollis Blanchard <hollis@penguinppc.org>
27055
27056 * include/grub/powerpc/ieee1275/ieee1275.h
27057 (grub_ieee1275_encode_devname): New prototype.
27058 (grub_ieee1275_get_filename): Likewise.
27059 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
27060 function.
27061 (grub_set_prefix): Likewise.
27062 (grub_machine_init): Call grub_set_prefix.
27063 * kern/powerpc/ieee1275/openfw.c: Fix typos.
27064 (grub_parse_type): New enum.
27065 (grub_ieee1275_get_devargs): New function.
27066 (grub_ieee1275_get_devname): Likewise.
27067 (grub_ieee1275_parse_args): Likewise.
27068 (grub_ieee1275_get_filename): Likewise.
27069 (grub_ieee1275_encode_devname): Likewise.
27070
be369920 270712005-03-30 Marco Gerards <metgerards@student.han.nl>
27072
27073 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
27074 `grub_loader_unset'.
27075
a5ce3a4a 270762005-03-26 Hollis Blanchard <hollis@penguinppc.org>
27077
27078 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
27079 instead of grub_ieee1275_interpret.
27080 (grub_halt_init): New function.
27081 (grub_halt_fini): Likewise.
27082 (GRUB_MOD_INIT): Correct message grammar.
27083 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
27084 instead of grub_ieee1275_interpret.
27085 (grub_reboot_init): New function.
27086 (grub_reboot_fini): Likewise.
27087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
27088 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
27089 util/i386/pc/misc.c with commands/ieee1275/halt.c,
27090 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
27091 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
27092 function.
27093 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
27094 Add prototype.
27095 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
27096 prototype.
27097 (grub_halt): Likewise.
27098 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
27099 (cmain): Remove __attribute__((unused)).
27100 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
27101 (grub_heap_len): Likewise.
27102 (grub_machine_fini): New function.
27103 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
27104 (grub_halt): Likewise.
27105 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
27106 function.
27107 * util/powerpc/ieee1275/misc.c: New file.
27108
0058f771 271092005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27110
27111 * DISTLIST: New file.
27112 * gendistlist.sh: Likewise.
f19dbdb7 27113
0058f771 27114 * Makefile.in (COMMON_DISTFILES): Removed.
27115 (BOOT_DISTFILES): Likewise.
27116 (CONF_DISTFILES): Likewise.
27117 (DISK_DISTFILES): Likewise.
27118 (FS_DISTFILES): Likewise.
27119 (INCLUDE_DISTFILES): Likewise.
27120 (KERN_DISTFILES): Likewise.
27121 (LOADER_DISTFILES): Likewise.
27122 (TERM_DISTFILES): Likewise.
27123 (UTIL_DISTFILES): Likewise.
27124 (DISTFILES): Likewise.
27125 (uninstall): Uninstall files in $(pkgdata_DATA).
27126 (DISTLIST): New target.
27127 (distdir): Use the contents of the file DISTLIST to get a list of
27128 distributed files.
27129
46b3b8a5 271302005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27131
27132 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
27133 descriptor. This is ported from GRUB Legacy.
27134
27135 * gencmdlist.sh: Added an extra semicolon to make it work with
27136 old sed versions. Reported by Robert Bihlmeyer
27137 <robbe@orcus.priv.at>.
27138
5822ff87 271392005-03-08 Yoshinori Okuji <okuji@enbug.org>
27140
27141 Automatic loading of commands is supported.
f19dbdb7 27142
5822ff87 27143 * normal/main.c (read_command_list): New function.
27144 (grub_normal_execute): Call read_command_list.
27145
27146 * normal/command.c (grub_register_command): Return zero or CMD.
27147 Allocate CMD->NAME from the heap.
27148 Initialize CMD->MODULE_NAME to zero.
27149 Find the same name as well. If the same command is found and it is
27150 a dummy command, overwrite members. If it is not a dummy command,
27151 return zero.
27152 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
27153 (grub_command_find): If a dummy command is found, load a module
27154 and retry to find a command only once.
27155
27156 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
27157 make sure that each command is loaded.
27158
27159 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
27160 macro.
27161 (struct grub_command): Remove const from the member `name'.
27162 Add a new member `module_name'.
27163 (grub_register_command): Return grub_command_t.
27164
27165 * commands/help.c (grub_cmd_help): Call grub_command_find to make
27166 sure that each command is loaded.
27167
27168 * genmk.rb (PModule::rule): Specify a module name without the
27169 suffix ".mod" to gencmdlist.sh.
27170
7b1f4b57 271712005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27172
27173 * gencmdlist.sh: New file.
f19dbdb7 27174
7b1f4b57 27175 * genmk.rb (PModule::rule): Generate a rule for a command list.
27176 Clean command.lst.
27177 Generate command.lst from $(COMMANDFILES).
27178
27179 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
27180 (DATA): Added $(pkgdata_DATA).
27181 (install-local): Install files in $(pkgdata_DATA).
27182
062aaf39 271832005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27184
27185 * term/i386/pc/vga.c (debug_command): Removed.
27186 (GRUB_MOD_INIT): Do not register the command "debug".
27187
27188 From Hollis Blanchard:
27189 * commands/configfile.c: New file.
27190 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27191 commands/configfile.c.
27192 (pkgdata_MODULES): Added configfile.mod.
27193 (configfile_mod_SOURCES): New variable.
27194 (configfile_mod_CFLAGS): Likewise.
27195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27196 commands/configfile.c.
27197 (pkgdata_MODULES): Added configfile.mod.
27198 (configfile_mod_SOURCES): New variable.
27199 (configfile_mod_CFLAGS): Likewise.
27200 * util/grub-emu.c (main): Call grub_configfile_init and
27201 grub_configfile_fini.
27202 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
27203 prototype.
27204 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 27205
cee01aa6 272062005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27207
27208 * normal/arg.c (grub_arg_show_help): Do not show the bug report
27209 address.
27210
27211 * commands/help.c (grub_cmd_help): Do not print newlines after
27212 the last command in print_command_help.
27213
93f3a1d8 272142005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27215
27216 * commands/default.h: New file.
27217 * commands/timeout.h: Likewise.
27218 * normal/context.c: Likewise.
f19dbdb7 27219
93f3a1d8 27220 * util/misc.c: Do not include sys/times.h.
27221 Include sys/time.h and grub/machine/time.h.
27222 (grub_get_rtc): Rewritten with gettimeofday.
27223
27224 * util/grub-emu.c (main): Call grub_default_init and
27225 grub_timeout_init before grub_normal_init, and call
27226 grub_timeout_fini and grub_default_fini after grub_main.
27227
27228 * util/console.c (grub_ncurses_checkkey): Return the read
27229 character or -1.
27230
27231 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
27232 timeouts.
27233
27234 * normal/main.c (read_config_file): Push MENU. If this fails,
27235 print an error and wait for a user input.
27236 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
27237 If a menu is empty or an error occurs, pop MENU.
27238 (grub_normal_execute): Pop and free MENU after grub_menu_run
27239 returns.
27240
27241 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
27242
27243 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
27244 include time.h.
27245 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27246 without GRUB_UTIL.
27247 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
27248 time.h.
27249 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27250 without GRUB_UTIL.
27251
27252 * include/grub/normal.h (struct grub_menu_list): New struct.
27253 (grub_menu_list_t): New type.
27254 (struct grub_context): New struct.
27255 (grub_context_t): New type.
27256 (grub_register_command): Got rid of EXPORT_FUNC.
27257 (grub_unregister_command): Likewise.
27258 (grub_context_get): New prototype.
27259 (grub_context_get_current_menu): Likewise.
27260 (grub_context_push_menu): Likewise.
27261 (grub_context_pop_menu): Likewise.
27262 [GRUB_UTIL] (grub_default_init): Likewise.
27263 [GRUB_UTIL] (grub_default_fini): Likewise.
27264 [GRUB_UTIL] (grub_timeout_init): Likewise.
27265 [GRUB_UTIL] (grub_timeout_fini): Likewise.
27266
27267 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
27268 commands/timeout.c and normal/context.c.
27269 (pkgdata_MODULES): Added default.mod and timeout.mod.
27270 (normal_mod_SOURCES): Added normal/context.c.
27271 (default_mod_SOURCES): New variable.
27272 (default_mod_CFLAGS): Likewise.
27273 (timeout_mod_SOURCES): Likewise.
27274 (timeout_mod_CFLAGS): Likewise.
27275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27276 conf/i386-pc.rmk.
27277 (pkgdata_MODULES): Added default.mod and timeout.mod.
27278 (normal_mod_SOURCES): Added normal/context.c.
27279 (default_mod_SOURCES): New variable.
27280 (default_mod_CFLAGS): Likewise.
27281 (timeout_mod_SOURCES): Likewise.
27282 (timeout_mod_CFLAGS): Likewise.
27283
27284 * Makefile.in (all-local): Added $(MKFILES).
27285
4ed2e1dd 272862005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27287
27288 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27289 (grub_emu_SOURCES): Likewise.
27290 (pkgdata_MODULES): Add `sun.mod'.
27291 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27293 `partmap/sun.c'.
27294 (pkgdata_MODULES): Add `sun.mod'.
27295 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27296 * include/grub/partition.h (grub_sun_partition_map_init): New
27297 prototype.
27298 (grub_sun_partition_map_fini): Likewise.
27299 * partmap/sun.c: New file.
27300 * util/grub-emu.c (main): Initialize and de-initialize the sun
27301 partitionmap support.
27302
4d4e372e 273032005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27304
27305 This implements an Emacs-like menu entry editor.
f19dbdb7 27306
4d4e372e 27307 * normal/menu_entry.c: New file.
f19dbdb7 27308
4d4e372e 27309 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27310 characters to ASCII.
27311 (saved_char): New variable.
27312 (grub_ncurses_checkkey): Rewritten completely.
27313 (grub_ncurses_getkey): Likewise.
27314 (grub_ncurses_init): Call raw instead of cbreak.
27315
27316 * normal/menu.c (print_entry): Do not put a space.
27317 (init_page): Renamed to ...
27318 (grub_menu_init_page): ... this. All callers changed.
27319 (edit_menu_entry): Removed.
27320 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27321
27322 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27323
27324 * kern/misc.c (grub_vprintf): Call grub_refresh.
27325
27326 * normal/menu.c (DISP_LEFT): Renamed to ...
27327 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27328 * normal/menu.c (DISP_UP): Renamed to ...
27329 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27330 * normal/menu.c (DISP_RIGHT): Renamed to ...
27331 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27332 * normal/menu.c (DISP_DOWN): Renamed to ...
27333 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27334 * normal/menu.c (DISP_HLINE): Renamed to ...
27335 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27336 * normal/menu.c (DISP_VLINE): Renamed to ...
27337 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27338 * normal/menu.c (DISP_UL): Renamed to ...
27339 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27340 * normal/menu.c (DISP_UR): Renamed to ...
27341 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27342 * normal/menu.c (DISP_LL): Renamed to ...
27343 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27344 * normal/menu.c (DISP_LR): Renamed to ...
27345 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27346 * normal/menu.c (TERM_WIDTH): Renamed to ...
27347 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27348 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27349 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27350 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27351 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27352 * normal/menu.c (TERM_MARGIN): Renamed to ...
27353 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27354 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27355 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27356 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27357 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27358 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27359 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27360 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27361 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27362 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27363 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27364 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27365 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27366 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27367 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27368 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27369 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27370 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27371 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27372 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27373 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27374 All callers changed.
27375
27376 * include/grub/normal.h: New prototype.
27377
27378 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27379 normal/menu_entry.c.
27380 (normal_mod_SOURCES): Likewise.
27381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27382 (normal_mod_SOURCES): Likewise.
27383
e6b92c8a 273842005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27385
27386 * include/grub/normal.h (grub_halt_init): New prototype.
27387 (grub_halt_fini): Likewise.
27388 (grub_reboot_init): Likewise.
27389 (grub_reboot_fini): Likewise.
27390
27391 * util/grub-emu.c: Include signal.h.
27392 (main_env): New global variable.
27393 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27394 catch C-c.
27395 (grub_machine_fini): New function.
27396 (main): Call grub_halt_init and grub_reboot_init before
27397 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27398 Call setjmp with MAIN_ENV to go back afterwards.
27399 Call grub_machine_fini right before return.
27400
27401 * include/grub/util/misc.h: Include setjmp.h.
27402 (main_env): New prototype.
27403
27404 * include/grub/kernel.h (grub_machine_fini): New prototype.
27405 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27406 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27407
27408 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27409 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27410 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 27411
e6b92c8a 27412 * util/i386/pc/misc.c: New file.
f19dbdb7 27413
e6b92c8a 27414 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27415 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27416 commands/i386/pc/reboot.c.
27417
c642636f 274182005-02-14 Guillem Jover <guillem@hadrons.org>
27419
27420 * include/grub/dl.h (grub_dl_check_header): New prototype.
27421 (grub_arch_dl_check_header): Change return type to grub_err_t,
27422 remove size parameter and export function. Update all callers.
27423 * kern/dl.c (grub_dl_check_header): New function.
27424 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27425 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27426 are inside the core.
27427 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27428 independent ELF header checks.
27429 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27430 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27431 `grub_dl_check_header' instead of explicit checks. Check for the
27432 ELF type.
27433 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27434 `grub_dl_check_header' instead of explicit checks. Remove arch
27435 specific ELF header checks.
27436
e6b92c8a 27437 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27438 argument SIZE.
27439
5eabe94b 274402005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27441
27442 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27443 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27444
1b14a681 274452005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27446
27447 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 27448 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 27449 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 27450 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 27451 * partmap/amiga.c (amiga_partition_map_iterate): Return
27452 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27453 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27454
aca108aa 274552005-02-01 Guillem Jover <guillem@hadrons.org>
27456
27457 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27458 help info.
27459
c9f9c556 274602005-01-31 Marco Gerards <metgerards@student.han.nl>
27461
27462 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27463 Removed prototype.
27464 (grub_rescue_cmd_linux): New prototype.
27465 (grub_rescue_cmd_initrd): Likewise.
27466 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27467 `bi_rec'.
27468 (grub_linux_release_mem): Release the memory for the initrd.
27469 (grub_load_linux): Renamed from this...
27470 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27471 Changed `entry' not to be static. Loop over memory regions to
27472 find another one when the default fails.
27473 (grub_rescue_cmd_initrd): New function.
27474 (grub_linux_init): Remove function.
27475 (grub_linux_fini): Likewise.
27476 (GRUB_MOD_INIT): Register `initrd'.
27477 (GRUB_MOD_FINI): Unregister `initrd'.
27478 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27479 Function removed.
27480 (grub_linux_normal_fini): Likewise.
27481 (GRUB_MOD_INIT): Register `initrd'.
27482 (GRUB_MOD_FINI): Unregister `initrd'.
27483
990cf3aa 274842005-01-31 Marco Gerards <metgerards@student.han.nl>
27485
27486 * commands/help.c: New file.
27487 * normal/arg.c (show_help): Renamed to...
27488 (grub_arg_show_help): ... this.
27489 * commands/i386/pc/halt.c: New file.
27490 * commands/i386/pc/reboot.c: Likewise.
27491 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27492 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27493 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27494 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27495 variables.
27496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27497 `commands/help.c'.
27498 (pkgdata_MODULES): Add `help.mod'.
27499 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27500 * grub/i386/pc/init.h (grub_reboot): New prototype.
27501 (grub_halt): Likewise.
27502 * include/grub/normal.h (grub_arg_show_help): New prototype.
27503 (grub_help_init): Likewise.
27504 (grub_help_fini): Likewise.
27505 * util/grub-emu.c (main): Initialize and deinitialize the help
27506 command.
27507
27508 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27509
27510 * normal/command.c (grub_command_init): Fixed the description of
27511 the `set' and `unset' commands.
27512
275132005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 27514
27515 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27516 function.
27517 * commands/ieee1275/halt.c: New file.
27518 * commands/ieee1275/reboot.c: Likewise.
27519 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27520 `__attribute__ ((unused))'. Some GCS related fixed.
27521 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27522 (grub_suspend_fini): Likewise.
27523 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27524 and `halt.mod'.
27525 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27526 (halt_mod_CFLAGS): New variables.
27527 * include/grub/powerpc/ieee1275/ieee1275.h
27528 (grub_ieee1275_interpret): New prototype.
27529
1ab09cc7 275302005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27531
27532 * include/grub/misc.h (memmove): New prototype.
27533 (memcpy): Likewise.
27534
8b8cbdb2 275352005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27536
27537 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27538 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27539
e3741a27 275402005-01-22 Marco Gerards <metgerards@student.han.nl>
27541
27542 * kern/misc.c (grub_strndup): Function rewritten.
27543
776bd780 275442005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27545
27546 * normal/menu.c (TERM_WIDTH): Macro redefined.
27547 (TERM_TOP_BORDER_Y): Likewise.
27548 (draw_border): Replaced while-loop by a for-loop. Make the number
27549 of lines consistent with the number of lines displayed in
27550 print_entries. Added a margin below the rectangle.
27551 (print_entry): Make the entry fit in the rectangle.
27552 (print_entries): Display the scroll arrows next to the right
27553 border.
27554
78026bce 275552005-01-21 Marco Gerards <metgerards@student.han.nl>
27556
27557 * fs/minix.c (grub_minix_find_file): Reserve more space for
27558 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27559 `grub_strncpy' to copy `path' into it.
27560
67bbaf0f 275612005-01-21 Marco Gerards <metgerards@student.han.nl>
27562
27563 Add the loopback device, a device via which files can be accessed
27564 as devices.
f19dbdb7 27565
67bbaf0f 27566 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27567 (pkgdata_MODULES): Add loopback.mod.
27568 (loopback_mod_SOURCES): New variable.
27569 (loopback_mod_CFLAGS): Likewise.
27570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27571 `disk/loopback.c'.
27572 (pkgdata_MODULES): Add loopback.mod.
27573 (loopback_mod_SOURCES): New variable.
27574 (loopback_mod_CFLAGS): Likewise.
27575 * disk/loopback.c: new file.
27576 * include/grub/normal.h (grub_loop_init): New prototype.
27577 (grub_loop_fini): New prototype.
27578 * util/grub-emu.c (main): Initialize and de-initialize loopback
27579 support.
27580 * include/grub/disk.h (grub_disk_dev_id): Add
27581 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27582
6f1c18bd 275832005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27584
27585 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27586 function.
27587 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27588 (suspend_mod_SOURCES): New variable.
27589 (suspend_mod_CFLAGS): Likewise.
27590 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27591 New prototype.
27592 * commands/ieee1275/suspend.c: New file.
27593
b38551da 275942005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27595
27596 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 27597 ((unused))' to `__attribute__ ((used))'.
b38551da 27598 (GRUB_MOD_FINI): Likewise.
27599 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27600 * genmk.rb (PModule): Assign space to common symbols when linking
27601 modules.
27602
777aff39 276032005-01-20 Marco Gerards <metgerards@student.han.nl>
27604
27605 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27606 `unsigned' arguments to `grub_size_t'.
27607 (grub_malloc): Likewise.
27608 (grub_realloc): Likewise.
27609 (grub_memalign): Likewise.
27610 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27611 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27612 * util/misc.c (grub_malloc): Likewise.
27613 (grub_realloc): Likewise.
27614 * kern/mm.c (get_header_from_pointer): Change the casts to
27615 `unsigned' into a cast to `grub_size_t'.
27616
27617 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27618 point to `currnode' when `currnode' is changed.
27619
27620 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27621 Schottelius <nico-linux@schottelius.org>.
27622
d0ff18e1 276232005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27624
27625 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27626 (note_path): Remove variable.
27627 (GRUB_IEEE1275_NOTE_NAME): New macro.
27628 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27629 (grub_ieee1275_note_hdr): New structure.
27630 (grub_ieee1275_note_desc): Likewise.
27631 (grub_ieee1275_note): Likewise.
27632 (load_note): Remove `dir' argument. All callers updated. Remove
27633 `note_img' and `path'. Do not load a file from `note_path'.
27634 Initialize a struct grub_ieee1275_note and write that to `out'.
27635 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27636
4ca7004c 276372005-01-05 Marco Gerards <metgerards@student.han.nl>
27638
27639 * util/misc.c (grub_util_read_image): Revert last change. It
27640 called `grub_util_read_at', which seeks from the beginning of the
27641 file.
27642
0b412211 276432005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27644
27645 * TODO: Add note about endianness in grub-mkimage.
27646 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27647 section.
27648 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27649 (grub_mkimage_SOURCES): New target.
27650 * include/grub/kernel.h (grub_start_addr): Remove variable.
27651 (grub_end_addr): Likewise.
27652 (grub_total_module_size): Likewise.
27653 (grub_kernel_image_size): Likewise.
27654 (GRUB_MODULE_MAGIC): New constant.
27655 (grub_module_info): New structure.
27656 (grub_arch_modules_addr): New prototype.
27657 (grub_get_end_addr): Remove prototype.
27658 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27659 * include/grub/powerpc/ieee1275/kernel.h: New file.
27660 * include/grub/util/misc.h (grub_util_get_fp_size): New
27661 prototype.
27662 (grub_util_read_at): Likewise.
27663 (grub_util_write_image_at): Likewise.
27664 * kern/main.c (grub_get_end_addr): Remove function.
27665 (grub_load_modules): Call grub_arch_modules_addr instead of using
27666 grub_end_addr. Look for a grub_module_info struct in memory. Use
27667 the grub_module_info fields instead of calling grub_get_end_addr
27668 as loop conditions. Move grub_add_unused_region code here.
27669 (grub_add_unused_region): Remove function.
27670 * kern/i386/pc/init.c: Include grub/cache.h.
27671 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27672 one call to add_mem_region.
27673 (grub_arch_modules_addr): New function.
27674 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27675 (grub_total_module_size): Likewise.
27676 Include grub/machine/kernel.h.
27677 (grub_arch_modules_addr): New function.
27678 * util/grub-emu.c (grub_end_addr): Remove variable.
27679 (grub_total_module_size): Likewise.
27680 (grub_arch_modules_addr): New function.
27681 * util/misc.c: Include unistd.h.
27682 (grub_util_get_fp_size): New function.
27683 (grub_util_read_at): Likewise.
27684 (grub_util_write_image_at): Likewise.
27685 (grub_util_read_image): Call grub_util_read_at.
27686 (grub_util_write_image): Call grub_util_write_image_at.
27687 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27688 additional memory in kernel_img for a struct grub_module_info.
27689 Fill in that grub_module_info.
27690 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27691
458786f8 276922005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27693
27694 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27695 New function.
27696 * include/grub/powerpc/ieee1275/ieee1275.h
27697 (grub_ieee1275_milliseconds): New prototype.
27698 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27699 Change to 1000.
27700 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27701 grub_ieee1275_milliseconds.
27702
ac507d1b 277032005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27704
27705 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27706 variable.
27707 (find_options): New function.
27708 (cmain): Call find_options.
27709 * include/grub/powerpc/ieee1275/ieee1275.h
27710 (grub_ieee1275_realmode): New extern variable.
27711 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27712 grub_map if grub_ieee1275_realmode is false.
27713
6b8fd1c4 277142004-12-29 Marco Gerards <metgerards@student.han.nl>
27715
27716 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27717 lines are inserted and make it work like readline. Reported by
27718 Vincent Pelletier <subdino2004@yahoo.fr>.
27719
8514a1e0 277202004-12-28 Marco Gerards <metgerards@student.han.nl>
27721
27722 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27723
27724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27725 `kern/powerpc/cache.S'.
27726
924b6140 277272004-12-27 Marco Gerards <metgerards@student.han.nl>
27728
27729 * genmk.rb: Handle the `Program' class in the main loop. Written
27730 by Johan Rydberg <jrydberg@gnu.org>.
27731 (Program): New class.
27732 (programs): New variable.
27733 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27734 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27735 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27736 (help_arch): Function removed.
27737 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27738 `powerpc/libgcc.h' and `loader.h'.
27739 (pkgdata_PROGRAMS): New variable.
27740 (sbin_UTILITIES): Variable removed.
27741 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27742 (grubof_SOURCES): Variable re-defined so it only includes the
27743 core functionality.
27744 (grubof_CFLAGS): Remove `-DGRUBOF'.
27745 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27746 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27747 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27748 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27749 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27750 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27751 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27752 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27753 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27754 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27755 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27756 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27757 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27758 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27759 (pc_mod_CFLAGS): New variables.
27760 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27761 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27762 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27763 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27764 Moved from here...
27765 * include/grub/i386/pc/init.h (grub_os_area_addr)
27766 (rub_os_area_size): ... to here.
27767 * include/grub/powerpc/ieee1275/ieee1275.h
27768 (grub_ieee1275_entry_fn): Export symbol.
27769 * include/grub/powerpc/ieee1275/init.h: New file.
27770 * include/grub/powerpc/libgcc.h: Likewise.
27771 * include/grub/cache.h: Likewise.
27772 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27773 <hollis@penguinppc.org>.
27774 * kern/dl.c: Include <grub/cache.h>.
27775 (grub_dl_flush_cache): New function.
27776 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27777 for this module.
27778 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27779 (grub_console_init): Removed prototypes.
27780 (grub_machine_init): Don't initialize the modules anymore.
27781 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27782 static.
27783 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27784 Macro undef removed.
27785 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27786 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27787 relocation `R_PPC_REL32'. Return an error when the relocation is
27788 unknown.
27789 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27790 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27791 * util/misc.c (grub_arch_sync_caches): Likewise.
27792
e4b47e0c 277932004-12-19 Marco Gerards <metgerards@student.han.nl>
27794
27795 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27796 `symlist.c', add `grubof_symlist.c'.
27797 (symlist.c): Variable removed.
27798 (grubof_HEADERS): Variable added.
27799 (grubof_symlist.c): New target.
27800 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27801 `kernel_img_HEADERS'.
27802 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27803 * kern/powerpc/dl.c: New file.
27804 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27805 Function removed.
27806 (grub_arch_dl_relocate_symbols): Likewise.
27807 (grub_register_exported_symbols): Likewise.
27808
4ceb3636 278092004-12-13 Marco Gerards <metgerards@student.han.nl>
27810
27811 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27812 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27813 to fail instead. Reported by Vincent Pelletier
27814 <subdino2004@yahoo.fr>.
27815
27816 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27817 it is not allocated. Reported by Vincent Pelletier
27818 <subdino2004@yahoo.fr>.
27819
27820 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27821 output so the output looks better.
f19dbdb7 27822
3f1578fe 278232004-12-04 Marco Gerards <metgerards@student.han.nl>
27824
27825 Modulize the partition map support and add support for the amiga
27826 partition map.
f19dbdb7 27827
3f1578fe 27828 * commands/ls.c: Include <grub/partition.h> instead of
27829 <grub/machine/partition.h>.
27830 * kern/disk.c: Likewise.
27831 * kern/rescue.c: Likewise.
27832 * loader/i386/pc/chainloader.c: Likewise.
27833 * normal/cmdline.c: Likewise.
27834 * kern/powerpc/ieee1275/init.c: Likewise.
27835 (grub_machine_init): Call `grub_pc_partition_map_init',
27836 `grub_amiga_partition_map_init' and
27837 `grub_apple_partition_map_init'.
27838 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27839 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27840 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27841 `partition.h' and `pc_partition.h'.
27842 (grub_setup_SOURCES): Remove
27843 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27844 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27845 (grub_emu_SOURCES): Likewise.
27846 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27847 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27848 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27850 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27851 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27852 (grubof_SOURCES): Likewise.
27853 * disk/i386/pc/partition.c: File removed.
27854 * disk/powerpc/ieee1275/partition.c: Likewise.
27855 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27856 * include/grub/i386/pc/partition.h: Likewise.
27857 * kern/partition.c: New file.
27858 * partmap/amiga.c: Likewise.
27859 * partmap/apple.c: Likewise.
27860 * partmap/pc.c: Likewise.
27861 * include/grub/partition.h: Likewise..
27862 * include/grub/pc_partition.h: Likewise.
27863 * util/grub-emu.c: Include <grub/partition.h> instead of
27864 <grub/machine/partition.h>.
27865 (main): Call `grub_pc_partition_map_init',
27866 `grub_amiga_partition_map_init' and
27867 `grub_apple_partition_map_init' and deinitialize afterwards.
27868 * util/i386/pc/biosdisk.c: Include `#include
27869 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27870 `<grub/machine/partition.h>'.
27871 * util/i386/pc/grub-setup.c: Likewise.
27872 * util/i386/pc/biosdisk.c: Likewise.
27873 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27874 partition information in case of a PC partition.
27875 * util/i386/pc/grub-setup.c: Include `#include
27876 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27877 `<grub/machine/partition.h>'.
27878 (setup): Only access the PC specific partition information in case
27879 of a PC partition.
27880
0ef4ced9 278812004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 27882
0ef4ced9 27883 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27884 (grub_longjmp): Likewise.
27885 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27886 20.
27887 * normal/powerpc/setjmp.S: New file.
27888 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27889 `normal/powerpc/setjmp.S'.
27890 (grubof_CFLAGS): Add `-DGRUBOF'.
27891 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27892 [GRUB_UTIL && !GRUBOF].
f19dbdb7 27893
19950e29 278942004-11-16 Marco Gerards <metgerards@student.han.nl>
27895
27896 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27897 property named `name'. Correctly handle the error returned by
27898 `grub_ieee1275_finddevice' if a device can not be opened.
27899
a2fea427 279002004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27901
27902 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27903 `actual' for negativity.
27904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27905 kern/fshelp.c.
27906
41ea0ea3 279072004-11-01 Marco Gerards <metgerards@student.han.nl>
27908
27909 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27910 (PAGE_OFFSET): New macro.
27911 (CRTC_ADDR_PORT): Likewise.
27912 (CRTC_DATA_PORT): Likewise.
27913 (START_ADDR_HIGH_REGISTER): Likewise.
27914 (START_ADDR_LOW_REGISTER): Likewise.
27915 (GRAPHICS_ADDR_PORT): Likewise.
27916 (GRAPHICS_DATA_PORT): Likewise.
27917 (READ_MAP_REGISTER): Likewise.
27918 (INPUT_STATUS1_REGISTER): Likewise.
27919 (INPUT_STATUS1_VERTR_BIT): Likewise.
27920 (page): New variable.
27921 (wait_vretrace): New function.
27922 (set_read_map): Likewise.
27923 (set_start_address): Likewise.
27924 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27925 the right page.
27926 (check_vga_mem): Take the page into account.
27927 (write_char): Likewise.
27928 (write_cursor): Likewise.
27929 (scroll_up): Likewise. Copy the page to the page that is not
27930 shown and switch between both pages.
27931 (grub_vga_putchar): Fix off by one error.
27932 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27933 account.
27934
ad0bd20b 279352004-11-01 Marco Gerards <metgerards@student.han.nl>
27936
27937 Add support for iso9660 (including rockridge).
f19dbdb7 27938
ad0bd20b 27939 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27940 (iso9660_mod_SOURCES): New variable.
27941 (iso9660_mod_CFLAGS): Likewise.
27942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27943 * include/grub/fs.h (grub_iso9660_init): New prototype.
27944 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27945 * fs/iso9660.c: New file.
27946
27947 * include/grub/misc.h (grub_strncat): New prototype.
27948 * kern/misc.c (grub_strncat): New function.
f19dbdb7 27949
ad0bd20b 27950 * fs/hfs.c (grub_hfs_mount): Translate the error
27951 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27952 * fs/jfs.c (grub_jfs_mount): Likewise.
27953 * fs/ufs.c (grub_ufs_mount): Likewise.
27954
a5477a59 279552004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27956
27957 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27958 which initialized BAT registers.
27959 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27960 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27961 Move from here...
27962 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27963 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27964 ... to here.
27965 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27966 (grub_mapclaim): Likewise.
27967 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27968 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27969 hand.
27970
9304c1f8 279712004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27972
27973 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27974 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27975 -ffreestanding and -msoft-float.
27976
86f4ae25 279772004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27978
27979 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27980 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27981 set in grub_ieee1275_flags.
27982
38912228 279832004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27984
27985 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27986 prototype.
27987 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27988 grub_console_init first.
27989 Change the memory range used for grub_ieee1275_claim and
27990 grub_mm_init_region.
27991 Print an error message if the claim fails.
27992 Include <grub/misc.h>.
27993
d1923dc8 279942004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27995
27996 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27997 Call grub_children_iterate for device nodes of type `scsi',
27998 `ide', or `ata'.
27999 (grub_ofdisk_open): Remove manual device alias resolution.
28000 Fix memory leak when device cannot be opened.
f19dbdb7 28001 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 28002 (grub_children_iterate): New prototype.
28003 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
28004 New function.
28005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28006 Return -1 if args.size was -1.
28007
4512e4f3 280082004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28009
28010 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
28011 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
28012 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
28013 Open Firmware's memory for it; claim memory from _start to _end.
28014 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
28015 (_end): New extern.
28016 (_start): Zero BSS from __bss_start to _end.
28017 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28018 New extern.
28019 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
28020
4d61feb0 280212004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28022
ad0bd20b 28023 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
28024 -1 if args.base was -1.
4d61feb0 28025
026fa2f9 280262004-10-08 Hollis Blanchard <hollis@penguinppc.org>
28027
28028 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
28029 escape sequence instead of a literal ^L. Also call
28030 grub_ofconsole_gotoxy.
28031
9f2220ef 280322004-10-03 Hollis Blanchard <hollis@penguinppc.org>
28033
28034 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
28035 void * arguments to grub_addr_t. All callers updated. Also make
28036 the `result' argument optional.
28037 (grub_ieee1275_release): change void * arguments to grub_addr_t.
28038 All callers updated.
28039
8a572cd7 280402004-09-22 Hollis Blanchard <hollis@penguinppc.org>
28041
28042 * commands/ls.c (grub_ls_list_files): Use the string following the
28043 initial ')', if present, as the filesystem path.
28044 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
28045
28046 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
28047
18aa81f2 280482004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
28049
28050 Make the source code of the menu interface more readable.
f19dbdb7 28051
18aa81f2 28052 * normal/menu.c: Include grub/mm.h.
28053 (TERM_WIDTH): New macro.
28054 (TERM_HEIGHT): Likewise.
28055 (TERM_INFO_HEIGHT): Likewise.
28056 (TERM_MARGIN): Likewise.
28057 (TERM_SCROLL_WIDTH): Likewise.
28058 (TERM_TOP_BORDER_Y): Likewise.
28059 (TERM_LEFT_BORDER_X): Likewise.
28060 (TERM_BORDER_WIDTH): Likewise.
28061 (TERM_MESSAGE_HEIGHT): Likewise.
28062 (TERM_BORDER_HEIGHT): Likewise.
28063 (TERM_NUM_ENTRIES): Likewise.
28064 (TERM_FIRST_ENTRY_Y): Likewise.
28065 (TERM_ENTRY_WIDTH): Likewise.
28066 (TERM_CURSOR_X): Likewise.
28067 (draw_border): Use macros instead of magic numbers.
28068 (print_entry): Likewise.
28069 (print_entries): Likewise.
28070 (run_menu): Likewise. Also, handle the key 'e'.
28071 (run_menu_entry): Ignore empty command lines.
28072 (print_message): Added a new argument EDIT. If EDIT is true,
28073 print a different message.
28074 (init_page): Likewise.
28075 (edit_menu_entry): New function. Not implemented yet.
28076
b47efe30 280772004-09-17 Marco Gerards <metgerards@student.han.nl>
28078
28079 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
28080 can be loaded from normal mode.
f19dbdb7 28081
b47efe30 28082 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
28083 `multiboot.mod'.
28084 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
28085 (multiboot_mod_CFLAGS): New variables.
28086 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 28087 * loader/i386/pc/multiboot_normal.c: Likewise.
28088
b47efe30 28089 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
28090 attribute `unused'.
f19dbdb7 28091
b47efe30 28092 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
28093 `fdiro' to read the mode information from instead of `diro'.
28094
28095 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
28096 looking up a symlink.
28097
28098 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
28099 macro.
28100 * normal/command.c (grub_command_execute): Don't parse the
28101 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
28102 flags of the command.
28103
28104 * normal/menu.c (grub_menu_run): Fix typo.
28105
da75ac71 281062004-09-14 Hollis Blanchard <hollis@penguinppc.org>
28107
28108 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
28109
28110 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
28111 `y + 1' instead of `y - 1'.
28112
28113 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 28114
062b24c2 281152004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
28116
28117 From Hollis Blanchard <hollis@penguinppc.org>:
28118 * kern/misc.c (memmove): New alias for grub_memmove.
28119 (memcmp): New alias for grub_memcmp.
28120 (memset): New alias for grub_memset.
f19dbdb7 28121 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 28122 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 28123 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 28124 (grub_ieee1275_get_property): Likewise.
f19dbdb7 28125
8ddad845 281262004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
28127
28128 Added normal mode command `chainloader' as module chain.mod, which
28129 depends on normal.mod and _chain.mod.
f19dbdb7 28130
8ddad845 28131 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
28132 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
28133 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
28134 Deleted prototype.
28135 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
28136 but arguments parsing moved to ...
28137 (grub_chainloader_cmd): ... here. New function.
28138 * include/grub/i386/pc/chainloader.h: New file.
28139 * loader/i386/pc/chainloader_normal.c: Likewise.
28140
2c1f4ce3 281412004-09-11 Marco Gerards <metgerards@student.han.nl>
28142
28143 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
28144 (grub_mkimage_LDFLAGS): Likewise.
28145 (grub_emu_SOURCES): Likewise.
28146 (kernel_img_HEADERS): Added fshelp.h.
28147 * fs/ext2.c: Include <grub/fshelp.h>.
28148 (FILETYPE_REG): New macro.
28149 (FILETYPE_INO_REG): Likewise.
28150 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
28151 Changed all users.
28152 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
28153 all users.
28154 (grub_fshelp_node): New struct.
28155 (grub_ext2_data): Added member `diropen'. Changed member `inode'
28156 to a pointer.
28157 (grub_ext2_get_file_block): Removed function.
28158 (grub_ext2_read_block): New function.
28159 (grub_ext2_read_file): Replaced parameter `data' by `node'.
28160 This function was written.
28161 (grub_ext2_mount): Read the root inode. Create a diropen struct.
28162 (grub_ext2_find_file): Removed function.
28163 (grub_ext2_read_symlink): New function.
28164 (grub_ext2_iterate_dir): Likewise.
28165 (grub_ext2_open): Rewritten.
28166 (grub_ext2_dir): Rewritten.
28167 * include/grub/fshelp.h: New file.
28168 * fs/fshelp.c: Likewise.
28169
3c52136a 281702004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
28171
28172 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
28173 (print_message): Add a missing newline.
28174 (run_menu): Added timeout support.
28175 (run_menu_entry): New local function.
28176 (grub_menu_run): Added support for booting.
28177
28178 * kern/loader.c (grub_loader_is_loaded): New function.
28179
28180 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
28181 (grub_get_rtc): Exported.
28182
28183 * include/grub/i386/pc/time.h: Include grub/symbol.h.
28184 (grub_get_rtc): Exported.
28185
28186 * include/grub/normal.h (struct grub_command_list): Remove
28187 constant from the member `command'.
28188
28189 * include/grub/loader.h (grub_loader_is_loaded): Declared.
28190
28191 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
28192
28193 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
28194
aa033560 281952004-08-28 Marco Gerards <metgerards@student.han.nl>
28196
28197 Add support for the JFS filesystem.
28198
28199 * fs/jfs.c: New file.
28200 * include/grub/fs.h (grub_jfs_init): New prototype.
28201 (grub_jfs_fini): New prototype.
28202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
28203 (grub_emu_SOURCES): Likewise.
28204 (pkgdata_MODULES): Add jfs.mod.
28205 (jfs_mod_SOURCES): New variable.
28206 (jfs_mod_CFLAGS): Likewise.
28207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
28208 (grubof_SOURCES): Likewise.
28209 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
28210
28211 * fs/fat.c (grub_fat_find_dir): Convert the filename little
28212 endian to the host endian.
28213 (grub_fat_utf16_to_utf8): Move function from there...
28214 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 28215 the endianness of the source string anymore.
aa033560 28216 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
28217
94bc45af 282182004-08-24 Marco Gerards <metgerards@student.han.nl>
28219
28220 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
28221 (grub_boot_fini) [GRUB_UTIL]: Likewise.
28222 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
28223 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 28224
94bc45af 28225 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
28226 (grub_hfs_iterate_dir): Make the function static. Add prototypes
28227 for `node_found' and `it_dir'.
28228 (grub_hfs_dir): Add prototype for `dir_hook'.
28229
28230 * fs/minix.c (grub_minix_get_file_block): Add prototype for
28231 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
28232 and `indir32' to silence a gcc warning.
28233
28234 * include/grub/fs.h (grub_hfs_init): New prototype.
28235 (grub_hfs_fini): Likewise.
f19dbdb7 28236
28237
97543f08 282382004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
28239
28240 Each disk device has its own id now. This is useful to make use
28241 of multiple disk devices.
f19dbdb7 28242
97543f08 28243 * include/grub/disk.h (grub_disk_dev_id): New enum.
28244 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
28245 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
28246
28247 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
28248 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28249
28250 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
28251 GRUB_DISK_DEVICE_OFDISK_ID as an id.
28252
28253 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
28254 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28255
28256 * include/grub/disk.h (struct grub_disk_dev): Added a new member
28257 "id" which is used by the cache manager.
28258
28259 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
28260 of just "GRUB".
28261
64372eb4 282622004-08-18 Marco Gerards <metgerards@student.han.nl>
28263
28264 * fs/hfs.c: New file.
28265 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
28266 (grub_emu_SOURCES): Likewise.
28267 (pkgdata_MODULES): Add hfs.mod.
28268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
28269 (grubof_SOURCES): Likewise.
28270 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
28271
28272 * include/grub/misc.h (grub_strncasecmp): Add prototype.
28273 * kern/misc.c (grub_strncasecmp): Add function.
28274
cc61b58f 282752004-08-14 Marco Gerards <metgerards@student.han.nl>
28276
28277 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28278 with parentheses.
28279
28280 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28281 (grub_ext2_dir): In case the directory entry type is unknown, read
28282 it from the inode.
28283
0ef123f6 282842004-08-02 Peter Bruin <pjbruin@dds.nl>
28285
28286 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28287 grub_load_linux instead of grub_rescue_cmd_linux as second
28288 argument of grub_rescue_register_command.
28289
28290 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28291
a447c5df 282922004-07-27 Marco Gerards <metgerards@student.han.nl>
28293
28294 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28295 function.
28296 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28297 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28298 `loader/powerpc/ieee1275/linux.c',
28299 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28300 * include/grub/powerpc/ieee1275/ieee1275.h
28301 (grub_ieee1275_release): New prototype.
28302 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28303 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28304 normal, boot, linux and linux_normal.
28305 * loader/powerpc/ieee1275/linux.c: New file.
28306 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28307
5a9e3546 283082004-07-12 Marco Gerards <metgerards@student.han.nl>
28309
28310 * normal/arg.c (grub_arg_parse): Correct error handling after
28311 reallocating the argumentlist (check if `argl' is not null instead
28312 of checking if `args' is not null).
28313 * kern/mm.c (grub_realloc): Return the same pointer when using the
28314 same region, instead of returning the header address.
28315
e15199cb 283162004-07-11 Marco Gerards <metgerards@student.han.nl>
28317
28318 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28319 one block instead of two when looking for the initial partition.
28320 (grub_partition_probe): Initialize the local variable `p' with 0.
28321 Use base 10 for the grub_strtoul call.
28322 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28323 need for one local variable.
28324 (grub_strtoul): Don't add the new value to `num', instead of that
28325 just assign it.
28326
020616c2 283272004-07-11 Marco Gerards <metgerards@student.han.nl>
28328
28329 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28330 (pxeboot_img_SOURCES): New variable.
28331 (pxeboot_img_ASFLAGS): Likewise.
28332 (pxeboot_img_LDFLAGS): Likewise.
28333 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28334 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28335 <lode_leroy@hotmail.com>.
28336
6c51eb64 283372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28338
28339 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28340 there was no input.
28341
cfb12aff 283422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28343
28344 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28345 the history buffer logic.
28346
6eabba74 283472004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28348
28349 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28350 (FILETYPE_INO_SYMLINK): New macros.
28351 (grub_ext2_find_file): Check if the node is a directory using the
28352 inode stat information instead of using the filetype in the
28353 dirent. Exclude the first character of an absolute symlink.
28354 (grub_ext2_dir): Mask out the filetype part of the mode member of
28355 the inode.
28356
66e19ef8 283572004-05-24 Marco Gerards <metgerards@student.han.nl>
28358
28359 Add support for UFS version 1 and 2. Add support for the minix
28360 filesystem version 1 and 2, both the variants with 14 and 30 long
28361 filenames.
f19dbdb7 28362
66e19ef8 28363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28364 fs/minix.c.
28365 (grub_emu_SOURCES): Likewise.
28366 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28367 (ufs_mod_SOURCES): New variable.
28368 (ufs_mod_CFLAGS): Likewise.
28369 (minix_mod_SOURCES): Likewise.
28370 (minix_mod_CFLAGS): Likewise.
28371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28372 fs/minix.c.
28373 (grubof_SOURCES): Likewise.
28374 * fs/ufs.c: New file.
28375 * fs/minix.c: New file.
28376 * include/grub/fs.h (grub_ufs_init): New prototype.
28377 (grub_ufs_fini): Likewise.
28378 (grub_minix_init): Likewise.
28379 (grub_minix_fini): Likewise.
28380 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28381 minix fs.
28382
cc2e748a 283832004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28384
28385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28386 commands/ls.c, commands/terminal.c, commands/boot.c,
28387 commands/cmp.c and commands/cat.c.
28388 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28389
28390 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28391 "env.h"
28392
4b13b216 283932004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28394
28395 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28396 and grub_, respectively. Because the conversion is trivial and
28397 mechanical, I omit the details here. Please refer to the CVS
28398 if you need more information.
28399
6a142551 284002004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28401
28402 * include/pupa: Renamed to ...
28403 * include/grub: ... this.
28404 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28405 * util/i386/pc/grub-mkimage.c: ... this.
28406 * util/i386/pc/pupa-setup.c: Renamed to ...
28407 * util/i386/pc/grub-setup.c: ... this.
28408 * util/pupa-emu.c: Renamed to ...
28409 * util/grub-emu.c: ... this.
28410
e56cdf21 284112004-03-29 Marco Gerards <metgerards@student.han.nl>
28412
28413 Add support for the newworld apple macintosh (PPC). This has been
28414 tested on the powerbook 2000 only. It only adds support for
28415 generic ieee1275 functions, console and disk support. This should
28416 be easy to port to other architectures with support for Open
28417 Firmware.
f19dbdb7 28418
e56cdf21 28419 * configure.ac: Accept the powerpc as host_cpu. In the case of
28420 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28421 specific tests are only executed while building for the i386.
28422 Inverse test for crosscompile.
28423 * genmk.rb (Utility): Allow assembler files.
28424 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28425 * conf/powerpc-ieee1275.rmk: New file.
28426 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28427 * disk/powerpc/ieee1275/partition.c: Likewise.
28428 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28429 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28430 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28431 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28432 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28433 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28434 * include/pupa/powerpc/ieee1275/loader.h
28435 * include/pupa/powerpc/setjmp.h: Likewise.
28436 * include/pupa/powerpc/types.h: Likewise.
28437 * kern/powerpc/ieee1275/init.c: Likewise.
28438 * kern/powerpc/ieee1275/openfw.c: Likewise.
28439 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28440
28441 These files were written by Johan Rydberg
28442 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 28443
e56cdf21 28444 * boot/powerpc/ieee1275/cmain.c: New file.
28445 * boot/powerpc/ieee1275/crt0.S: Likewise.
28446 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28447 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28448
8c8cc205 284492004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28450
28451 * Makefile.in: Update copyright.
28452 * genmodsrc.sh: Likewise.
28453 * gensymlist.sh: Likewise.
28454 * term/i386/pc/vga.c: Indent correctly.
28455
28456 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28457 bugreporting address.
28458 * util/i386/pc/pupa-setup.c (usage): Likewise,
28459 (main): Call pupa_ext2_init and pupa_ext2_fini.
28460
f19dbdb7 28461 * fs/fat.c (log2): Renamed to ...
8c8cc205 28462 (fat_log2): ... this.
28463 All callers changed.
28464 * kern/misc.c (memcpy): Alias to pupa_memmove.
28465 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28466 lvalue cast.
28467 * util/console.c (pupa_ncurses_fini): Return 0.
28468
28469 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28470 Move fail label here.
28471 [__GNU__]: Don't warn when using stat.
28472 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28473 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28474 long int. Use strtol instead of strtoul.
f19dbdb7 28475
db1771cf 284762004-03-14 Marco Gerards <metgerards@student.han.nl>
28477
28478 * commands/boot.c: New file.
28479 * commands/cat.c: Likewise.
28480 * commands/cmp.c: Likewise.
28481 * commands/ls.c: Likewise.
28482 * commands/terminal.c: Likewise.
28483 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28484 (pupa_register_command): Changed interface to match the new
28485 argument parser.
28486 (pupa_command_execute): Changed (almost rewritten) so it uses
28487 pupa_split_command. Added support for setting variables using the
28488 syntax `foo=bar'.
28489 (rescue_command): Changed to work with the new argument parser.
28490 (terminal_command): Moved from here to commands/terminal.c.
28491 (set_command): New function.
28492 (unset_command): New function.
28493 (insmod_command): New function.
28494 (rmmod_command): New function.
28495 (lsmod_command): New function.
28496 (pupa_command_init): Don't initialize the command terminal
28497 anymore. Initialize the commands set, unset, insmod, rmmod and
28498 lsmod.
28499 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28500 (kernel_img_HEADERS): Add arg.h and env.h.
28501 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28502 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28503 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28504 normal/arg.c.
28505 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28506 terminal.mod.
28507 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28508 (boot_mod_SOURCES): New variable.
28509 (terminal_mod_SOURCES): Likewise.
28510 (ls_mod_SOURCES): Likewise.
28511 (cmp_mod_SOURCES): Likewise.
28512 (cat_mod_SOURCES): Likewise.
28513
28514 * normal/arg.c: New file.
28515 * kern/env.c: Likewise.
28516 * include/pupa/arg.h: Likewise.
28517 * include/pupa/env.h: Likewise.
28518 * font/manager.c (font_command): Changed to match argument parsing
28519 interface changes.
28520 (PUPA_MOD_INIT): Likewise.
28521 * hello/hello.c (pupa_cmd_hello): Likewise.
28522 (PUPA_MOD_INIT): Likewise.
28523 * include/pupa/disk.h: Include <pupa/device.h>.
28524 (pupa_print_partinfo): New prototype.
28525 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28526 (pupa_dl_get_prefix): Likewise.
28527 * include/pupa/misc.h: Include <pupa/err.h>.
28528 (pupa_isgraph): New prototype.
28529 (pupa_isdigit): Likewise.
28530 (pupa_split_cmdline): Likewise.
28531 * include/pupa/normal.h: Include <pupa/arg.h>.
28532 (pupa_command): Changed the prototype of the member `func' to
28533 match the argument parsing interface. Added member `options'.
28534 (pupa_register_command): Updated to match function.
28535 (pupa_arg_parse): New prototype.
28536 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28537 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28538 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28539 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28540 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28541 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28542 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28543 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28544 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28545 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28546 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28547 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28548 * kern/disk.c: Include <pupa/file.h>.
28549 (pupa_print_partinfo): New function.
28550 * kern/dl.c: Include <pupa/env.h>.
28551 (pupa_dl_dir): Variable removed.
28552 (pupa_dl_load): Use the environment variable `prefix' instead of
28553 the variable pupa_dl_dir.
28554 (pupa_dl_set_prefix): Function removed.
28555 (pupa_dl_get_prefix): Likewise.
28556 * kern/i386/pc/init.c: Include <pupa/env.h>.
28557 (pupa_machine_init): Use the environment variable `prefix' instead of
28558 using pupa_dl_set_prefix to set the prefix.
28559 * kern/main.c: Include <pupa/env.h>.
28560 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28561 using pupa_dl_get_prefix to get the prefix.
28562 * kern/misc.c: Include <pupa/env.h>.
28563 (pupa_isdigit): New function.
28564 (pupa_isgraph): Likewise.
28565 (pupa_ftoa): Likewise.
28566 (pupa_vsprintf): Added support for printing values of the type
28567 `double'. Make it possible to format variable output when using
28568 formatting like `%1.2%f'.
28569 (pupa_split_cmdline): New function.
28570 * kern/rescue.c: Include <pupa/env.h>.
28571 (next_word): Removed function.
28572 (pupa_rescue_cmd_prefix): Likewise.
28573 (pupa_rescue_cmd_set): New function.
28574 (pupa_rescue_cmd_unset): New function.
28575 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28576 split the command line instead of splitting it here. Added
28577 support for setting variables using the syntax `foo=bar'. Don't
28578 initialize the prefix command anymore. Initialized the set and
28579 unset commands.
28580 * normal/cmdline.c: Include <pupa/env.h>.
28581 (pupa_tab_complete): Added prototypes for print_simple_completion,
28582 print_partition_completion, add_completion, iterate_commands,
28583 iterate_dev, iterate_part and iterate_dir. Moved code to print
28584 partition information from here to kern/disk.c.
fe6b695a 28585 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 28586 * normal/main.c: Include <pupa/env.h>.
28587 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28588 instead of using pupa_dl_get_prefix to get the prefix.
28589 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28590 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28591 warning.
28592 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28593 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28594 ((unused))' to silence a gcc warning.
28595 (pupa_vga_setcolor): Likewise.
28596 (debug_command): Changed to match argument parsing
28597 interface changes.
28598 * util/pupa-emu.c: Include <pupa/env.h>.
28599 (options): Added 0's for unused fields to silence a gcc warning.
28600 (argp): Likewise.
28601 (main): Use the environment variable `prefix' instead of using
28602 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28603 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28604 and terminal.
28605
28606 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28607 * util/misc.c: Include <malloc.h>.
28608 (pupa_malloc): Rewritten so errors are correctly reported.
28609 (pupa_realloc): Likewise.
28610 (pupa_memalign): Likewise.
28611 (pupa_mm_init_region): Declare unused variables with
28612 `__attribute__ ((unused))' to silence a gcc warning.
28613 * normal/i386/setjmp.S: Remove tab at the end of the file to
28614 silence a gcc warning.
28615 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28616 variables with `__attribute__ ((unused))' to silence a gcc
28617 warning.
28618 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28619 local variable i unsigned to silence a gcc warning.
28620
28621 * kern/term.c: Include <pupa/misc.h>.
28622 (pupa_more_lines): New variable.
28623 (pupa_more): Likewise.
28624 (pupa_putcode): When the pager is active pause at the end of every
28625 screen.
28626 (pupa_set_more): New function.
28627 * include/pupa/term.h (pupa_set_more): New prototype.
28628
28629
3b1139cb 286302004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28631
28632 Now this project is GRUB 2 rather than PUPA. The location of
28633 the CVS repository was moved to GRUB's.
f19dbdb7 28634
3b1139cb 28635 * configure.ac: Use bug-grub as the reporting address.
28636 Use GRUB instead of PUPA.
28637 Change the version number to 1.90.
28638
8367695c 286392004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28640
28641 * genkernsyms.sh: Updated copyright information.
28642 * genmk.rb: Likewise.
28643 * genmodsrc.sh: Likewise.
28644 * gensymlist.sh: Likewise.
28645 * boot/i386/pc/boot.S: Likewise.
28646 * boot/i386/pc/diskboot.S: Likewise.
28647 * disk/i386/pc/biosdisk.c: Likewise.
28648 * disk/i386/pc/partition.c: Likewise.
28649 * font/manager.c: Likewise.
28650 * fs/ext2.c: Likewise.
28651 * fs/fat.c: Likewise.
28652 * include/pupa/boot.h: Likewise.
28653 * include/pupa/device.h: Likewise.
28654 * include/pupa/disk.h: Likewise.
28655 * include/pupa/dl.h: Likewise.
28656 * include/pupa/elf.h: Likewise.
28657 * include/pupa/err.h: Likewise.
28658 * include/pupa/file.h: Likewise.
28659 * include/pupa/font.h: Likewise.
28660 * include/pupa/fs.h: Likewise.
28661 * include/pupa/kernel.h: Likewise.
28662 * include/pupa/loader.h: Likewise.
28663 * include/pupa/misc.h: Likewise.
28664 * include/pupa/mm.h: Likewise.
28665 * include/pupa/net.h: Likewise.
28666 * include/pupa/normal.h: Likewise.
28667 * include/pupa/rescue.h: Likewise.
28668 * include/pupa/setjmp.h: Likewise.
28669 * include/pupa/symbol.h: Likewise.
28670 * include/pupa/term.h: Likewise.
28671 * include/pupa/types.h: Likewise.
28672 * include/pupa/i386/setjmp.h: Likewise.
28673 * include/pupa/i386/types.h: Likewise.
28674 * include/pupa/i386/pc/biosdisk.h: Likewise.
28675 * include/pupa/i386/pc/boot.h: Likewise.
28676 * include/pupa/i386/pc/console.h: Likewise.
28677 * include/pupa/i386/pc/init.h: Likewise.
28678 * include/pupa/i386/pc/kernel.h: Likewise.
28679 * include/pupa/i386/pc/linux.h: Likewise.
28680 * include/pupa/i386/pc/loader.h: Likewise.
28681 * include/pupa/i386/pc/memory.h: Likewise.
28682 * include/pupa/i386/pc/multiboot.h: Likewise.
28683 * include/pupa/i386/pc/partition.h: Likewise.
28684 * include/pupa/i386/pc/time.h: Likewise.
28685 * include/pupa/i386/pc/vga.h: Likewise.
28686 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28687 * include/pupa/util/getroot.h: Likewise.
28688 * include/pupa/util/misc.h: Likewise.
28689 * include/pupa/util/resolve.h: Likewise.
28690 * kern/device.c: Likewise.
28691 * kern/disk.c: Likewise.
28692 * kern/dl.c: Likewise.
28693 * kern/err.c: Likewise.
28694 * kern/file.c: Likewise.
28695 * kern/fs.c: Likewise.
28696 * kern/loader.c: Likewise.
28697 * kern/main.c: Likewise.
28698 * kern/misc.c: Likewise.
28699 * kern/mm.c: Likewise.
28700 * kern/rescue.c: Likewise.
28701 * kern/term.c: Likewise.
28702 * kern/i386/dl.c: Likewise.
28703 * kern/i386/pc/init.c: Likewise.
28704 * kern/i386/pc/lzo1x.S: Likewise.
28705 * kern/i386/pc/startup.S: Likewise.
28706 * loader/i386/pc/chainloader.c: Likewise.
28707 * loader/i386/pc/linux.c: Likewise.
28708 * loader/i386/pc/multiboot.c: Likewise.
28709 * normal/cmdline.c: Likewise.
28710 * normal/command.c: Likewise.
28711 * normal/main.c: Likewise.
28712 * normal/menu.c: Likewise.
28713 * normal/i386/setjmp.S: Likewise.
28714 * term/i386/pc/console.c: Likewise.
28715 * term/i386/pc/vga.c: Likewise.
28716 * util/console.c: Likewise.
28717 * util/genmoddep.c: Likewise.
28718 * util/misc.c: Likewise.
28719 * util/pupa-emu.c: Likewise.
28720 * util/resolve.c: Likewise.
28721 * util/unifont2pff.rb: Likewise.
28722 * util/i386/pc/biosdisk.c: Likewise.
28723 * util/i386/pc/getroot.c: Likewise.
28724 * util/i386/pc/pupa-mkimage.c: Likewise.
28725 * util/i386/pc/pupa-setup.c: Likewise.
28726
e6eced71 287272004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28728
28729 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28730 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28731 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28732 reading and reset it after reading.
28733 (pupa_ext2_close): Return PUPA_ERR_NONE.
28734
28735 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28736 Correct value.
28737 (struct linux_kernel_header): Add kernel_version and
28738 initrd_addr_max.
28739 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28740 pupa_file_read succeeds.
28741 (pupa_rescue_cmd_initrd): Implement.
28742
5aded270 287432003-12-03 Marco Gerards <metgerards@student.han.nl>
28744
28745 * fs/ext2.c (pupa_ext2_label): New function.
28746 (pupa_ext2_fs): Added label.
28747 * fs/fat.c (pupa_fat_label): New function.
28748 (pupa_fat_fs): Added label.
28749 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28750
28751 * kern/misc.c (pupa_strndup): New function.
28752 * include/pupa/misc.h (pupa_strndup): New prototype.
28753
28754 * include/pupa/normal.h: Include <pupa/err.h>.
28755 (pupa_set_history): New prototype.
28756 (pupa_iterate_commands): New prototype.
28757 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28758 <pupa/disk.h>, <pupa/file.h>.
28759 (hist_size): New variable.
28760 (hist_lines): Likewise.
28761 (hist_end): Likewise.
28762 (hist_used): Likewise.
28763 (pupa_set_history): New function.
28764 (pupa_history_get): Likewise.
28765 (pupa_history_add): Likewise.
28766 (pupa_history_replace): Likewise.
28767 (pupa_tab_complete): Likewise.
28768 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28769 completion shows partitionnames while completing partitions, this
28770 feature was suggested by Jeff Bailey.
28771 * normal/command.c (pupa_iterate_commands): New function.
28772 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28773 (pupa_normal_init): Initialize history buffer.
28774 (PUPA_MOD_INIT): Likewise.
28775 (pupa_normal_fini): Free the history buffer.
28776 (PUPA_MOD_FINI): Likewise.
28777
28778 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28779 key.
28780
28781 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28782 * configure.ac [i386]: Check for regparam bug.
28783 (NESTED_FUNC_ATTR) [! i386]: Defined.
28784
1f7315a3 287852003-11-17 Marco Gerards <metgerards@student.han.nl>
28786
28787 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28788 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28789 (pupa_emu_SOURCES): New variable.
28790 (pupa_emu_LDFLAGS): Likewise.
28791 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28792 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28793 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28794 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28795 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28796 (pupa_jmp_buf): New typedef.
28797 (pupa_setjmp) [PUPA_UTIL]: New macro.
28798 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28799 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28800 (pupa_refresh): New prototype.
28801 * include/pupa/util/getroot.h: New file.
28802 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28803 it.
28804 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28805 (pupa_rescue_cmd_cat): Likewise.
28806 (pupa_rescue_cmd_ls): Likewise.
28807 (pupa_rescue_cmd_testload): Likewise.
28808 (pupa_rescue_cmd_lsmod): Likewise.
28809 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28810 * normal/menu.c (run_menu): Likewise.
28811 * kern/term.c (pupa_cls): Likewise.
28812 (pupa_refresh): New function.
28813 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28814 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28815 * util/console.c: New file.
f19dbdb7 28816
1f7315a3 28817 * util/i386/pc/getroot.c: New file.
28818 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28819 (pupa_putchar): New function.
28820 (pupa_refresh): Likewise.
28821 (xgetcwd): Function moved to ...
28822 (strip_extra_slashes): Likewise.
28823 (get_prefix): Likewise.
f19dbdb7 28824 * util/i386/pc/getroot.c: ... here.
1f7315a3 28825 (find_root_device): Function moved and renamed to...
28826 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28827 Changed all callers.
28828 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28829 and renamed to...
28830 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28831 Changed all callers.
28832 * util/misc.c (pupa_memalign): New function.
28833 (pupa_mm_init_region): Likewise.
28834 (pupa_register_exported_symbols): Likewise.
28835 (pupa_putchar): Function removed.
28836 * util/pupa-emu.c: New file.
28837
9a5c1ade 288382003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28839
28840 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28841 (_multiboot_mod_SOURCES): New variable.
28842 (_multiboot_mod_CFLAGS): Likewise.
28843 * loader/i386/pc/multiboot.c: New file.
28844 * include/pupa/i386/pc/multiboot.h: Likewise.
28845 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28846 (pupa_multiboot_real_boot): New function.
28847 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28848 (pupa_multiboot_real_boot): New prototype.
28849 (pupa_rescue_cmd_multiboot): Likewise
28850 (pupa_rescue_cmd_module): Likewise.
28851
28852 * kern/loader.c (pupa_loader_set): Continue when
28853 pupa_loader_unload_func() fails.
28854 (pupa_loader_unset): New function.
28855 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28856
28857 * kern/misc.c (pupa_stpcpy): New function.
28858 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28859
8e72a9c0 288602003-11-12 Marco Gerards <metgerards@student.han.nl>
28861
28862 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28863 for available extensions.
28864
28865 * include/pupa/i386/pc/time.h: New file.
28866 * kern/disk.c: Include <pupa/machine/time.h>.
28867 (PUPA_CACHE_TIMEOUT): New macro.
28868 (pupa_last_time): New variable.
28869 (pupa_disk_open): Flush the cache when there was a timeout.
28870 (pupa_disk_close): Reset the timer.
28871 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28872 pupa_currticks.
28873 * util/misc.c: Include <sys/times.h>
28874 (pupa_get_rtc): New function.
28875
c4adbd32 288762003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28877
28878 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28879 as blocks.
28880 (pupa_ext2_get_file_block): Use blocks member.
28881
28882 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28883 first block. Return -1 instead of pupa_errno on error.
28884
bfd30f06 288852003-10-27 Marco Gerards <metgerards@student.han.nl>
28886
28887 * README: In the pupa-mkimage example use _chain instead of chain
28888 and ext2 instead of fat.
28889 * TODO: Replace ext2fs with jfs as an example. Add an item for
28890 adding journal playback for ext2fs.
28891 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28892 (pkgdata_MODULES): Added ext2.mod.
28893 (ext2_mod_SOURCES): New variable.
28894 (ext2_mod_CFLAGS): Likewise.
28895 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28896 * include/pupa/misc.h (pupa_strncpy): New prototype.
28897 (pupa_strcat): Likewise.
28898 (pupa_strncmp): Likewise.
28899 * kern/misc.c (pupa_strcat): Enable function.
28900 (pupa_strncpy): New function.
28901 (pupa_strncmp): Likewise.
28902 * fs/ext2.c: New file.
f19dbdb7 28903
bfd30f06 28904 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28905 when the read failed before retrying.
28906 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28907 (_FILE_OFFSET_BITS): Likewise.
28908 * configure.ac: Added AC_SYS_LARGEFILE.
28909
98d15063 289102003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28911
28912 * genmk.rb (PModule#rule): Make sure to get only symbol names
28913 from the output of nm.
59cad637 28914 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 28915
18d9c7cd 289162003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28917
28918 I forgot to check in these changes for a long time. This adds
28919 incomplete support for VGA console, and this is still very
28920 buggy. Also, a lot of consideration is required for I18N,
28921 UNICODE, and VGA font issues. Therefore, assume that this is
28922 such that "better than nothing".
f19dbdb7 28923
18d9c7cd 28924 * font/manager.c: New file.
28925 * include/pupa/font.h: Likewise.
28926 * include/pupa/i386/pc/vga.h: Likewise.
28927 * term/i386/pc/vga.c: Likewise.
28928 * util/unifont2pff.rb: Likewise.
28929
28930 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28931 (pkgdata_MODULES): Added vga.mod and font.mod.
28932 (vga_mod_SOURCES): New variables.
28933 (vga_mod_CFLAGS): Likewise.
28934 (font_mod_SOURCES): Likewise.
28935 (font_mod_CFLAGS): Likewise.
28936
28937 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28938
28939 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 28940 (struct pupa_term): Added init and fini.
18d9c7cd 28941 Changed the argument of putchar to pupa_uint32_t.
28942
28943 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28944 (pupa_console_real_putchar): New prototype.
28945 (pupa_console_putchar): Removed.
28946 (pupa_console_checkkey): Exported.
28947 (pupa_console_getkey): Likewise.
28948
28949 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28950 characters.
28951
28952 * kern/term.c (pupa_term_set_current): Rewritten.
28953 (pupa_putchar): Likewise.
28954 (pupa_putcode): New function.
28955
28956 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28957 (pupa_console_real_putchar): ... this.
28958 (pupa_vga_set_mode): New function.
28959 (pupa_vga_get_font): Likewise.
28960
28961 * normal/command.c: Include pupa/term.h.
28962 (terminal_command): New function.
28963 (pupa_command_init): Register the command "terminal".
28964
28965 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28966 (DISP_UP): Likewise.
28967 (DISP_RIGHT): Likewise.
28968 (DISP_DOWN): Likewise.
28969 (DISP_HLINE): Likewise.
28970 (DISP_VLINE): Likewise.
28971 (DISP_UL): Likewise.
28972 (DISP_UR): Likewise.
28973 (DISP_LL): Likewise.
28974 (DISP_LR): Likewise.
28975
28976 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 28977
977329f5 289782003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28979
28980 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28981 FIX. Reverse the path_list.
28982
28983 * include/pupa/normal.h: Export pupa_register_command and
28984 pupa_unregister_command.
28985
28986 * hello/hello.c (pupa_cmd_hello): New module.
28987 * conf/i386-pc.rmk: Added hello.mod.
28988
1f5ab428 289892003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28990
28991 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 28992
1f5ab428 28993 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28994 (compress_kernel): New variable.
28995 (generate_image): Heavily modified to support compressing a
28996 large part of the core image.
28997
28998 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28999 leak.
29000 (pupa_util_load_image): New function.
29001
29002 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
29003 (pupa_compressed_size): New variable.
29004 (codestart): Enable Gate A20 here.
29005 Decompress the compressed part of the core image.
29006 Rearrange the code to put functions and variables which are
29007 required for initialization in the non-compressed part.
29008 Include lzo1x.S.
29009
29010 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
29011 here.
29012
29013 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
29014
f19dbdb7 29015 * include/pupa/i386/pc/kernel.h
1f5ab428 29016 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
29017 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
29018 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29019 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29020 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
29021
29022 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
29023
29024 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
29025 (Utility#rule): Likewise.
29026
29027 * configure.ac: Check if LZO is available.
29028
ce5bf700 290292003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
29030
29031 * include/pupa/normal.h: New file.
29032 * include/pupa/setjmp.h: Likewise.
29033 * include/pupa/i386/setjmp.h: Likewise.
29034 * normal/cmdline.c: Likewise.
29035 * normal/command.c: Likewise.
29036 * normal/main.c: Likewise.
29037 * normal/menu.c: Likewise.
29038 * normal/i386/setjmp.S: Likewise.
f19dbdb7 29039
ce5bf700 29040 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
29041 (pupa_rescue_cmd_initrd): Likewise.
29042
29043 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
29044 Likewise.
29045
29046 * kern/i386/pc/startup.S (translation_table): New variable.
29047 (translate_keycode): New function.
29048 (pupa_console_getkey): Call translate_keycode.
29049
29050 * kern/rescue.c (attempt_normal_mode): New function.
29051 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
29052 it failed, print a message.
29053
29054 * kern/mm.c (pupa_real_malloc): Print more information when a
29055 free magic is broken.
29056 (pupa_free): If the first free header is not free actually, set
29057 it to P.
29058
29059 * kern/main.c (pupa_load_normal_mode): Just load the module
29060 "normal".
29061 (pupa_main): Don't print the message
29062 "Entering into rescue mode..." here.
29063
29064 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
29065 Declared.
29066 (pupa_rescue_cmd_initrd): Likewise.
29067 (pupa_rescue_cmd_initrd): Likewise.
29068
29069 * include/pupa/symbol.h (FUNCTION): Specify the type.
29070 (VARIABLE): Likewise.
29071
29072 * include/pupa/err.h (pupa_err_t): Added
29073 PUPA_ERR_UNKNOWN_COMMAND.
29074
29075 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
29076 (pupa_dl_get_prefix): Likewise.
29077
29078 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
29079 Added _chain.mod and _linux.mod instead of chain.mod and
29080 linux.mod.
29081 (chain_mod_SOURCES): Renamed to ...
29082 (_chain_mod_SOURCES): ... this.
29083 (chain_mod_CFLAGS): Renamed to ...
29084 (_chain_mod_CFLAGS): ... this.
29085 (linux_mod_SOURCES): Renamed to ...
29086 (_linux_mod_SOURCES): ... this.
29087 (linux_mod_CFLAGS): Renamed to ...
29088 (_linux_mod_CFLAGS): ... this.
29089 (normal_mod_SOURCES): New variable.
29090 (normal_mod_CFLAGS): Likewise.
29091 (normal_mod_ASFLAGS): Likewise.
29092
290932003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
29094
29095 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
29096 possible.
29097
fe6b695a 29098 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 29099 recursively.
29100 (pupa_dl_unref): Unrefer depending modules recursively.
29101 Don't call pupa_dl_unload implicitly, because PUPA can crash if
29102 a module is unloaded before one depending on that module is
29103 unloaded.
29104 (pupa_dl_unload): Unload depending modules explicitly,
29105 if possible.
29106
c04da074 291072003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
29108
29109 * include/pupa/i386/pc/linux.h: New file.
29110 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 29111
c04da074 29112 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
29113 Removed.
29114 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
29115 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
29116 of PUPA_CHAINLOADER_BOOT_SECTOR.
29117
29118 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
29119 (pupa_linux_prot_size): New variable.
29120 (pupa_linux_tmp_addr): Likewise.
29121 (pupa_linux_real_addr): Likewise.
29122 (pupa_linux_boot_zimage): New function.
29123 (pupa_linux_boot_bzimage): Likewise.
29124
29125 * kern/i386/pc/init.c (struct mem_region): New structure.
29126 (MAX_REGIONS): New macro.
29127 (mem_regions): New variable.
29128 (num_regions): Likewise.
29129 (pupa_os_area_addr): Likewise.
29130 (pupa_os_area_size): Likewise.
29131 (pupa_lower_mem): Likewise.
29132 (pupa_upper_mem): Likewise.
29133 (add_mem_region): New function.
29134 (compact_mem_regions): Likewise.
29135 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
29136 the size of the conventional memory and that of so-called upper
29137 memory (before the first memory hole).
29138 Instead of adding each found region to free memory, use
29139 add_mem_region and add them after removing overlaps.
29140 Also, add only 1/4 of the upper memory to free memory. The rest
29141 is used for loading OS images. Maybe this is ad hoc, but this
29142 makes it much easier to relocate OS images when booting.
29143
29144 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
29145 (pupa_enter_rescue_mode): Don't register initrd and module.
29146
29147 * kern/mm.c: Include pupa/dl.h.
29148
29149 * kern/main.c: Include pupa/file.h and pupa/device.h.
29150
29151 * kern/loader.c (pupa_loader_load_module_func): Removed.
29152 (pupa_loader_load_module): Likewise.
29153
29154 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
29155 ``.o''.
29156
29157 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
29158 (pupa_linux_tmp_addr): Likewise.
29159 (pupa_linux_real_addr): Likewise.
29160 (pupa_linux_boot_zimage): Likewise.
29161 (pupa_linux_boot_bzimage): Likewise.
29162
29163 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
29164 (pupa_upper_mem): Likewise.
29165 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
29166 module is too dangerous.
29167
29168 * include/pupa/loader.h (pupa_os_area_addr): Declared.
29169 (pupa_os_area_size): Likewise.
29170 (pupa_loader_set): Remove the first argument. Loader doesn't
29171 manage modules or initrd any longer.
29172 (pupa_loader_load_module): Removed.
29173
29174 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
29175 (linux_mod_SOURCES): New variable.
29176 (linux_mod_CFLAGS): Likewise.
29177
a13f9237 291782003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
29179
29180 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
29181 the length of a blocklist correctly.
29182
29183 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
29184 Use ioctl only if the OS file is a block device.
29185 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
29186 not very useful for normal files.
29187
29188 * kern/main.c (pupa_set_root_dev): New function.
29189 (pupa_load_normal_mode): Likewise.
29190 (pupa_main): Call those above.
29191
29192 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
29193 pupa_uint16_t.
29194
29195 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
29196
a5ffe966 291972003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29198
29199 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
29200 (setup): Configure the installed partition information and the
29201 dl prefix.
29202
29203 * loader/i386/pc/chainloader.c (my_mod): New variable.
29204 (pupa_chainloader_unload): New function.
29205 (pupa_rescue_cmd_chainloader): Refer itself.
29206 (PUPA_MOD_INIT): Save its own module in MY_MOD.
29207
29208 * kern/i386/pc/startup.S (install_partition): Removed.
29209 (version_string): Likewise.
29210 (config_file): Likewise.
29211 (pupa_install_dos_part): New variable.
29212 (pupa_install_bsd_part): Likewise.
29213 (pupa_prefix): Likewise.
29214 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
29215
29216 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
29217 and pupa/misc.h.
29218 (make_install_device): New function.
29219 (pupa_machine_init): Set the dl prefix.
29220
29221 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
29222 (buf): Renamed to ...
29223 (linebuf): ... this.
29224 (pupa_rescue_cmd_prefix): New function.
29225 (pupa_rescue_cmd_insmod): Likewise.
29226 (pupa_rescue_cmd_rmmod): Likewise.
29227 (pupa_rescue_cmd_lsmod): Likewise.
29228 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
29229 rmmod and lsmod.
29230
29231 * kern/mm.c (pupa_memalign): If failed even after invalidating
29232 disk caches, unload unneeded modules and retry.
29233
29234 * kern/misc.c (pupa_memmove): New function.
29235 (pupa_memcpy): Removed.
29236 (pupa_strcpy): New function.
29237 (pupa_itoa): Made static.
29238
29239 * kern/dl.c (pupa_dl_iterate): New function.
29240 (pupa_dl_ref): Likewise.
29241 (pupa_dl_unref): Likewise.
29242 (pupa_dl_unload): Return if succeeded or not.
29243 (pupa_dl_unload_unneeded): New function.
29244 (pupa_dl_unload_all): Likewise.
29245 (pupa_dl_init): Renamed to ...
29246 (pupa_dl_set_prefix): ... this.
29247 (pupa_dl_get_prefix): New function.
29248
29249 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
29250 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
29251 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29252 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29253 (pupa_install_dos_part): Declared.
29254 (pupa_install_bsd_part): Likewise.
29255 (pupa_prefix): Likewise.
29256 (pupa_boot_drive): Likewise.
29257
29258 * include/pupa/types.h: Fix a typo.
29259
29260 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
29261 pupa_memmove.
29262 (pupa_memmove): Declared.
29263 (pupa_strcpy): Likewise.
29264
29265 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
29266 pupa_mod_init takes one argument, its own module.
29267 (pupa_dl_unload_unneeded): Declared.
29268 (pupa_dl_unload_all): Likewise.
29269 (pupa_dl_ref): Likewise.
29270 (pupa_dl_unref): Likewise.
29271 (pupa_dl_iterate): Likewise.
29272 (pupa_dl_init): Renamed to ...
29273 (pupa_dl_set_prefix): ... this.
29274 (pupa_dl_get_prefix): Declared.
29275
29276 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 29277 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 29278 unloaded.
29279 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29280 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29281
29282 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29283 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29284
012d7999 292852003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29286
29287 * util/i386/pc/pupa-setup.c (setup): Define the internal
29288 function find_first_partition_start at the top level, because GCC
29289 3.0.x cannot compile internal functions in deeper scopes
29290 correctly.
29291 (find_root_device): Use lstat instead of stat.
29292 Don't follow symbolic links.
29293 Fix the path-constructing code.
29294
29295 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29296 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29297 by a BLKGETSIZE ioctl first, because block devices don't fill
29298 the member st_mode of the structure stat on Linux.
29299 [__linux__] (linux_find_partition): Use a temporary buffer
29300 REAL_DEV for the working space. Copy it to DEV before returning.
29301 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29302 buffer cache consistent.
29303 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29304 strncmp. The previous value was merely wrong.
29305 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29306
29307 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29308 FAT size is 12. The previous value was merely wrong.
29309
29310 * kern/main.c (pupa_main): Don't split the starting message from
29311 newlines.
29312
29313 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29314 LF, because BIOS goes crazy about character attributes in this
29315 case.
29316
1cc73a62 293172003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29318
29319 * include/i386/pc/util/biosdisk.h: New file.
29320 * util/i386/pc/biosdisk.c: Likewise.
29321 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 29322
1cc73a62 29323 * Makefile.in (INCLUDE_DISTFILES): Added
29324 include/pupa/i386/pc/util/biosdisk.h.
29325 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29326 directory util/i386/pc.
29327 (install-local): Added a rule for sbin_UTILITIES.
29328 (uninstall): Likewise.
29329
29330 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29331
29332 * util/misc.c (xrealloc): New function.
29333 (pupa_malloc): Likewise.
29334 (pupa_free): Likewise.
29335 (pupa_realloc): Likewise.
29336 (pupa_stop): Likewise.
29337 (pupa_putchar): Likewise.
29338
29339 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29340
29341 * include/pupa/util/misc.h (xrealloc): Declared.
29342
29343 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29344 macro.
29345 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29346 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29347
29348 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29349 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29350
29351 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29352 way should be implemented.
29353 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29354
29355 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29356 the size of NAME for safety.
29357 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29358 0x88.
29359
29360 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29361 (pupa_setup_SOURCES): Likewise.
29362
29363 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29364
08b70fe8 293652002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29366
29367 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29368 bunch of pushl's from pusha, because this destroys the return
29369 value.
29370
62ddcc8f 293712002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29372
29373 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29374 This means that any missing prototypes could be fatal. Also, you
29375 must take care when writing assembly code. See the comments at
29376 the beginning of startup.S, for more details.
f19dbdb7 29377
62ddcc8f 29378 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29379 compilation mechanism.
29380 (pupa_chainloader_real_boot): Likewise.
29381 (pupa_biosdisk_rw_int13_extensions): Likewise.
29382 (pupa_biosdisk_rw_standard): Likewise.
29383 (pupa_biosdisk_check_int13_extensions): Likewise.
29384 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29385 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29386 (pupa_get_memsize): Likewise.
29387 (pupa_get_mmap_entry): Likewise.
29388 (pupa_console_putchar): Likewise.
29389 (pupa_console_setcursor): Likewise.
29390 (pupa_getrtsecs): Use pushl instead of push.
29391
29392 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29393 memory instead of the stack for a mmap entry, because some
29394 BIOSes may ignore the maximum size and overflow.
29395
29396 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29397
29398 * genmk.rb (PModule#rule): Compile automatically generated
29399 sources with module-specific CFLAGS as well as other sources.
29400
9962ed99 294012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29402
29403 * configure.ac: Check ld.
29404 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29405 respectively, before checking endianness and sizes.
29406
29407 * Makefile.in (LD): New variable.
f19dbdb7 29408
abdfc3c5 294092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29410
29411 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29412
6a161fa9 294132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29414
29415 * Changelog: New file.
29416