]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-08-14 Robert Millan <rmh@gnu.org>
[grub2.git] / ChangeLog
CommitLineData
f3710e08
RM
12010-08-14 Robert Millan <rmh@gnu.org>
2
3 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
4 filesystem is not ZFS.
5
7a3c13de
BC
62010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7
8 Fix for misspelled color names defaulting to black/black (bug
9 reported by Doug Nazar)
10
11 * include/grub/normal.h (grub_parse_color_name_pair): Add return
12 status to prototype.
13 * normal/color.c (grub_parse_color_name_pair): Return failure
14 status.
15 (grub_env_write_color_normal): Ignore bad color names.
16 (grub_env_write_color_highlight): Likewise.
17 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18
ab8ba50d
BC
192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20
21 "shift" command support to GRUB script.
22
23 * include/grub/script_sh.h (grub_script_shift): New prototype.
24 * script/execute.c (grub_script_shift): New function.
25 * script/main.c (grub_script_init): Register shift command.
26 (grub_script_fini): Unregister shift command.
27 * util/grub-script-check.c (grub_script_cmd_shift): New function.
28
29 * tests/grub_script_shift.in: New testcase.
30 * conf/tests.rmk: Rules for new testcase.
31
4d61999e
BC
322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
33
34 "continue" command support to GRUB script.
35
36 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
37 (grub_script_break): Continue support.
38 * script/main.c (grub_script_init): Register continue command.
39 (grub_script_fini): Unregister continue command.
40
41 * tests/grub_script_continue.in: New testcase.
42 * conf/tests.rmk: Rules for new testcase.
43
4df51e00
BC
442010-08-12 BVK Chaitanya <bvk@dbook>
45
46 "break" command support to GRUB script.
47
48 * conf/common.rmk: Rule updates to grub-script-check.
49 * include/grub/misc.h (grub_min): New function.
50 * include/grub/script_sh.h (grub_script_init): New prototype.
51 (grub_script_fini): New prototype.
52 (grub_script_break): New prototype.
53 * script/main.c (grub_script_init): New function.
54 (grub_script_fini): New function.
55 * script/execute.c (grub_script_break): New function.
56 * normal/main.c: Calls to grub_script_{init,fini}.
57 * util/grub-script-check.c (grub_script_break): New function.
58
59 * tests/grub_script_break.in: New testcase.
60 * conf/tests.rmk: Rules for new test case.
61
f12c8420
BC
622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
63
64 Function parameters support to GRUB script.
65
66 * script/yylex.l (VARIABLE): Regular expression update.
67 * script/function.c (grub_script_function_call): Moved ...
68 * script/execute.c (grub_script_function_call): ... to here.
69 (grub_script_execute_arglist_to_argv): Removed.
70 (grub_script_arglist_to_argv): New function.
71 * script/argv.c: New file.
72 (grub_script_argv_free): New function.
73 (grub_script_argv_next): Likewise.
74 (grub_script_argv_append): Likewise.
75 (grub_script_argv_split_append): Likewise.
76 * include/grub/script_sh.h (grub_script_argv): New struct.
77 (grub_script_argv_free): New function.
78 (grub_script_argv_next): Likewise.
79 (grub_script_argv_append): Likewise.
80 (grub_script_argv_split_append): Likewise.
81
82 * conf/common.rmk (normal.mod): New source script/argv.c.
83
84 * tests/grub_script_echo1.in: More tests.
85 * tests/grub_script_vars1.in: Likewise.
86 * tests/grub_script_functions.in: New test case.
87 * conf/tests.rmk: Rules for new testcase.
88
8022b748
BC
892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
90
91 Remove grub_script_cmdblock struct.
92
93 * include/grub/script_sh.h: Remove grub_script_cmdblock.
94 * script/parser.y: Likewise.
95 * script/execute.c: Rename cmdblock suffix to cmdlist.
96 * script/script.c: Likewise.
97 * util/grub-script-check.c: Likewise.
98
79a6ba61
YB
992010-08-11 Yves Blusseau <blusseau@zetam.org>
100
101 * .bzrignore: add grub-macho2img
102
d04b9414
VS
1032010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
106
f947ab49
VS
1072010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Remove the dump of sm712 initialisation sequence.
110
111 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
112 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
113 (GRUB_VGA_IO_MISC_WRITE): Likewise.
114 (GRUB_VGA_CR_*): Added many registers.
115 (GRUB_VGA_SR_*): Likewise.
116 (GRUB_VGA_GR_*): Likewise.
117 (grub_vga_write_arx): New function.
118 (grub_video_hw_config): New struct.
119 (grub_vga_set_geometry): New function.
120 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
121 GRUB_PCI_CLASS_SUBCLASS_VGA.
122 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
123 * video/sm712.c (grub_sm712_write_reg): New function
124 (grub_sm712_read_reg): Likewise.
125 (grub_sm712_sr_write): Likewise.
126 (grub_sm712_gr_write): Likewise.
127 (grub_sm712_cr_write): Likewise.
128 (grub_sm712_write_arx): Likewise.
129 (grub_sm712_cr_shadow_write): Likewise.
130 (grub_sm712_write_dda_lookup): Likewise.
131 (grub_video_sm712_setup): Initialise the video rather then
132 blindly replay the dump.
133 (main) [TEST]: Add a routine to be able to compile as standalone for
134 tests.
135 * video/sm712_init.c (sm712_init): Removed.
136 (sm712_sr_seq1): New array.
137 (sm712_sr_seq2): Likewise.
138
f0206638
VS
1392010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * include/grub/vga.h: Add missing grub/pci.h include.
142
2764da3b
YB
1432010-08-10 Yves Blusseau <blusseau@zetam.org>
144
145 * util/grub-macho2img.c (main): fix typo
146
cf0c775e
VS
1472010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
150 (grub_vga_gr_read): Likewise.
151 (grub_vga_cr_write): Likewise.
152 (grub_vga_cr_read): Likewise.
153 (grub_vga_sr_write): Likewise.
154 (grub_vga_sr_read): Likewise.
155 (grub_vga_palette_read): Likewise.
156 (grub_vga_palette_write): Likewise.
157 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
158 (grub_sm712_sr_read): New function.
159 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
160 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
161
07f360e9
RM
1622010-08-09 Robert Millan <rmh@gnu.org>
163
164 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
165 out unused variables on non-ZFS build.
166
346c2072
RM
1672010-08-08 Robert Millan <rmh@gnu.org>
168
169 Fix path generation for sub-filesystems in ZFS.
170
171 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
172 missing slash.
173
71175420
RM
1742010-08-08 Robert Millan <rmh@gnu.org>
175
176 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
177
0d8286f3
RM
1782010-08-08 Robert Millan <rmh@gnu.org>
179
180 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
181 exist, issue a proper error message (rely on `ls' for translated
182 strings).
183
55dd2924
RM
1842010-08-08 Robert Millan <rmh@gnu.org>
185
186 Fix grub-probe invocation.
187
188 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
189
d3dd9e80
RM
1902010-08-04 Robert Millan <rmh@gnu.org>
191
192 * configure.ac: Remove checks for getfsstat() and getmntany().
193 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
194 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
195 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
196 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
197 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
198 function.
199 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
200 via find_mount_point_from_dir() and getfsstat() / getmntany().
201
0de22aa9
RM
2022010-08-04 Robert Millan <rmh@gnu.org>
203
204 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
205 (grub_find_zpool_from_mount_point): Merge into ...
206 (grub_find_zpool_from_dir): ... this.
207 * kern/emu/misc.c: Likewise.
208
209 * kern/emu/misc.c
210 (grub_make_system_path_relative_to_its_root): Replace
211 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
212 with grub_find_zpool_from_dir().
213 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
214
62858144
RM
2152010-08-04 Robert Millan <rmh@gnu.org>
216
217 Support OpenSolaris in ZFS device resolution.
218
219 * configure.ac: Check for getmntany().
220 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
221 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
222 support.
223
9dd6fd50
RM
2242010-08-03 Robert Millan <rmh@gnu.org>
225
226 Fix grub-emu build.
227
228 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
229 * include/grub/emu/misc.h: ... here.
230
231 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
232 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
233
234 * util/misc.c: Remove `<grub/util/libzfs.h>'.
235 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
236 (grub_get_libzfs_handle): Move to ...
237 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
238 (grub_get_libzfs_handle): ... here.
239
c9f7ff97
BC
2402010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
241
242 * script/execute.c (grub_script_execute_cmdline): Check for NULL
243 as command name case.
244
a870a783
CW
2452010-08-02 Colin Watson <cjwatson@ubuntu.com>
246
247 * disk/raid.c (insert_array): Select unique numbers for named arrays
248 as well, for use as keys in the disk cache.
249
c7db243b
RM
2502010-08-01 Robert Millan <rmh@gnu.org>
251
252 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
253 kFreeBSD device name, except on ZFS where the filesystem label is
254 used.
255 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
256 `/boot/zfs/zpool.cache'.
257 Set mountfrom kernel variable using ${kfreebsd_device}.
258
f7abdefb
RM
2592010-08-01 Robert Millan <rmh@gnu.org>
260
261 Make it even harder to use uninitialized `libzfs_handle' (and
262 make the interface a bit simpler).
263
264 * include/grub/util/misc.h (grub_util_init_libzfs)
265 (libzfs_handle): Remove.
266 (grub_get_libzfs_handle): New prototype.
267
268 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
269 attribute.
270 (grub_util_init_libzfs): Remove.
271 (grub_get_libzfs_handle): New function.
272
273 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
274 grub_get_libzfs_handle() to obtain a libzfs handle instead of
275 accessing `libzfs_handle' directly.
276
c882acc0
RM
2772010-08-01 Robert Millan <rmh@gnu.org>
278
279 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
280 (grub_find_zpool_from_mount_point): New function prototypes.
281
282 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
283 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
284
285 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
286 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
287 `static' attribute.
288
289 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
290 finding zpool from mount point into ...
291 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
292
293 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
294 requested path is part of a ZFS pool, use
295 grub_find_zpool_from_mount_point() to detect its filesystem name,
296 and generate a path with `/fsname@path' syntax.
297
8bfe31d8
CW
2982010-08-01 Colin Watson <cjwatson@ubuntu.com>
299
300 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
301 (void) rather than () so that this is a proper prototype.
302
553df63d
VS
3032010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
306
8687cf07
VS
3072010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
310 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
311
ea9be8ea
CW
3122010-08-01 Colin Watson <cjwatson@ubuntu.com>
313
314 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
315
6eea041a
CW
3162010-08-01 Colin Watson <cjwatson@ubuntu.com>
317
318 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
319
2cfb45df
CW
3202010-08-01 Colin Watson <cjwatson@ubuntu.com>
321
322 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
323 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
324 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
325 disable gfxpayload.
326 (Shell-like scripting): Add real content.
327 (Serial terminal): Suggest `terminal_input serial; terminal_output
328 serial' rather than putting the two commands on separate lines,
329 since console input will be inoperative after the first command.
330 (menuentry): Document --class, --users, and --hotkey options.
331 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
332 Vladimir Serbinenko).
333
7decd202
VS
3342010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3352010-08-01 Colin Watson <cjwatson@ubuntu.com>
336
337 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
338
c882acc0
RM
3392010-08-01 Robert Millan <rmh@gnu.org>
340
341 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
342 (grub_find_zpool_from_mount_point): New function prototypes.
343
344 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
345 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
346
347 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
348 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
349 `static' attribute.
350
351 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
352 finding zpool from mount point into ...
353 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
354
355 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
356 requested path is part of a ZFS pool, use
357 grub_find_zpool_from_mount_point() to detect its filesystem name,
358 and generate a path with `/fsname@path' syntax.
359
deb0caa3
RM
3602010-08-01 Robert Millan <rmh@gnu.org>
361
362 Prevent accidental use of uninitialized libzfs_handle.
363
364 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
365 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
366 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
367
ce04ef47
CW
3682010-08-01 Colin Watson <cjwatson@ubuntu.com>
369
370 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
371 util/grub.d/10_linux.in). Fixes Debian bug #591093.
372
ebf53056
RM
3732010-08-01 Robert Millan <rmh@gnu.org>
374
375 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 376
3710bb6b
RM
3772010-07-31 Robert Millan <rmh@gnu.org>
378
379 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
380
8072efeb
RM
3812010-07-31 Robert Millan <rmh@gnu.org>
382
383 * kern/emu/misc.c: Add missing license header.
384
3169f4c7
RM
3852010-07-31 Robert Millan <rmh@gnu.org>
386
387 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
388
389 * include/grub/util/libnvpair.h: Include `<config.h>'.
390 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
391 declaring libnvpair prototypes ourselves.
392 * include/grub/util/libzfs.h: Include `<config.h>'.
393 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
394 declaring libzfs prototypes ourselves.
395
396 (libzfs_handle): Moved to ...
397 * include/grub/util/misc.h (libzfs_handle): ... here.
398 Include `<grub/util/libzfs.h>'.
399
c9a00aee
RM
4002010-07-30 Robert Millan <rmh@gnu.org>
401
402 * include/grub/emu/misc.h: Add missing license header.
403
a184f9c8
RM
4042010-07-30 Robert Millan <rmh@gnu.org>
405
406 Enable `grub-probe -t device' resolution on ZFS.
407
408 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
409 * include/grub/util/libnvpair.h: New file.
410 * include/grub/util/libzfs.h: New file.
411
412 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
413 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
414 `<grub/util/libnvpair.h>'.
415 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
416
417 (find_mount_point_from_dir): New static function.
418 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
419 function.
420 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
421 find_root_device_from_libzfs() before ressorting to find_root_device().
422
423 * include/grub/util/misc.h (grub_util_init_libzfs): New function
424 prototype.
425 * util/misc.c: Include `<grub/util/libzfs.h>'.
426 (grub_util_init_libzfs): New function.
427 [HAVE_LIBZFS] (libzfs_handle): New global variable.
428 [HAVE_LIBZFS] (fini_libzfs): New static function.
429 (grub_util_init_libzfs): New function.
430 * util/grub-probe.c (main): Call grub_util_init_libzfs().
431
f7790cdd
RM
4322010-07-30 Robert Millan <rmh@gnu.org>
433
434 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
435 (xmalloc, xrealloc, xstrdup, xasprintf): Add
436 `warn_unused_result' attribute.
437 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
438 (grub_xasprintf, grub_xvasprintf): Likewise.
439 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
440
0806b63c
RM
4412010-07-29 Robert Millan <rmh@gnu.org>
442
443 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
444 (probe): Handle `PRINT_FS_LABEL'.
445 (main): Handle `-t fs_label'.
446
9f841f5c
RM
4472010-07-29 Robert Millan <rmh@gnu.org>
448
449 * configure.ac: Remove grub-mkisofs checks.
450
46371121
VS
4512010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * util/ieee1275/grub-install.in: Don't use empty grub_device.
454 Reported by: Lennart Sorensen.
455
4562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
459 prior to terminal_input/terminal_output separation. It's been over 1.5
460 years and those versions weren't widely deployed.
461
a9600892
CW
4622010-07-22 Colin Watson <cjwatson@ubuntu.com>
463
464 * disk/raid.c (insert_array): Don't count named arrays when looking
465 for unused array numbers.
697e053c 466 Reported and tested by: Michael Guntsche.
a9600892 467
c03507df
CW
4682010-07-20 Colin Watson <cjwatson@ubuntu.com>
469
470 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
471 implementation of this so that grub-emu links again, with a note
472 that this should support hotplugging in the future.
473
b26f1c11
CW
4742010-07-20 Colin Watson <cjwatson@ubuntu.com>
475
476 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
477
efc9d7f1
CW
4782010-07-20 Colin Watson <cjwatson@ubuntu.com>
479
480 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
481 handle on failure.
482 (grub_loopback_close): Remove empty function.
483 (grub_loopback_dev): Remove close method.
484
dd8ff5c9
CW
4852010-07-20 Colin Watson <cjwatson@ubuntu.com>
486
487 Disable EFI cursor when the EFI console becomes inactive.
488
489 * term/efi/console.c (grub_efi_console_init): New function.
490 (grub_efi_console_fini): New function.
491 (grub_console_term_output): Register init and fini methods.
492
5e3bec67
VS
4932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * tests/util/grub-shell-tester.in: Remove bashism and declare as
496 sh script.
497
afaec079
VS
4982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * disk/loopback.c (grub_loopback): Replace filename with file.
501 (delete_loopback): Handle new semantics.
502 (grub_cmd_loopback): Likewise.
503 (grub_loopback_iterate): Likewise.
504 (grub_loopback_close): Likewise.
505
a6a11f3c
VS
5062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
509 with -p "".
510 Reported by: Tito Keitel.
511
64a638b0
VS
5122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * docs/grub.texi (Naming convention): Document new naming convention.
515
ab8ba957
VS
5162010-07-20 Vadim Solomin <vadic052@gmail.com>
5172010-07-20 Colin Watson <cjwatson@ubuntu.com>
518
519 Generate device.map in something closer to the old ordering.
520
521 * util/deviceiter.c (struct device): New declaration.
522 (compare_file_names): Rename to ...
523 (compare_devices): ... this. Sort by kernel name in preference to
524 the stable by-id name, but keep the latter as a fallback comparison.
525 Update header comment.
526 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
527 of `struct device' rather than of plain file names.
528
a29d6a4b
TF
5292010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
530
531 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
532 on i386.
533
39d824e8
VS
5342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * commands/acpi.c (setup_common_tables): Use sizeof instead of
537 hardcoding size.
538 (setv1table): Likewise.
539
f058276b
FZ
5402010-07-20 Colin Watson <cjwatson@ubuntu.com>
541
542 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
543 removing the homehost if present.
544 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
545 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
546 removing the homehost if present.
547 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
548 if possible.
549 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
550
551 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
552 parameter. Set its pointer target to 0.
553 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
554 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
555 `data_offset' value from the superblock for 1.x metadata.
556 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
557 data on the device.
558 (insert_array): Record the start sector of data on the device.
559 (grub_raid_register): Pass start_sector parameters to
560 grub_raid_list->detect and insert_array.
561 * include/grub/raid.h (struct grub_raid_array): Add start_sector
562 member.
563 (struct grub_raid): Add start_sector parameter to `detect'.
564
565 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
566 __attribute__ ((packed)), leaving a comment.
567 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
568 (grub_mdraid_detect_09): ... here and ...
569 (grub_mdraid_detect_1x): ... here.
570
5712010-07-20 Peter Henn <peter.henn@web.de>
572
573 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
574 chunk size and disk size, which are already given as sector counts
575 as distinct from the 0.90 units. Fetch the correct device number
576 from the role table instead of using the table index.
577
5782010-07-20 Felix Zielcke <fzielcke@z-51.de>
579
580 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
581 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
582 (WriteMostly1): New macro.
583 Set array->name to NULL for metadata format 0.90. Add support for
584 metadata 1.x. Fix some comments.
585 * disk/raid.c (): Add support for name based RAID arrays. Fix a
586 few comments.
587 * util/getroot.c (grub_util_get_grub_dev): Add support for
588 /dev/md/name style devices.
589
4b761da9
CW
5902010-07-20 Colin Watson <cjwatson@ubuntu.com>
591
592 * .bzrignore: Ignore 20_linux_xen.
593
5771289a
CW
5942010-07-17 Colin Watson <cjwatson@ubuntu.com>
595
596 * util/import_unicode.py: Remove unnecessary imports.
597
5dab68df
AN
5982010-07-17 Aleš Nesrsta <starous@volny.cz>
599
600 Hotplugging and USB hub support.
601
602 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
603 (grub_ohci): Likewise.
604 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
605 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
606 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
607 (GRUB_OHCI_CTRL_EDS): Likewise.
608 (GRUB_OHCI_BULK_EDS): Likewise.
609 (GRUB_OHCI_TDS): Likewise.
610 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
611 (grub_ohci_ed_phys2virt): New function.
612 (grub_ohci_virt_to_phys): Likewise.
613 (grub_ohci_td_phys2virt): Likewise.
614 (grub_ohci_td_virt2phys): Likewise.
615 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
616 attachment.
617 (grub_ohci_find_ed): New function.
618 (grub_ohci_alloc_td): Likewise.
619 (grub_ohci_free_td): Likewise.
620 (grub_ohci_free_tds): Likewise.
621 (grub_ohci_transfer): Use previously allocated memory.
622 (grub_ohci_portstatus): Reset status changed bit.
623 (grub_ohci_detect_dev): Supply status changed.
624 (grub_ohci_fini_hw): Free memory.
625 (grub_ohci_restore_hw): Reallocate memory.
626 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
627 Reset status change.
628 (grub_uhci_detect_dev): Supply status_change.
629 * bus/usb/usb.c (attach_hooks): New var.
630 (grub_usb_device_attach): New function.
631 (grub_usb_register_attach_hook_class): Likewise.
632 (grub_usb_unregister_attach_hook_class): Likewise.
633 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
634 (grub_usb_add_hub): Reset connection changed bit.
635 (attach_root_port): New function.
636 (grub_usb_root_hub): Likewise.
637 (poll_nonroot_hub): Likewise.
638 (grub_usb_poll_devices): Likewise.
639 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
640 * disk/usbms.c (grub_usbms_open): Use device hooks.
641 (grub_usbms_iterate) :Poll devices.
642 (grub_usbms_finddevs): Split into ...
643 (grub_usbms_attach): ... this ...
644 (grub_usbms_attach): ... and this.
645 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
646 in detect_dev.
647 (grub_usb_interface): New fields attached and detach_hook.
648 (grub_usb_attach_hook_class): New type.
649 (grub_usb_attach_desc): New struct.
650 (grub_usb_register_attach_hook_class): New function.
651 (grub_usb_unregister_attach_hook_class): Likewise.
652 (grub_usb_poll_devices): Likewise.
653 (grub_usb_device_attach): Likewise.
654 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
655 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
656
3222efaf
VS
6572010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
660 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
661 delta determination style. Works with most NetBSD partitions too.
662
139b714a
VS
6632010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
666 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
667
986aad56
VS
6682010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
671
99be513c
AB
6722010-07-14 Anton Blanchard <anton@samba.org>
673
674 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
675 ET_DYN files.
676
18075f62
GS
6772010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
678
679 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
680
8d9a5b15
GS
6812010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
682
683 * kern/partition.c (grub_partition_check_containment): New function to
684 check that a partition is physically contained in a parent. Since
685 offsets are relative (and non-negative), this reduces to checking that
686 the partition ends before its parent.
687 (grub_partition_map_probe): Discard out-of-range sub-partitions.
688 (grub_partition_iterate): Likewise.
689 * include/grub/partition.h (grub_partition_map): Slightly more detailed
690 comments.
691 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
692 partitions that start before their parent, and add debug printfs.
693
19563c25
CW
6942010-07-13 Colin Watson <cjwatson@ubuntu.com>
695
696 * Makefile.in (.SUFFIX): Spell correctly, as ...
697 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
698 bare module name without `.mod', e.g. `test') tried to invoke a
699 Modula-2 compiler.
700
1a1f1e67
CW
7012010-07-13 Colin Watson <cjwatson@ubuntu.com>
702
703 * README: Point to the Info manual.
704
811b0dca
JS
7052010-07-13 Jiro SEKIBA <jir@unicus.jp>
706
707 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
708 2nd superblock position from partition size.
709
e4f4eafc
CW
7102010-07-10 Colin Watson <cjwatson@ubuntu.com>
711
712 * Makefile.in (MAINTAINER_CLEANFILES): Remove
713 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
714 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
715 outputs.
716
4274c30f
VS
7172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Restructure SCSI .id handling.
720 Reported and tested by: Aleš Nesrsta.
721
722 * disk/ata.c (grub_atapi_close): Removed. All users updated.
723 (grub_atapi_dev): Changed .name to "ata". New field .id.
724 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
725 (grub_usbms_dev): New field .id.
726 * disk/scsi.c (grub_scsi_iterate): Generate name.
727 (grub_scsi_open): Parse name.
728 * include/grub/scsi.h (grub_make_scsi_id): New function.
729 (grub_scsi_dev): Change iterate and open to number instead of naming
730 busses. All users updated.
731 (grub_scsi): Remove name. Add .bus.
732
5bc24388
VS
7332010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * commands/help.c (grub_cmd_help): Fix a typo.
736
249975ba
VS
7372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
740 Reported and tested by: Colin Watson.
741
3eaac1a1
VS
7422010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
745 in this context.
746
becce1b1
VS
7472010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
750
f7bf0918
CW
7512010-07-07 Colin Watson <cjwatson@ubuntu.com>
752
753 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
754 indentation.
755
0b0f9620
CW
7562010-07-06 Colin Watson <cjwatson@ubuntu.com>
757
758 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
759 and disk/raid6_recover.c.
760 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
761 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
762
1e545469
CW
7632010-07-06 Colin Watson <cjwatson@ubuntu.com>
764
765 * term/gfxterm.c (repaint_schedulded): Rename to ...
766 (repaint_scheduled): ... this. Update all callers.
767 (repaint_was_schedulded): Rename to ...
768 (repaint_was_scheduled): ... this. Update all callers.
769
5357687a
CW
7702010-07-06 Colin Watson <cjwatson@ubuntu.com>
771
772 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
773 which we expect to be handled by upper layers.
774
29d7e783
BC
7752010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
776
777 * bus/usb/usbhub.c: #include time.h header.
778
37582066
CW
7792010-07-06 Colin Watson <cjwatson@ubuntu.com>
780
781 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
782 entry_name also for entries without stat blocks (e.g. ".."); fixes
783 corruption of the first entry in a directory.
784
c8c06953
CW
7852010-07-06 Colin Watson <cjwatson@ubuntu.com>
786
787 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
788 after setting gfxterm as the active terminal. GRUB_BACKGROUND
789 doesn't work otherwise.
790
e75056f1
CW
7912010-07-05 Colin Watson <cjwatson@ubuntu.com>
792
793 * docs/grub.texi (Features): Update list of supported file systems.
794 (GNU/Linux): Update for GRUB 2.
795 (Serial terminal): Remove mention of --disable-serial, which was a
796 GRUB Legacy configure option. Update instructions to use
797 `terminal_input' and `terminal_output' rather than `terminal'.
798 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
799 configuration' and `Installing GRUB using grub-install'.
800 (Menu entry editor): Update for GRUB 2.
801 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
802 Document new -a, -u, and -v options.
803 (initrd): New section.
804 (initrd16): New section.
805 (linux): New section.
806 (linux16): New section.
807 (search): The `var' argument to `--set' is optional.
808 (GRUB only offers a rescue shell): Go into a little more detail on
809 drive ordering.
810
5cf69151
CW
8112010-07-05 Colin Watson <cjwatson@ubuntu.com>
812
813 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
814
e3f90044
CW
8152010-07-05 Colin Watson <cjwatson@ubuntu.com>
816
817 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
818 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
819
38d8f4f3
CW
8202010-07-05 Colin Watson <cjwatson@ubuntu.com>
821
822 * util/i386/pc/grub-setup.c (setup): Rename prefix to
823 install_prefix, in line with install_dos_part and install_bsd_part.
824 Add new prefix variable, which is copied to install_prefix after
825 comparing core.img in memory with the one read from disk in the
826 no-embedding case, and use that rather than overwriting
827 install_prefix immediately when installing to a partition.
828 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
829 Bicakci.
830
57ebd41e
GS
8312010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
832
833 * configure.ac: Avoid == in test command, it's not portable.
834 * util/grub.d/30_os-prober.in: Likewise.
835
cb7f64b2
CW
8362010-07-04 Colin Watson <cjwatson@ubuntu.com>
837
838 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
839
6b654bb0
GS
8402010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
841
842 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
843 multiple (top-level) partmaps.
844
72a2026d
VS
8452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 848 Reported by: Tino Keitel.
72a2026d 849
df3eb88f
VS
8502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
851
852 Bidi and diacritics support.
853
854 * Makefile.in (widthspec.bin): New target.
855 (widthspec.h): Likewise.
856 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
857 * autogen.sh: Generate unidata.c.
858 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
859 * commands/ls.c (grub_ls_list_devices): Likewise.
860 (grub_ls_list_files): Likewise.
861 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
862 (grub_mini_cmd_lsmod): Likewise.
863 * commands/read.c: Likewise.
864 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
865 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
866 * lib/arg.c (grub_arg_show_help): Likewise.
867 * lib/crypto.c (grub_password_get): Likewise.
868 * normal/auth.c (grub_username_get): Likewise.
869 * normal/misc.c (grub_normal_print_device_info): Likewise.
870 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
871 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
872 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
873 (normal/charset.c_DEPENDENCIES): New variable.
874 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
875 (pkglib_MODULES): Remove charset.mod.
876 (charset_mod_SOURCES): Removed.
877 (charset_mod_CFLAGS): Likewise.
878 (charset_mod_LDFLAGS): Likewise.
879 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
880 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
881 and term/tparm.c.
882 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
883 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
884 (kernel_img_HEADERS): Add terminfo.h.
885 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
886 Fill ->font. Reverse ascii bitmaps.
887 (grub_font_get_xheight): New function.
888 * font/font.c (grub_font_get_string_width): Moved from here ...
889 * gfxmenu/font.c (grub_font_get_string_width): ... here.
890 * font/font.c (grub_font_draw_string): Moved from here ...
891 * gfxmenu/font.c (grub_font_draw_string): ... here.
892 * font/font.c (grub_font_dup_glyph): New function.
893 (grub_font_blit_glyph): Likewise.
894 (grub_font_blit_glyph_mirror): Likewise.
895 (blit_comb): Likewise.
896 (grub_font_construct_dry_run): Likewise.
897 (grub_font_get_constructed_device_width): Likewise.
898 (grub_font_construct_glyph): Likewise.
899 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
900 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
901 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
902 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
903 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
904 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
905 (grub_font_get_xheight): New proto.
906 (grub_font_get_constructed_device_width): Likewise.
907 (grub_font_construct_glyph): Likewise.
908 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
909 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
910 * include/grub/font.h (grub_font_draw_string): Moved from here ...
911 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
912 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
913 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
914 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
915 (grub_console_getcharwidth): Likewise.
916 * include/grub/misc.h (grub_xputs): New proto.
917 (grub_puts): Inlined.
918 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
919 (grub_normal_get_line_counter): Removed.
920 (grub_install_newline_hook): Likewise.
921 (grub_normal_get_char_counter): New proto.
922 (grub_normal_reset_more): Likewise.
923 (grub_xputs_normal): Likewise.
924 * include/grub/powerpc/ieee1275/console.h: Removed.
925 * include/grub/sparc64/ieee1275/console.h: Likewise.
926 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
927 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
928 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
929 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
930 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
931 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
932 (grub_term_input): Pass reference to self. All users updated.
933 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
934 Pass reference to self. New fields normal_color, highlight_color and
935 data. All users updated.
936 (grub_putchar): Removed.
937 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
938 (grub_unicode_estimate_width): New function.
939 (grub_term_getcharwidth): Add defaults.
940 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
941 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
942 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
943 (grub_cls): Remove EXPORT_FUNC.
944 (grub_setcolorstate): Inline.
945 (grub_newline_hook): Removed.
946 * include/grub/terminfo.h: Rewritten. All users updated.
947 * include/grub/unicode.h: New file.
948 * include/grub/video.h (grub_video_signed_rect): New type.
949 * kern/emu/console.c (grub_console_highlight_color): Removed.
950 (grub_console_normal_color): Likewise.
951 (grub_console_standard_color): Made static.
952 (grub_ncurses_putchar): Remove mapping.
953 (grub_ncurses_getcharwidth): Removed.
954 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
955 (grub_ncurses_setcolor): Removed.
956 (grub_ncurses_getcolor): Likewise.
957 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
958 (grub_console_putchar): ... this.
959 (grub_console_putchar): Handle argument difference.
960 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
961 console_init_early and console_init_lately.
962 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
963 * kern/misc.c (grub_puts): Removed.
964 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
965 (grub_vsnprintf_real): Remove str = NULL support.
966 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
967 * normal/charset.c (grub_utf8_to_ucs4): ... here.
968 * kern/term.c (grub_putcode): Renamed to ...
969 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
970 (grub_putchar): Removed.
971 (grub_xputs_dumb): New function.
972 (grub_xputs): New variable.
973 * lib/charset.c: Move from here ...
974 * normal/charset.c: ... to here.
975 (grub_ucs4_to_utf8): New function.
976 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
977 (join_types): New variable.
978 (unpack_join): New function.
979 (bidi_types): New variable.
980 (unpack_bidi): New function.
981 (get_bidi_type): Likewise.
982 (get_join_type): Likewise.
983 (is_mirrored): Likewise.
984 (grub_unicode_get_comb_type): Likewise.
985 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
986 (is_type_after): Likewise.
987 (grub_unicode_aglomerate_comb): Likewise.
988 (bidi_line_wrap): Likewise.
989 (grub_bidi_line_logical_to_visual): Likewise.
990 (grub_bidi_logical_to_visual): Likewise.
991 (grub_unicode_mirror_code): Likewise.
992 (grub_unicode_shape_code): Likewise.
993 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
994 Don't use grub_putchar.
995 * normal/main.c (grub_normal_init_page): Use grub_putcode.
996 (grub_normal_reader_init): Likewise.
997 (grub_xputs_saved): New variable.
998 (GRUB_MOD_INIT): Set grub_xputs.
999 (GRUB_MOD_FINI): Restore grub_xputs.
1000 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
1001 (menu_init): Avoid printing gfxmenu error.
1002 (show_menu): Use grub_normal_get_char_counter.
1003 * normal/menu_entry.c (update_screen): Fix out-of-array.
1004 (complete): Avoid NULL dereferencing.
1005 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
1006 * normal/menu_text.c (print_spaces): Removed.
1007 (grub_print_ucs4): Likewise.
1008 (grub_print_message_indented): Use grub_print_ucs4.
1009 (print_message): Use grub_putcode.
1010 (print_entry): Hanlde diacritics.
1011 * normal/term.c (term_state): New type.
1012 (grub_more_lines): Removed.
1013 (term_states): New variable.
1014 (grub_normal_line_counter): Renamed to ..
1015 (grub_normal_char_counter): ...this. All users updated.
1016 (grub_normal_get_line_counter): Renamed to ...
1017 (grub_normal_get_char_counter): ... this.
1018 (grub_normal_reset_more): New function.
1019 (process_newline): Removed.
1020 (print_more): New function.
1021 (grub_install_newline_hook): Removed.
1022 (map_code): New function.
1023 (grub_puts_terminal): Use grub_print_ucs4.
1024 (putglyph): New function.
1025 (putcode_real): Likewise.
1026 (grub_putcode): Use putcode_real.
1027 (get_maxwidth): New function.
1028 (get_startwidth): Likewise.
1029 (print_ucs4_terminal): Likewise.
1030 (find_term_state): Likewise.
1031 (put_glyphs_terminal): Likewise.
1032 (print_backlog): Likewise.
1033 (print_ucs4_real): Likewise.
1034 (grub_print_ucs4): Likewise.
1035 (grub_xputs_normal): Likewise.
1036 * term/efi/console.c (grub_console_putchar): Output diacritics.
1037 (grub_console_getcharwidth): Removed.
1038 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1039 * term/gfxterm.c (clear_char): Free chars.
1040 (scroll_up): Avoid leaking memory.
1041 (grub_gfxterm_putchar): Support diacritics.
1042 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1043 * term/i386/pc/console.c (grub_console_term_output): Declare as
1044 GRUB_TERM_CODE_TYPE_VGA.
1045 * term/i386/pc/vga.c (grub_vga_term): Declare as
1046 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
1047 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
1048 GRUB_TERM_CODE_TYPE_VGA.
1049 * term/i386/vga_common.c (map_char): Removed.
1050 (grub_console_putchar): Likewise.
1051 (grub_console_getcharwidth): Likewise.
1052 * term/ieee1275/ofconsole.c: Simplify using terminfo.
1053 (colors): Reordered to match terminfo.
1054 (grub_ofconsole_normal_color): Removed.
1055 (grub_ofconsole_writeesc): Likewise.
1056 (grub_ofconsole_highlight_color): Likewise.
1057 (grub_ofconsole_getcharwidth): Likewise.
1058 (grub_ofconsole_setcolorstate): Likewise.
1059 (grub_ofconsole_setcolor): Likewise.
1060 (grub_ofconsole_getcolor): Likewise.
1061 (grub_ofconsole_readkey): Renamed to ...
1062 (readkey): ... this. Remove escape sequence handling. Return -1 on no
1063 key.
1064 (grub_ofconsole_checkkey): Removed.
1065 (grub_ofconsole_getkey): Likewise.
1066 (grub_ofconsole_getxy): Likewise.
1067 (grub_ofconsole_gotoxy): Likewise.
1068 (grub_ofconsole_cls): Likewise.
1069 (grub_ofconsole_refresh): Likewise.
1070 (grub_ofconsole_terminfo_input): New struct.
1071 (grub_ofconsole_terminfo_output): Likewise.
1072 (grub_ofconsole_term_input): Use terminfo.
1073 (grub_ofconsole_term_output): Likewise.
1074 (grub_console_init): Split into ...
1075 (grub_console_init_early): ...this and ...
1076 (grub_console_init_lately): ...this. Use terminfo.
1077 (grub_ofconsole_putchar): Renamed to ...
1078 (put): ... this. Remove mapping.
1079 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1080 * term/serial.c: Simplify using terminfo.
1081 (xpos): Removed.
1082 (ypos): Likewise.
1083 (keep_track): Likewise.
1084 (registered): Likewise.
1085 (input_buf): Likewise.
1086 (npending): Likewise.
1087 (serial_translate_key_sequence): Likewise.
1088 (fill_input_buf): Likewise.
1089 (grub_serial_checkkey): Likewise.
1090 (grub_serial_getkey): Likewise.
1091 (grub_serial_getxy): Likewise.
1092 (grub_serial_gotoxy): Likewise.
1093 (grub_serial_putchar): Likewise.
1094 (grub_serial_cls): Likewise.
1095 (grub_serial_setcolorstate): Likewise.
1096 (grub_serial_setcursor): Likewise.
1097 (serial_hw_init): Use serial_hw_fetch.
1098 (grub_serial_terminfo_input): New variable.
1099 (grub_serial_terminfo_output): Likewise.
1100 (grub_serial_term_input): Use terminfo.
1101 (grub_serial_term_output): Likewise.
1102 * term/terminfo.c (putstr): Use put.
1103 (grub_terminfo_all_free): New function
1104 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
1105 (grub_terminfo_output_register): New function.
1106 (grub_terminfo_output_unregister): Likewise.
1107 (grub_terminfo_getxy): Likewise.
1108 (grub_terminfo_readkey): Likewise.
1109 (grub_terminfo_checkkey): Likewise.
1110 (grub_terminfo_getkey): Likewise.
1111 (grub_terminfo_input_init): Likewise.
1112 (print_terminfo): Likewise.
1113 (grub_cmd_terminfo): Handle encoding.
1114 (grub_terminfo_gotoxy): Track position.
1115 (grub_terminfo_cls): Likewise.
1116 (grub_terminfo_putchar): Likewise.
1117 (grub_terminfo_setcolorstate): Handle colors
1118 (grub_terminfo_cursor_on): This ...
1119 (grub_terminfo_cursor_off): ... and this merged into ...
1120 (grub_terminfo_setcursor): ... this.
1121 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
1122 * unicode/ArabicShaping.txt: New file (imported from Unicode).
1123 * unicode/BidiMirroring.txt: Likewise.
1124 * unicode/UnicodeData.txt: Likewise.
1125 * unicode/COPYING: Likewise.
1126 * util/grub-editenv.c (grub_putchar): Removed.
1127 (grub_xputs_real): New function.
1128 (grub_xputs): New variable.
1129 * util/grub-fstest.c (grub_putchar): Removed.
1130 (grub_xputs_real): New function.
1131 (grub_xputs): New variable.
1132 * util/grub-mkdevicemap.c (grub_putchar): Removed.
1133 (grub_xputs_real): New function.
1134 (grub_xputs): New variable.
1135 * util/grub-probe.c (grub_putchar): Removed.
1136 (grub_xputs_real): New function.
1137 (grub_xputs): New variable.
1138 * util/grub-script-check.c (grub_putchar): Removed.
1139 (grub_xputs_real): New function.
1140 (grub_xputs): New variable.
1141 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
1142 (grub_xputs_real): New function.
1143 (grub_xputs): New variable.
1144 * util/import_unicode.py: New file.
1145 * util/grub-mkfont.c (ft_errmsgs): New array.
1146 (grub_glyph_info): Make bitmap a pointer.
1147 (file_formats): New type WIDTH_SPEC.
1148 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
1149 (options): Add width-spec.
1150 (help): Likewise.
1151 (add_char): Renamed to ...
1152 (add_glyph): ... this.
1153 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
1154 (glyph_replace): New type.
1155 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
1156 (add_char): New function.
1157 (add_subst): Likewise.
1158 (process_cursive): Likewise.
1159 (add_font): Handle GSUB.
1160 (write_font_width_spec): New function.
1161 (main): Sort glyphs.
1162 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
1163 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
1164 * kern/term.c (grub_cls): Moved from here...
1165 * normal/term.c (grub_cls): ... here.
1166
50f0bcda
CW
11672010-07-02 Colin Watson <cjwatson@ubuntu.com>
1168
1169 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
1170 suitable for using within the format argument of printf when
1171 converting grub_size_t.
1172 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
1173 "x" to convert grub_size_t arguments.
1174
40372103
VS
11752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
1178 too long captions.
1179 (list_get_minimal_size): Take selection box into account.
1180
942a10c7
VS
11812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
1184 NULL font.
1185
2bdb2892
CW
11862010-07-02 Colin Watson <cjwatson@ubuntu.com>
1187
1188 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
1189 devices when iterating over /dev/disk/by-id; they will be handled
1190 later if appropriate, which they aren't always (e.g. LVM).
1191
e03ed6c1
CW
11922010-07-02 Colin Watson <cjwatson@ubuntu.com>
1193
1194 * include/grub/misc.h (grub_reboot): Declare as noreturn.
1195 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
1196 fails.
1197 (grub_halt): Likewise.
1198 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
1199 reset-all fails.
1200 (grub_halt): Don't return, even if all of shut-down, power-off, and
1201 poweroff fail.
1202
47695765
CW
12032010-07-02 Colin Watson <cjwatson@ubuntu.com>
1204
1205 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
1206 arguments, not three.
1207
507736c8
CW
12082010-07-02 Colin Watson <cjwatson@ubuntu.com>
1209
1210 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
1211 * util/grub.d/10_linux.in: Use it to check for LVM, so that
1212 LVM-on-RAID is handled correctly.
1213
e3c8cd37
CW
12142010-07-02 Colin Watson <cjwatson@ubuntu.com>
1215
1216 * docs/grub.texi (Changes from GRUB Legacy): New section.
1217 (Future): Fix typo.
1218
8d4a2fec
CW
12192010-07-02 Colin Watson <cjwatson@ubuntu.com>
1220
1221 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
1222 grub.d/README accidentally ends up executable for one reason or
1223 another. Ignore it.
1224
1c4827be
VS
12252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
1228 (gpt_partition_map_iterate): Support non-512B sectors.
1229
d9a0c941
VS
12302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * kern/efi/init.c (grub_efi_init): Disable watchdog.
1233 Tested by: Seth Goldberg.
1234
48f27e87
VS
12352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
1238 Properly align mbi.
1239 Reported by: Seth Goldberg.
1240
b0c4f956
VS
12412010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/grub-mkrescue.in: Avoid module duplication.
1244
105a2e8c
SF
12452010-07-01 Sean Finney <seanius@seanius.net>
1246
1247 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
1248
5944958c
SF
12492010-07-01 Sean Finney <seanius@seanius.net>
1250
1251 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
1252
12532010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * disk/lvm.c (grub_lvm_checkvalue): New function.
1256 (grub_lvm_check_flag): Likewise.
1257
b79889ba
RM
12582010-07-01 Robert Millan <rmh@gnu.org>
1259
1260 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1261 Support 'p' as partition separator on kernel of FreeBSD (used
1262 with GPT labels).
1263 (grub_util_biosdisk_get_grub_dev): Likewise.
1264
ec1d04f1
VS
12652010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Yeeloong firmware port.
1268
1269 * boot/mips/yeeloong/fwstart.S: New file.
1270 * bus/cs5536.c (gpiodump): New const.
1271 (set_io_space): New function.
1272 (set_iod): Likewise.
1273 (set_p2d): Likewise.
1274 (grub_cs5536_init_geode): Likewise.
1275 * commands/mips/yeeloong/lsspd.c: New file.
1276 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1277 (serial_mod_SOURCES): New variable.
1278 (serial_mod_CFLAGS): Likewise.
1279 (serial_mod_LDFLAGS): Likewise.
1280 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1281 term/terminfo.c and term/tparm.c.
1282 (pkglib_IMAGES): Add fwstart.img.
1283 (fwstart_img_SOURCES): New variable.
1284 (fwstart_img_CFLAGS): Likewise.
1285 (fwstart_img_ASFLAGS): Likewise.
1286 (fwstart_img_LDFLAGS): Likewise.
1287 (fwstart_img_FORMAT): Likewise.
1288 (pkglib_MODULES): Add lsspd.mod.
1289 (lsspd_mod_SOURCES): New variable.
1290 (lsspd_mod_CFLAGS): Likewise.
1291 (lsspd_mod_LDFLAGS): Likewise.
1292 (pkglib_MODULES): Add halt.mod.
1293 (halt_mod_SOURCES): New variable.
1294 (halt_mod_CFLAGS): Likewise.
1295 (halt_mod_LDFLAGS): Likewise.
1296 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1297 (serial_mod_SOURCES): Removed.
1298 (serial_mod_CFLAGS): Likewise.
1299 (serial_mod_LDFLAGS): Likewise.
1300 * disk/ata.c (check_device): New function.
1301 (grub_ata_device_initialize): Use check_device.
1302 (grub_ata_iterate): Recheck devices.
1303 (grub_ata_open): Likewise.
1304 (grub_atapi_iterate): Likewise.
1305 (grub_atapi_open): Likewise.
1306 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1307 (GRUB_ATA_CH1_PORT1): Likewise.
1308 (GRUB_ATA_CH0_PORT2): Likewise.
1309 (GRUB_ATA_CH1_PORT2): Likewise.
1310 * include/grub/mips/loongson.h: New file.
1311 * include/grub/mips/yeeloong/ec.h: Likewise.
1312 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1313 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1314 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1315 * include/grub/misc.h (grub_halt): Declare as noreturn.
1316 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1317 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1318 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1319 (UART_ENABLE_DTRRTS): Likewise.
1320 (UART_ENABLE_MODEM): Removed.
1321 (UART_ENABLE_OUT2): New const.
1322 * include/grub/term.h (grub_term_register_input_active): New function.
1323 (grub_term_register_output_active): Likewise.
1324 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1325 argument.
1326 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1327 (init_pci): New function.
1328 (grub_machine_init): Execute platform init when firmware. Init serial.
1329 (grub_halt): Implement.
1330 (grub_exit): Likewise.
1331 (grub_reboot): Likewise.
1332 * term/serial.c (serial_hw_init): Update macros.
1333 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1334 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1335 (image_targets): New target mipsel-yeeloong-flash.
1336 (generate_image): Support IMAGE_YEELOONG_FLASH.
1337 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1338 (grub_video_sm712_setup): Init card.
1339 (grub_video_sm712_set_palette): Removed.
1340 * video/sm712_init.c: New file.
1341
ff4a70d2
CW
13422010-06-30 Colin Watson <cjwatson@ubuntu.com>
1343
1344 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1345 PATH when running help2man and then run it on the unadorned
1346 executable names, rather than passing $(builddir)/* paths to
1347 help2man. This avoids the build directory ending up in generated
1348 manual pages.
1349
1246efeb
CW
13502010-06-29 Colin Watson <cjwatson@ubuntu.com>
1351
1352 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1353 to avoid accidents when debugging with 'sh -x'.
1354 * util/grub-mkrescue.in: Likewise.
1355 * util/grub.d/00_header.in: Likewise.
1356 * util/grub.d/10_hurd.in: Likewise.
1357 * util/grub.d/10_kfreebsd.in: Likewise.
1358 * util/grub.d/10_linux.in: Likewise.
1359 * util/grub.d/10_netbsd.in: Likewise.
1360 * util/grub.d/10_windows.in: Likewise.
1361 * util/grub.d/20_linux_xen.in: Likewise.
1362 * util/grub.d/30_os-prober.in: Likewise.
1363 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1364
1ba9b889
CW
13652010-06-29 Colin Watson <cjwatson@ubuntu.com>
1366
1367 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1368 last character in the buffer.
1369 Reported by: Vladimir Serbinenko.
1370
dccaf99d
RM
13712010-06-29 Robert Millan <rmh@gnu.org>
1372
1373 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1374 (Command-line and menu entry commands): Document `badram' command.
1375
d500ed12
RM
13762010-06-28 Robert Millan <rmh@gnu.org>
1377
1378 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1379 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1380 command using ${GRUB_BADRAM} as parameter.
1381
20bc84a6
CW
13822010-06-28 Colin Watson <cjwatson@ubuntu.com>
1383
1384 * docs/grub.texi (Device map): New section.
1385 (Themes): New section (stub).
1386 * Makefile.in (docs/grub.info): The info documentation now builds
1387 without errors. Make sure it stays that way.
1388
4045dee1
VS
13892010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 Use normal parser for menu entries.
1392 Reported by: Thomas Frauendorfer
1393
1394 * include/grub/parser.h (grub_parser_execute): Don't export.
1395 * normal/menu.c (grub_menu_execute_entry_real): New function.
1396 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1397
bca58c7b
CW
13982010-06-28 Colin Watson <cjwatson@ubuntu.com>
1399
1400 * docs/grub.texi (Embedded configuration): New section (replacing
1401 old "Preset Menu" stub).
1402 (Images): New section.
1403 (configfile): Note that any menu entries defined in `file' are shown
1404 immediately.
1405
dec53e63
JT
14062010-06-28 Josh Triplett <josh@joshtriplett.org>
1407
1408 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1409
c06e40f7
CW
14102010-06-28 Colin Watson <cjwatson@ubuntu.com>
1411
1412 * util/grub-install.in: Add --debug-image= option.
1413
cb88052b
CW
14142010-06-28 Colin Watson <cjwatson@ubuntu.com>
1415
1416 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1417 possible on Linux.
1418
1419 * util/deviceiter.c (check_device): Rename to ...
1420 (check_device_readable_unique): ... this. Update all callers.
1421 Maintain and check a list of which devices (by canonicalized name)
1422 have already been seen.
1423 (clear_seen_devices): New function.
1424 (compare_file_names) [__linux__]: New function.
1425 (grub_util_iterate_devices): Clear the list of seen devices on exit
1426 and (just in case) on entry.
1427 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1428 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1429 seen-devices list, superseded by general code in check_device.
1430
bbe34652
CW
14312010-06-28 Colin Watson <cjwatson@ubuntu.com>
1432
1433 * commands/cat.c (options): New variable.
1434 (grub_cmd_cat): Parse options. If the --dos option is given, print
1435 DOS-style "\r\n" line endings as simple newlines (Debian bug
1436 #586358).
1437 (GRUB_MOD_INIT): Use extcmd.
1438 (GRUB_MOD_FINI): Likewise.
1439 * docs/grub.texi (cat): Document --dos.
1440
412e09f3
VS
14412010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 XEN with Linux grub-mkconfig support.
1444
1445 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1446 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1447 GRUB_CMDLINE_XEN_DEFAULT.
1448 * util/grub.d/20_linux_xen.in: New file.
1449
53f3ef38 14502010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
1451
1452 Initialise VGA video on qemu ourselves.
1453
1454 * boot/i386/qemu/boot.S: Don't call 0xc000.
1455 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1456 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1457 (kernel_img_HEADERS): Add pci.h.
1458 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1459 * configure.ac: Force unifont on qemu and yeeloong.
1460 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1461 (grub_vga_palette_write): Use correct register.
1462 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1463 Call grub_qemu_init_cirrus.
1464 * kern/i386/qemu/init.c: New file.
1465 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1466
1467 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1468
c75be4fb
PR
14692010-06-26 Pavel Roskin <proski@gnu.org>
1470
1471 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1472 13.
1473
d8034603
CW
14742010-06-26 Colin Watson <cjwatson@ubuntu.com>
1475
1476 * docs/grub.texi (Simple configuration): Explain that
1477 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1478 set to `true' to disable their respective recovery entries, not
1479 merely set.
1480
3fa06487
CW
14812010-06-26 Colin Watson <cjwatson@ubuntu.com>
1482
1483 Make the `source' command slightly faster.
1484
1485 * normal/main.c (grub_normal_execute): Don't re-read list files when
1486 nested.
1487
e9b29642
CW
14882010-06-23 Colin Watson <cjwatson@ubuntu.com>
1489
1490 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1491 field position and mask size to red fields from mode_info, not
1492 green.
1493 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1494 Remove redundant tag->common.framebuffer_type assignment.
1495 Reported by: Seth Goldberg.
1496
e726542f
CW
14972010-06-23 Colin Watson <cjwatson@ubuntu.com>
1498
1499 Sync up other versions of the Linux loader with Robert Millan's
1500 change of 2010-01-09, "Make loader output a bit more user-friendly".
1501
1502 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1503 grub_dprintf().
1504 (grub_cmd_linux): Likewise.
1505 (grub_cmd_initrd): Likewise.
1506 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1507 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1508
d6e98a17
CW
15092010-06-21 Colin Watson <cjwatson@ubuntu.com>
1510
1511 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1512 larger than MEMORY_MAP_SIZE.
1513
14d3f08e
BC
15142010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1515
1516 Fix parallel build.
1517
1518 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1519 dependency.
1520 * script/parser.y: #include grub_script.tab.h header.
1521
4f9613a3
VS
15222010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Support >3GiB and <16MiB RAM in i386-qemu.
1525
1526 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1527 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1528 (grub_lower_mem): Removed.
1529 (grub_upper_mem): Likewise.
1530 (mem_size): Made static.
1531 (above_4g): New variable.
1532 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1533 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1534 support.
1535
05e51879
VS
15362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Cirrus 5446 and Bochs video cards support.
1539
1540 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1541 video_bochs.mod
1542 (video_cirrus_mod_SOURCES): New variable.
1543 (video_cirrus_mod_CFLAGS): Likewise.
1544 (video_cirrus_mod_LDFLAGS): Likewise.
1545 (video_bochs_mod_SOURCES): Likewise.
1546 (video_bochs_mod_CFLAGS): Likewise.
1547 (video_bochs_mod_LDFLAGS): Likewise.
1548 * include/grub/vga.h: New file.
1549 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1550 (grub_video_fb_set_page_t): New type.
1551 (grub_video_fb_setup): New prototype.
1552 (grub_video_fb_swap_buffers): Likewise.
1553 (grub_video_fb_get_info_and_fini): Likewise.
1554 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1555 (CRTC_DATA_PORT): Likewise.
1556 (CRTC_CURSOR): Likewise.
1557 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1558 (CRTC_CURSOR_ADDR_LOW): Likewise.
1559 (CRTC_CURSOR_DISABLE): Likewise.
1560 (update_cursor): Use grub_vga_cr_write.
1561 (grub_vga_text_setcursor): Likewise.
1562 * video/bochs.c: New file.
1563 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1564 (palette): Likewise.
1565 (palette_size): Likewise.
1566 (framebuffer): New variable.
1567 (grub_video_fb_init): Use 'framebuffer'.
1568 (grub_video_fb_fini): Likewise.
1569 (grub_video_fb_get_info): Likewise.
1570 (grub_video_fb_get_palette): Likewise.
1571 (grub_video_fb_set_palette): Likewise.
1572 (grub_video_fb_set_viewport): Likewise.
1573 (grub_video_fb_get_viewport): Likewise.
1574 (grub_video_fb_map_color): Likewise.
1575 (grub_video_fb_map_rgb): Likewise.
1576 (grub_video_fb_map_rgba): Likewise.
1577 (grub_video_fb_unmap_color): Likewise.
1578 (grub_video_fb_unmap_color_int): Likewise.
1579 (grub_video_fb_fill_rect): Likewise.
1580 (grub_video_fb_blit_bitmap): Likewise.
1581 (grub_video_fb_blit_render_target): Likewise.
1582 (grub_video_fb_scroll): Likewise.
1583 (grub_video_fb_create_render_target): Likewise.
1584 (grub_video_fb_doublebuf_blit_init): Likewise.
1585 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1586 (doublebuf_pageflipping_update_screen): New function.
1587 (doublebuf_pageflipping_init): Likewise.
1588 (grub_video_fb_setup): Likewise.
1589 (grub_video_fb_swap_buffers): Likewise.
1590 (grub_video_fb_get_info_and_fini): Likewise.
1591 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1592 All users updated.
1593 (doublebuf_pageflipping_commit): Restructured into ...
1594 (doublebuf_pageflipping_set_page): ... this.
1595 (doublebuf_pageflipping_update_screen): Removed.
1596 (doublebuf_pageflipping_init): Likewise.
1597 (double_buffering_init): Likewise.
1598 (grub_video_vbe_setup): Use grub_video_fb_setup.
1599 (grub_video_vbe_swap_buffers): Removed.
1600 (grub_video_vbe_set_active_render_target): Likewise.
1601 (grub_video_vbe_get_active_render_target): Likewise.
1602 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1603 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1604 grub_video_fb_set_active_render_target and
1605 grub_video_fb_get_active_render_target.
1606 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1607 (SEQUENCER_DATA_PORT): Likewise.
1608 (MAP_MASK_REGISTER): Likewise.
1609 (CRTC_ADDR_PORT): Likewise.
1610 (CRTC_DATA_PORT): Likewise.
1611 (START_ADDR_HIGH_REGISTER): Likewise.
1612 (START_ADDR_LOW_REGISTER): Likewise.
1613 (GRAPHICS_ADDR_PORT): Likewise.
1614 (GRAPHICS_DATA_PORT): Likewise.
1615 (READ_MAP_REGISTER): Likewise.
1616 (INPUT_STATUS1_REGISTER): Likewise.
1617 (INPUT_STATUS1_VERTR_BIT): Likewise.
1618 (get_map_mask): Use grub_vga_sr_read.
1619 (set_map_mask): Use grub_vga_sr_write.
1620 (set_read_map): Use grub_vga_gr_write.
1621 (set_start_address): Use grub_vga_cr_write.
1622 * video/sm712.c (framebuffer): Remove leftover fields.
1623
4321c64a
CW
16242010-06-20 Colin Watson <cjwatson@ubuntu.com>
1625
1626 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1627 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1628 instead. Replace the gfxterm backend check with a check that
1629 ${GRUB_PREFIX}/video.lst is non-empty.
1630 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1631 again.
1632 (load_video): New generated function. Call it before loading
1633 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1634 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1635 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1636 * docs/grub.texi (Simple configuration): Document
1637 GRUB_VIDEO_BACKEND.
1638
16392010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Use video functions in linux and xnu loaders.
1642
1643 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1644 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1645 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1646 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1647 loader/i386/pc/linux.c.
1648 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1649 (find_line_len): Removed.
1650 (find_framebuf): Likewise.
1651 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1652 * loader/i386/efi/xnu.c: Removed.
1653 * loader/i386/pc/xnu.c: Moved from here...
1654 * loader/i386/xnu.c: ...here.
1655
1656 Enable priorities in video drivers.
1657
1658 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1659 (grub_video_adapter): New field prio.
1660 (grub_video_register): Respect prio when inserting.
1661 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1662 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1663 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1664 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1665 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1666 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1667 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1668
1669 Fix SDL driver ID.
1670
1671 * include/grub/video.h (grub_video_driver_id_t): New value
1672 GRUB_VIDEO_DRIVER_SDL.
1673 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1674
7d24e434
CW
16752010-06-17 Colin Watson <cjwatson@ubuntu.com>
1676
1677 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1678 argument to printf.
1679 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1680
c88a83f6
CW
16812010-06-17 Colin Watson <cjwatson@ubuntu.com>
1682
1683 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1684 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1685
094dfb69
CW
16862010-06-17 Colin Watson <cjwatson@ubuntu.com>
1687
1688 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1689 directly, and recommend grub-install instead.
1690 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1691
2164da6b
CW
16922010-06-17 Colin Watson <cjwatson@ubuntu.com>
1693
1694 Fix i386-pc prefix handling with nested partitions (Debian bug
1695 #585068). Note that the case where the core image is booted using
1696 multiboot and relocated from its original location still requires
1697 more work.
1698
1699 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1700 with "(,", fill the boot drive in between those two characters, but
1701 expect that a full partition specification including partition map
1702 names will follow.
1703 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1704 specified, write a prefix without the drive name but including a
1705 full partition specification.
1706
044e2e60
CW
17072010-06-16 Colin Watson <cjwatson@ubuntu.com>
1708
1709 * util/grub-mkconfig.in: Ignore non-option arguments, for
1710 compatibility with older versions (before 2010-06-12) which did the
1711 same. In particular, this makes it easier to ship an update-grub
1712 wrapper which is compatible with that used with GRUB Legacy (Debian
1713 bug #586056).
1714
5591324f
GS
17152010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1716
1717 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1718 for manual page generation.
1719
662e24d5
GS
17202010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1721
1722 * po/POTFILES: Remove leftover commands/handler.c.
1723
8d70754e
CW
17242010-06-14 Colin Watson <cjwatson@ubuntu.com>
1725
1726 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1727 left this script non-functional.
1728
41160e2e
CW
17292010-06-14 Colin Watson <cjwatson@ubuntu.com>
1730
1731 * docs/man/grub-emu.h2m: New file.
1732
b5309cc1
CW
17332010-06-13 Colin Watson <cjwatson@ubuntu.com>
1734
1735 * docs/grub.texi (Commands): Document reduced command set in rescue
1736 mode.
1737 (cpuid): New section.
1738
fcb2d090
GS
17392010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1740
1741 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1742 new partition naming style.
1743 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1744
96e5c556
BC
17452010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1746
1747 Add "-o grub.iso" like cmdline options support.
1748
1749 * util/grub-install.in: Improve cmdline option parsing.
1750 * util/grub-mkconfig.in: Likewise.
1751 * util/grub-mkrescue.in: Likewise.
1752 * util/grub-reboot.in: Likewise.
1753 * util/grub-set-default.in: Likewise.
1754 * util/i386/efi/grub-install.in: Likewise.
1755 * util/ieee1275/grub-install.in: Likewise.
1756 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1757
c16be99b
CW
17582010-06-12 Colin Watson <cjwatson@ubuntu.com>
1759
1760 * .bzrignore: Ignore 41_custom.
1761
ce08a9fb
TS
17622010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1763
1764 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1765
7beac90c
CW
17662010-06-12 Colin Watson <cjwatson@ubuntu.com>
1767
1768 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1769 prototype declarations.
1770
1771 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1772 generating fs, partmap, and video lists.
1773 * include/grub/fs.h (grub_fs_register): Omit prototype if
1774 GRUB_LST_GENERATOR is defined.
1775 * include/grub/partition.h (grub_partition_map_register): Likewise.
1776 * include/grub/video.h (grub_video_register): Likewise.
1777
1c8f0f8d
JM
17782010-06-12 Javier Martín <lordhabbit@gmail.com>
1779
1780 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1781
a6085973
TS
17822010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1783
1784 * util/grub-mkrescue.in: Support --xorriso argument.
1785
25c56d29
VS
17862010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1789 Suggested by: Thomas Schmitt.
1790
e03e4b24
VS
17912010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1794 Suggested by: Thomas Schmitt.
1795
57711df6
VS
17962010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 custom.cfg support.
1799
1800 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1801 * util/grub.d/41_custom.in: New file.
1802
ee62c427
CW
18032010-06-12 Colin Watson <cjwatson@ubuntu.com>
1804
1805 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1806 been merged back into normal.
1807
283af07a
CW
18082010-06-11 Colin Watson <cjwatson@ubuntu.com>
1809
1810 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1811 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1812
56a0d956
CW
18132010-06-11 Colin Watson <cjwatson@ubuntu.com>
1814
1815 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1816 when generating manual pages.
1817 * docs/man/grub-bin2h.h2m: New file.
1818 * docs/man/grub-editenv.h2m: New file.
1819 * docs/man/grub-fstest.h2m: New file.
1820 * docs/man/grub-install.h2m: New file.
1821 * docs/man/grub-macho2img.h2m: New file.
1822 * docs/man/grub-mkconfig.h2m: New file.
1823 * docs/man/grub-mkdevicemap.h2m: New file.
1824 * docs/man/grub-mkfont.h2m: New file.
1825 * docs/man/grub-mkimage.h2m: New file.
1826 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1827 * docs/man/grub-mkrelpath.h2m: New file.
1828 * docs/man/grub-mkrescue.h2m: New file.
1829 * docs/man/grub-ofpathname.h2m: New file.
1830 * docs/man/grub-pe2elf.h2m: New file.
1831 * docs/man/grub-probe.h2m: New file.
1832 * docs/man/grub-reboot.h2m: New file.
1833 * docs/man/grub-script-check.h2m: New file.
1834 * docs/man/grub-set-default.h2m: New file.
1835 * docs/man/grub-setup.h2m: New file.
1836
3a37e322
VS
18372010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Use FOR_* macros instead of *_iterate whenever possible.
1840
1841 * commands/handler.c: Removed.
1842 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1843 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1844 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1845 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1846 (grub_probe_SOURCES): Remove kern/parser.c.
1847 (util/grub-script-check.c_DEPENDENCIES): Removed.
1848 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1849 and grub_script_check_init.c.
1850 (grub_script_check_init.lst): Removed.
1851 (grub_script_check_init.h): Likewise.
1852 (grub_script_check_init.c): Likewise.
1853 (pkglib_MODULES): Remove handler.mod and sh.mod.
1854 (handler_mod_SOURCES): Removed.
1855 (handler_mod_CFLAGS): Likewise.
1856 (handler_mod_LDFLAGS): Likewise.
1857 (normal_mod_SOURCES): Remove normal/handler.c.
1858 Add script/main.c, script/script.c, script/execute.c,
1859 script/function.c, script/lexer.c, grub_script.tab.c
1860 and grub_script.yy.c.
1861 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1862 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1863 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1864 (grub_setup_SOURCES): Remove kern/parser.c.
1865 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1866 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1867 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1868 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1869 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1870 (grub_setup_SOURCES): Remove kern/parser.c.
1871 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1872 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1873 * include/grub/command.h (grub_command_iterate): Removed.
1874 (FOR_COMMANDS): New macro.
1875 * include/grub/dl.h (grub_dl): New member next.
1876 (grub_dl_iterate): Removed.
1877 (grub_dl_head): New variable declaration.
1878 (FOR_DL_MODULES): New macro.
1879 * include/grub/fs.h: Include list.h.
1880 (grub_fs): Make next first element.
1881 (grub_fs_list): New variable declaration.
1882 (grub_fs_register): Make inline.
1883 (grub_fs_unregister): Likewise.
1884 (grub_fs_iterate): Removed.
1885 (FOR_FILESYSTEMS): New macro.
1886 * include/grub/handler.h: Removed.
1887 * include/grub/list.h (grub_list_hook_t): Removed.
1888 (grub_list_test_t): Likewise.
1889 (grub_list_pop): Likewise.
1890 (grub_list_iterate): Likewise.
1891 (grub_list_insert): Likewise.
1892 (FOR_LIST_ELEMENTS): New macro.
1893 * include/grub/parser.h (grub_parser_class): Removed.
1894 (grub_parser_register): Likewise.
1895 (grub_parser_unregister): Likewise.
1896 (grub_parser_get_current): Likewise.
1897 (grub_parser_set_current): Likewise.
1898 (grub_register_rescue_parser): Likewise.
1899 (grub_rescue_parse_line): New function.
1900 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1901 * include/grub/script_sh.h (grub_script_function_list): New variable
1902 declaration.
1903 (FOR_SCRIPT_FUNCTIONS): New macro.
1904 (grub_script_function_iterate): Removed.
1905 (grub_normal_parse_line): New prototype.
1906 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1907 (FOR_DISABLED_TERM_INPUTS): Likewise.
1908 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1909 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1910 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1911 element.
1912 (grub_video_register): Inline.
1913 (grub_video_unregister): Likewise.
1914 (grub_video_adapter_list): New variable declaration.
1915 (grub_video_iterate): Removed.
1916 (FOR_VIDEO_ADAPTERS): New macro.
1917 * kern/dl.c (grub_dl_list): Removed. All users updated.
1918 (grub_dl_iterate): Removed.
1919 * kern/fs.c (grub_fs_list): Make global.
1920 (grub_fs_register): Removed.
1921 (grub_fs_unregister): Likewise.
1922 (grub_fs_iterate): Likewise.
1923 * kern/handler.c: Removed.
1924 * kern/list.c (grub_list_pop): Removed.
1925 (grub_list_iterate): Likewise.
1926 (grub_list_insert): Likewise.
1927 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1928 (grub_prio_list_insert): Don't use grub_list_insert.
1929 * kern/main.c (grub_register_rescue_parser): Don't call
1930 grub_register_rescue_parser.
1931 * kern/parser.c (grub_parser_class): Removed.
1932 (grub_parser_execute): Use grub_rescue_parse_line.
1933 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1934 (grub_rescue_parser): Removed.
1935 (grub_register_rescue_parser): Likewise.
1936 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1937 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1938 (grub_auth_check_authentication): Likewise.
1939 * normal/completion.c (iterate_command): Removed.
1940 (grub_normal_do_completion): Use FOR_COMMANDS.
1941 * normal/handler.c: Removed.
1942 * normal/main.c (read_config_file): Remove parser changing.
1943 (grub_normal_execute): Don't call read_handler_list.
1944 (grub_normal_read_line_real): Statically allocate prompt.
1945 (grub_cmdline_run): Use grub_normal_parse_line.
1946 (GRUB_MOD_FINI): Don't call free_handler_list.
1947 * normal/menu_entry.c (run): Likewise.
1948 * script/function.c (grub_script_function_list): Make global.
1949 (grub_script_function_iterate): Removed.
1950 * script/main.c (grub_normal_parse_line): Make global.
1951 (grub_sh_parser): Removed.
1952 (GRUB_MOD_INIT): Likewise.
1953 (GRUB_MOD_FINI): Likewise.
1954 * tests/lib/functional_test.c (grub_functional_test): Use
1955 FOR_LIST_ELEMENTS.
1956 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1957 (grub_test_run): Use FOR_LIST_ELEMENTS.
1958 * tests/lib/unit_test.c (main): Likewise.
1959 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1960 grub_list_pop.
1961 * util/grub-fstest.c (grub_term_input_class): Removed.
1962 (grub_term_output_class): Likewise.
1963 * util/grub-probe.c: Likewise.
1964 * util/i386/pc/grub-setup.c: Likewise.
1965 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1966 * util/grub-script-check.c (main): Don't call grub_init_all and
1967 grub_fini_all.
1968 * video/video.c (grub_video_adapter_list): Make global.
1969 (grub_video_register): Removed.
1970 (grub_video_unregister): Likewise.
1971 (grub_video_iterate): Likewise.
1972
6289c3a7
VS
19732010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1976 reported by Henrique Ferreiro.
1977
91460247
RM
19782010-06-09 Robert Millan <rmh@gnu.org>
1979
1980 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1981 ones, when both are available.
1982
0ea7c4f9
GS
19832010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1984
1985 Make --version uniform and avoid hard-coded program name.
1986
1987 * util/grub-mkimage.c (main): Use `program_name' instead of
1988 hard-coded string.
1989 * util/i386/pc/grub-setup.c (main): Likewise.
1990 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1991 * util/grub-install.in: Save the basename of $0 in $self, and use the
1992 latter in informational messages. Use the same format for --version
1993 as the binary programs.
1994 * util/grub-mkconfig.in: Likewise.
1995 * util/grub-mkrescue.in: Likewise.
1996 * util/grub-reboot.in: Likewise.
1997 * util/grub-set-default.in: Likewise.
1998 * util/i386/efi/grub-install.in: Likewise.
1999 * util/ieee1275/grub-install.in: Likewise.
2000 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2001
e8a6f3b6
GS
20022010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2003
2004 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
2005 embedding area. Use <= instead of == when checking for non-emptiness.
2006
f4d095d7
GS
20072010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2008
2009 * configure.ac: Add `.' to the directories searched for unifont.
2010
50e532ca
CW
20112010-06-08 Colin Watson <cjwatson@ubuntu.com>
2012
2013 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
2014 grub_script.yy.h.
2015
d39f3dec
CW
20162010-06-08 Colin Watson <cjwatson@ubuntu.com>
2017
2018 * docs/grub.texi (History): Expand to cover GRUB 2.
2019 (Serial terminal): Refer to `terminal_input' and `terminal_output'
2020 commands, not `terminal'.
2021 (serial): Likewise.
2022 (terminal_input): New section.
2023 (terminal_output): New section.
2024 (uppermem): New section (stub).
2025 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
2026
6ef0ddb4
CW
20272010-06-08 Colin Watson <cjwatson@ubuntu.com>
2028
2029 * docs/grub.texi (Security): Menu entries are unrestricted by
2030 default, not restricted to superusers as I had previously thought.
2031 Reword to account for this.
2032
e0f4c438
CW
20332010-06-07 Colin Watson <cjwatson@ubuntu.com>
2034
2035 * kern/emu/misc.c (device_mapper_null_log): New function.
2036 (grub_device_mapper_supported): New function.
2037 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
2038 prototype.
2039 * kern/emu/hostdisk.c (find_partition_start): Check whether
2040 device-mapper is supported before trying to use it.
2041 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
2042
da908200
CW
20432010-06-07 Colin Watson <cjwatson@ubuntu.com>
2044
2045 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
2046 (File name syntax): Likewise.
2047 (help): --all is no longer supported in GRUB 2. Be more precise
2048 about pattern matching.
2049
fb55c3ac
CW
20502010-06-07 Colin Watson <cjwatson@ubuntu.com>
2051
2052 * normal/completion.c (grub_normal_do_completion): When completing
2053 arguments to "set" and the current word contains an equals sign,
2054 skip to after the equals sign before starting completion.
2055
258c2573
CW
20562010-06-07 Colin Watson <cjwatson@ubuntu.com>
2057
2058 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
2059
ee75515e
CW
20602010-06-07 Colin Watson <cjwatson@ubuntu.com>
2061
2062 * docs/grub.texi (Network): New section.
2063 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
2064 `(nd)' as in GRUB Legacy.
2065 (pxe_unload): New section.
2066
a6a700aa
CW
20672010-06-07 Colin Watson <cjwatson@ubuntu.com>
2068
2069 * docs/grub.texi (Troubleshooting): `echo' is not usually available
2070 in the rescue shell, so recommend using `set' instead. Thanks,
2071 Jordan Uggla.
2072
4003dd38
CW
20732010-06-07 Colin Watson <cjwatson@ubuntu.com>
2074
2075 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
2076 (password): New section.
2077 (password_pbkdf2): New section.
2078 (search): New section.
2079 (Security): New section.
2080 (Troubleshooting): New section, currently very incomplete.
2081 (Invoking grub-mkpasswd-pbkdf2): New section.
2082 (Internals): New section, currently very incomplete.
2083
e1cbcc40
CW
20842010-06-07 Colin Watson <cjwatson@ubuntu.com>
2085
2086 * util/grub.d/00_header.in: Add some more quoting (of
2087 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
2088 work again.
2089 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
2090
db8fa1ad
CW
20912010-06-07 Colin Watson <cjwatson@ubuntu.com>
2092
2093 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
2094 to `count', fixing variable shadowing that broke the -c option.
2095
20962010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
2097
2098 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
2099 in case they contain spaces.
2100
f28a9212
CW
21012010-06-04 Colin Watson <cjwatson@ubuntu.com>
2102
2103 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
2104 "part_" to partmap module names, in line with grub-install.
2105 Reported by: Jindřich Makovička (Debian bug #584426).
2106
9cdfe32f
CW
21072010-06-04 Colin Watson <cjwatson@ubuntu.com>
2108
2109 * util/grub-mkimage.c: Make target-related error messages slightly
2110 more helpful; -O talks about "format". Explicitly point to the use
2111 of -O if no target is specified.
2112 Reported by: Didier Raboud (Debian bug #584415).
2113
795b593a
CW
21142010-06-03 Colin Watson <cjwatson@ubuntu.com>
2115
2116 * INSTALL: Document several build requirements for optional features
2117 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
2118
9d9b5833
GS
21192010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2120
2121 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
2122 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
2123 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
2124
0819fec8
CW
21252010-06-02 Colin Watson <cjwatson@ubuntu.com>
2126
2127 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
2128 Thanks to Jordan Uggla for spotting this.
2129
49396b4f
VS
21302010-06-02 Aleš Nesrsta <starous@volny.cz>
2131
2132 Finally make USB usable.
2133
2134 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
2135 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
2136 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
2137 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
2138 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
2139 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
2140 (GRUB_OHCI_FSMPS): Likewise.
2141 (GRUB_OHCI_PERIODIC_START): Likewise.
2142 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
2143 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
2144 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
2145 (GRUB_OHCI_SET_PORT_RESET): Likewise.
2146 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
2147 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
2148 (grub_ohci_transaction): Likewise.
2149 (grub_ohci_transfer): Improve condition detection algorithms.
2150 Handle toggle property. Program the transactions correctly.
2151 Improve error handling. Various important fixups.
2152 (grub_ohci_portstatus): Put register writes in right order.
2153 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
2154 (grub_uhci_transfer): Don't show "failed" message on success.
2155 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
2156 array.
2157 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
2158 determine its size.
2159 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
2160 before initialization is completed. Use IN direction for empty
2161 transfers. Use last_trans and compute toggle.
2162 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
2163 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
2164 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
2165 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
2166 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
2167 (grub_usb_device): Increase toggle to 256.
2168 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
2169 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
2170 GRUB_USBMS_SUBCLASS_SFF8070.
2171 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
2172 (grub_scsi_inquiry): New member page and alloc_length.
2173 (grub_scsi_request_sense): New structure.
2174 (grub_scsi_request_sense_data): Likewise.
2175 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
2176 control.
2177 * disk/scsi.c (grub_scsi_request_sense): New function.
2178 (grub_scsi_test_unit_ready): Likewise.
2179 (grub_scsi_inquiry): Fill new fields.
2180 (grub_scsi_read_capacity): Likewise.
2181 (grub_scsi_read10): Add request sense at the end.
2182 (grub_scsi_read12): Likewise.
2183 (grub_scsi_write10): Likewise.
2184 (grub_scsi_write12): Likewise.
2185 (grub_scsi_open): Add Test Unit Ready.
2186 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
2187 Support additional subclasses. Con't clear halt yet. Activate the
2188 proper config. Calculate LUNs correctly.
2189 (grub_usbms_transfer): Various important fixups.
2190
21912010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
2194 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
2195 (grub_ohci_fini_hw): New function.
2196 (grub_ohci_restore_hw): Likewise.
2197 (GRUB_MOD_INIT(ohci)): Register preboot hook.
2198 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
2199 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
2200
22012010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 Dedicated DMA allocations.
2204
2205 * bus/pci.c (grub_memalign_dma32): New function
2206 (grub_dma_free): Likewise.
2207 (grub_dma_get_virt): Likewise.
2208 (grub_dma_get_phys): Likewise.
2209 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
2210 (grub_ohci_pci_iter): Use dma32_alloc.
2211 (grub_ohci_transfer): Likewise.
2212 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2213 (grub_usb_bulk_readwrite): Likewise.
2214 * include/grub/pci.h: Add declarations.
2215
22162010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 CS5536 support.
2219
2220 * bus/cs5536.c: New file.
2221 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
2222 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
2223 (cs5536_mod_SOURCES): New variable.
2224 (cs5536_mod_CFLAGS): Likewise.
2225 (cs5536_mod_LDFLAGS): Likewise.
2226 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
2227 machine/pci.h.
2228 (kernel_img_SOURCES): Add bus/cs5536.c.
2229 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
2230 usb_keyboard.mod.
2231 (usb_mod_SOURCES): New variable.
2232 (usb_mod_CFLAGS): New variable.
2233 (usb_mod_LDFLAGS): New variable.
2234 (usbtest_mod_SOURCES): New variable.
2235 (usbtest_mod_CFLAGS): New variable.
2236 (usbtest_mod_LDFLAGS): New variable.
2237 (ohci_mod_SOURCES): New variable.
2238 (ohci_mod_CFLAGS): New variable.
2239 (ohci_mod_LDFLAGS): New variable.
2240 (usbms_mod_SOURCES): New variable.
2241 (usbms_mod_CFLAGS): New variable.
2242 (usbms_mod_LDFLAGS): New variable.
2243 (usb_keyboard_mod_SOURCES): New variable.
2244 (usb_keyboard_mod_CFLAGS): New variable.
2245 (usb_keyboard_mod_LDFLAGS): New variable.
2246 * include/grub/smbus.h: New file.
2247 * include/grub/cs5536.h: New file.
2248
0b35b2a9
CW
22492010-06-02 Colin Watson <cjwatson@ubuntu.com>
2250
2251 * util/grub.d/00_header.in: Add safety check to make sure that
2252 ${locale_dir} exists before trying to probe it.
2253
ca0afd5b
CW
22542010-06-02 Colin Watson <cjwatson@ubuntu.com>
2255
2256 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
2257 per the GNU Coding Standards; this is now too obscure to be worth
2258 documenting.
2259 (QNX): Likewise.
2260 (chainloader): Remove cross-reference to `SCO UnixWare'.
2261
1c41aa78
CW
22622010-06-02 Colin Watson <cjwatson@ubuntu.com>
2263
2264 * docs/grub.texi (Chain-loading): New section.
2265 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2266 adjusted for GRUB 2.
2267 (SCO UnixWare): Likewise.
2268 (QNX): Likewise.
2269 (chainloader): Add reference to `Block list syntax'.
2270 (drivemap): New section.
2271 (parttool): New section.
2272
bb8ea0f5
CW
22732010-06-02 Colin Watson <cjwatson@ubuntu.com>
2274
2275 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2276 the grub shell'.
2277 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2278 (Installing GRUB using grub-install): Remove reference to the grub
2279 shell; mention `grub-mkimage' and `grub-setup' instead.
2280 (Invoking grub-install): Likewise.
2281 (Interface): Add reference to `Menu entry editor'.
2282 (serial): Remove `--device' option.
2283
288dd6ed
CW
22842010-06-02 Colin Watson <cjwatson@ubuntu.com>
2285
2286 * docs/grub.texi (Configuration): New section, documenting
2287 configuration file generation using grub-mkconfig. I've left a slot
2288 for documenting the full shell scripting format but have not yet
2289 started on writing that up.
2290 (Invoking grub-mkconfig): New section.
2291
34c9f0e9
CW
22922010-06-02 Colin Watson <cjwatson@ubuntu.com>
2293
2294 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2295 (GNU GRUB manual): Likewise.
2296 (General commands): Update description of `terminfo' for GRUB 2.
2297
9121567e
CW
22982010-06-02 Colin Watson <cjwatson@ubuntu.com>
2299
2300 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2301 (GRUB_MOD_INIT): Fix capitalisation.
2302 * docs/grub.texi (Command-line and menu entry commands): Document
2303 gettext and gptsync commands.
2304
ab631611
CW
23052010-06-02 Colin Watson <cjwatson@ubuntu.com>
2306
2307 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2308 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2309
bde4a9ac
CW
23102010-06-01 Colin Watson <cjwatson@ubuntu.com>
2311
2312 Add btrfs probing support, currently only in the single-device case.
2313
2314 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2315 function.
2316 (grub_guess_root_device): Call find_root_device_from_mountinfo
2317 before looking in /dev.
2318
b1d17e10
VS
23192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2322 GRUB_DISK_SIZE_UNKNOWN.
2323 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2324
dfbfe004
JS
23252010-05-31 Jiro SEKIBA <jir@unicus.jp>
2326
2327 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2328 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2329 corrupted or not synced properly.
2330
c2ffc8e9
VS
23312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2334 Reported by: Seth Goldberg.
2335
56293166
VS
23362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2339 addition of dest.
2340 Reported by: Seth Goldberg.
2341
7620e7de
VS
23422010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2345 Reported by: Seth Goldberg.
2346
c837af3f
VS
23472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2350 64-bit address as signed on MIPS.
2351
c7c75cf4
CW
23522010-05-28 Colin Watson <cjwatson@ubuntu.com>
2353
2354 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2355 to the empty string.
2356
fa4b8490
BC
23572010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2358
2359 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2360
2361 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2362 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2363 * kern/misc.c (__enable_execute_stack): Disable on
2364 GRUB_MACHINE_EMU.
2365
a33075b9
CW
23662010-05-28 Colin Watson <cjwatson@ubuntu.com>
2367
2368 Make grub-probe work with symbolic links under /dev/mapper as well
2369 as with real block devices. The Linux world seems to be (at best)
2370 in transition here, and GRUB shouldn't get caught in the middle.
2371
2372 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2373 /dev/mapper.
2374
d8708134
CW
23752010-05-27 Colin Watson <cjwatson@ubuntu.com>
2376
2377 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2378 input files (in which case exit zero).
2379
db2102a0
CW
23802010-05-27 Colin Watson <cjwatson@ubuntu.com>
2381
2382 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2383 return NULL for various reasons even if it has a maximum-length
2384 buffer: for example, there might be a symlink loop, or the path
2385 might exceed PATH_MAX. If this happens, return NULL.
2386
5fdba519
RM
23872010-05-27 Robert Millan <rmh@gnu.org>
2388
2389 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2390 partmap module to handle cross-partmap setups.
2391 Reported by Orestes Mas. Gràcies!
2392
d1d368e4
CW
23932010-05-27 Colin Watson <cjwatson@ubuntu.com>
2394
2395 * util/grub-mkrescue.in: Initialise override_dir rather than
2396 assuming that it's unset or empty in the environment.
2397
95ac3c73
GS
23982010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2399
2400 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2401 variable index into p_index to suppress a warning with -Wshadow.
2402
7d8c0213
BC
24032010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2404
2405 * INSTALL: Added flex >= 2.5.35 requirement.
2406
db4d5813
VS
24072010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2410
f24f4300
VS
24112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 cmostest support.
2414
2415 * commands/i386/cmostest.c: New file.
2416 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2417 (cmostest_mod_SOURCES): New variable.
2418 (cmostest_mod_CFLAGS): Likewise.
2419 (cmostest_mod_LDFLAGS): Likewise.
2420 * conf/i386-pc.rmk: Likewise.
2421 * docs/grub.texi (Vendor power-on keys): New section.
2422 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2423 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2424 and GRUB_BUTTON_CMOS_ADDRESS.
2425 * util/grub.d/00_header.in: Handle powering-on by separate button.
2426
ad603f61
VS
24272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2430 Removed drawing_scrollbar argument. All users updated
2431 Fixes #29792.
2432 Reported by Jo Shields
2433
3ecb080a
VS
24342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2437 buffer since gfxterm handles double repaint.
2438
5f2316c1
VS
24392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2442 * term/gfxterm.c (real_scroll): Likewise.
2443
9a25f885
VS
24442010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2447 before calling BIOS.
2448
39fbb79a
VS
24492010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * include/grub/i18n.h: Always enable grub_gettext.
2452
228cfa97
VS
24532010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2456 partition naming style.
2457
21717c8f
CW
24582010-05-21 Colin Watson <cjwatson@ubuntu.com>
2459
2460 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2461 not the first option.
2462
c0f48e65
CW
24632010-05-20 Colin Watson <cjwatson@ubuntu.com>
2464
2465 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2466
96779aec
CW
24672010-05-20 Colin Watson <cjwatson@ubuntu.com>
2468
2469 * util/misc.c: Move inclusion of <limits.h> to ...
2470 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2471
fa9d256e
GS
24722010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2473
2474 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2475 Fix merge error in NetBSD code.
2476 (find_partition_start) [__NetBSD__]: Likewise.
2477
123b7a85
BC
24782010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2479
2480 Fix grub-mkrescue usage unit testing.
2481
2482 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2483
74276c0d
CF
24842010-05-18 Christian Franke <franke@computer.org>
2485
2486 * util/grub.d/10_windows.in: Use path names instead of
2487 drive letters to prevent warning from Cygwin 1.7.
2488 Add drivemap command to menuentry if needed.
2489
c4f7b523
ST
24902010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2491
2492 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2493 gnumach and gnumach.gz.
2494
95b97950
VS
24952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * include/grub/i18n.h (gettext): Inline instead of using #define.
2498 (grub_gettext): Likewise.
2499 (_): Likewise.
2500
01b8d2d7
VS
25012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2504 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2505 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2506 (main): Add a slash after pkglibdirroot.
2507
654e1d1e
VS
25082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * util/grub-install.in: Add missing "in" keyword.
2511
26966aeb
VS
25122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2515 Reported by: Seth Goldberg.
2516
75006747
VS
25172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2520
74cbf5bd
CW
25212010-05-18 Colin Watson <cjwatson@ubuntu.com>
2522
2523 * configure.ac: Check for Linux device-mapper support.
2524
2525 * util/hostdisk.c (device_is_mapped): New function.
2526 (find_partition_start): New function, partly broken out from
2527 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2528 device-mapper support added.
2529 (linux_find_partition): Use find_partition_start.
2530 (convert_system_partition_to_system_disk): Add `st' argument.
2531 Support Linux /dev/mapper/* devices if device-mapper support is
2532 available; only DM-RAID devices are understood at present.
2533 (find_system_device): Add `st' argument. Pass it to
2534 convert_system_partition_to_system_disk.
2535 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2536 find_system_device and convert_system_partition_to_system_disk. Use
2537 find_partition_start.
2538
2539 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2540 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2541 * util/deviceiter.c [__linux__]: Define MINOR.
2542 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2543 * util/mkdevicemap.c (grub_putchar): New function.
2544 (grub_getkey): New function.
2545 (grub_refresh): New function.
2546 (main): Set debug=all if -v -v is used.
2547
355b51e9
CW
25482010-05-18 Colin Watson <cjwatson@ubuntu.com>
2549
2550 Fix build with non-GNU libcs.
2551
2552 * util/misc.c (canonicalize_file_name): Move to ...
2553 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2554 grub_make_system_path_relative_to_its_root.
2555
7fb5c25f
CW
25562010-05-18 Colin Watson <cjwatson@ubuntu.com>
2557
2558 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2559 we handle finding grub-mkimage. Default to finding grub-mkimage in
2560 ${bindir} with program_transform_name applied, and provide a
2561 --grub-mkimage option to override this.
2562
1d3293d6
VS
25632010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 Remove grub-mkisofs.
2566
2567 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2568 (grub_mkisofs_SOURCES): Removed.
2569 (grub_mkisofs_CFLAGS): Removed.
2570 * util/mkisofs/defaults.h: Removed.
2571 * util/mkisofs/eltorito.c: Likewise.
2572 * util/mkisofs/exclude.h: Likewise.
2573 * util/mkisofs/hash.c: Likewise.
2574 * util/mkisofs/include/: Likewise.
2575 * util/mkisofs/include/fctldefs.h: Likewise.
2576 * util/mkisofs/include/mconfig.h: Likewise.
2577 * util/mkisofs/include/prototyp.h: Likewise.
2578 * util/mkisofs/include/statdefs.h: Likewise.
2579 * util/mkisofs/iso9660.h: Likewise.
2580 * util/mkisofs/joliet.c: Likewise.
2581 * util/mkisofs/match.c: Likewise.
2582 * util/mkisofs/match.h: Likewise.
2583 * util/mkisofs/mkisofs.c: Likewise.
2584 * util/mkisofs/mkisofs.h: Likewise.
2585 * util/mkisofs/msdos_partition.h: Likewise.
2586 * util/mkisofs/multi.c: Likewise.
2587 * util/mkisofs/name.c: Likewise.
2588 * util/mkisofs/rock.c: Likewise.
2589 * util/mkisofs/tree.c: Likewise.
2590 * util/mkisofs/write.c: Likewise.
2591
5dde9afe
VS
25922010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Unify grub-mkimage accross platforms.
2595
2596 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2597 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2598 (grub_mkelfimage_SOURCES): Removed.
2599 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2600 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2601 (bin_UTILITIES): Add grub-mkimage.
2602 (grub_mkimage_SOURCES): New variable.
2603 (kernel_img_HEADERS): Remove machine/kernel.h.
2604 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2605 (pkglib_PROGRAMS): Add kernel.img.
2606 (kernel_img_HEADERS): Add machine/kernel.h.
2607 (kernel_img_FORMAT): Removed.
2608 (bin_UTILITIES): Remove grub-mkimage.
2609 (grub_mkimage_SOURCES): Removed.
2610 (grub_mkimage_CFLAGS): Likewise.
2611 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2612 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2613 (pkglib_PROGRAMS): Add kernel.img.
2614 (bin_UTILITIES): Remove grub-mkimage.
2615 (grub_mkimage_SOURCES): Removed.
2616 (grub_mkimage_CFLAGS): Likewise.
2617 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2618 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2619 (pkglib_PROGRAMS): Add kernel.img.
2620 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2621 (pkglib_PROGRAMS): Add kernel.img.
2622 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2623 (grub_mkimage_SOURCES): Removed.
2624 (grub_mkimage_CFLAGS): Likewise.
2625 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2626 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2627 (pkglib_PROGRAMS): Add kernel.img.
2628 (bin_UTILITIES): Remove grub-mkimage.
2629 (grub_mkimage_SOURCES): Removed.
2630 (grub_mkimage_CFLAGS): Likewise.
2631 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2632 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2633 (grub_mkimage_SOURCES): Removed.
2634 (grub_mkimage_CFLAGS): Likewise.
2635 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2636 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2637 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2638 (grub_pe32_optional_header): ... this.
2639 (grub_pe64_optional_header): ... and this. All users updated.
2640 (GRUB_PE32_PE32_MAGIC): Split into ..
2641 (GRUB_PE32_PE32_MAGIC): .. this.
2642 (GRUB_PE32_PE64_MAGIC): .. and this.
2643 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2644 * include/grub/elf.h (PT_GNU_STACK): New definition.
2645 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2646 * include/grub/i386/efi/kernel.h: Likewise.
2647 * include/grub/i386/kernel.h: Likewise.
2648 * include/grub/i386/pc/kernel.h: Likewise.
2649 * include/grub/i386/qemu/boot.h: Likewise.
2650 * include/grub/mips/kernel.h: Likewise.
2651 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2652 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2653 * include/grub/powerpc/kernel.h: Likewise.
2654 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2655 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2656 * include/grub/sparc64/kernel.h: Likewise.
2657 * include/grub/x86_64/efi/kernel.h: Likewise.
2658 * include/grub/x86_64/kernel.h: Likewise.
2659 * include/grub/offsets.h: New file.
2660 * include/grub/kernel.h (grub_module_info): Split into ...
2661 (grub_module_info32): ... this.
2662 (grub_module_info64): ... and this.
2663 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2664 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2665 (grub_boot_blocklist): Moved from here ...
2666 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2667 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2668 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2669 * include/grub/types.h (grub_target_to_host16): Removed.
2670 (grub_target_to_host32): Likewise.
2671 (grub_target_to_host64): Likewise.
2672 (grub_host_to_target16): Likewise.
2673 (grub_host_to_target32): Likewise.
2674 (grub_host_to_target64): Likewise.
2675 (grub_host_to_target_addr): Likewise.
2676
2677 Support grub-mkrescue for efi, coreboot and qemu.
2678
2679 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2680 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2681 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2682 * util/grub-mkrawimage.c: Moved from here ...
2683 * util/grub-mkimage.c: ... here. All users updated.
2684 (ALIGN_ADDR): Use image_target.
2685 (TARGET_NO_FIELD): New const.
2686 (image_target_desc): New type.
2687 (image_targets): New array.
2688 (grub_target_to_host64): Use image_target.
2689 (grub_target_to_host32): Likewise.
2690 (grub_target_to_host16): Likewise.
2691 (grub_host_to_target64): Likewise.
2692 (grub_host_to_target32): Likewise.
2693 (grub_host_to_target16): Likewise.
2694 (grub_host_to_target_addr): Likewise.
2695 (generate_image): Handle multiimage.
2696 (main): Require -O parameter. All users updated.
2697 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2698 util/efi/grub-mkimage.c
2699 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2700 New option --rom-directory.
2701 Use xorriso.
2702 * util/i386/efi/grub-mkimage.c: Removed.
2703 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2704 (grub_target_to_host32): Likewise.
2705 (grub_target_to_host64): Likewise.
2706 (grub_host_to_target16): Likewise.
2707 (grub_host_to_target32): Likewise.
2708 (grub_host_to_target64): Likewise.
2709 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2710 (grub_target_to_host32): Likewise.
2711 (grub_target_to_host64): Likewise.
2712 (grub_host_to_target16): Likewise.
2713 (grub_host_to_target32): Likewise.
2714 (grub_host_to_target64): Likewise.
2715
f4fc97d0
BC
27162010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2717
2718 Source tree is reorganized for emu build.
2719
2720 * include/grub/util/console.h: Move from here...
2721 * include/grub/emu/console.h: ...to here.
2722 * include/grub/util/getroot.h: Move from here...
2723 * include/grub/emu/getroot.h: ...to here.
2724 * include/grub/util/hostdisk.h: Move from here...
2725 * include/grub/emu/hostdisk.h: ...to here.
2726 * util/console.c: Move from here...
2727 * kern/emu/console.c: ...to here.
2728 * util/getroot.c: Move from here...
2729 * kern/emu/getroot.c: ...to here.
2730 * util/grub-emu.c: Move from here...
2731 * kern/emu/main.c: ...to here.
2732 * util/hostdisk.c: Move from here...
2733 * kern/emu/hostdisk.c: ...to here.
2734 * util/hostfs.c: Move from here...
2735 * kern/emu/hostfs.c: ...to here.
2736 * util/mm.c: Move from here...
2737 * kern/emu/mm.c: ...to here.
2738 * util/pci.c: Move from here...
2739 * bus/emu/pci.c: ...to here.
2740 * util/sdl.c: Move from here...
2741 * video/emu/sdl.c: ...to here.
2742 * util/time.c: Move from here...
2743 * kern/emu/time.c: ...to here.
2744 * util/usb.c: Move from here...
2745 * bus/usb/emu/usb.c: ...to here.
2746
2747 * include/grub/emu/misc.h: New header for grub-emu functions.
2748 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2749
2750 * conf/any-emu.rmk: Rule updates for above renames.
2751 * conf/common.rmk: Likewise.
2752 * conf/i386-pc.rmk: Likewise.
2753 * conf/i386-qemu.rmk: Likewise.
2754 * conf/mips.rmk: Likewise.
2755 * conf/sparc64-ieee1275.rmk: Likewise.
2756 * conf/x86-efi.rmk: Likewise.
2757
2758 * disk/lvm.h: #include updates for above renames.
2759 * util/grub-mkrelpath.c: Likewise.
2760 * util/grub-probe.c: Likewise.
2761 * util/i386/pc/grub-setup.c: Likewise.
2762 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2763 * kern/emu/console.c: Likewise.
2764 * kern/emu/getroot.c: Likewise.
2765 * kern/emu/hostdisk.c: Likewise.
2766 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2767
2768 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2769 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2770 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2771 * util/misc.c: Remove grub-emu functions.
2772
cced9145
VS
27732010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 Fix gfxmenu crash.
2776 Reported by: Thorsten Grützmacher.
2777
2778 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2779 timeout hook.
2780 (circprog_set_property): Register and unregister timeout hook.
2781 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2782 (label_destroy): Free template. and unregister hook.
2783 (label_set_state): New function.
2784 (label_set_property): Handle templates and hooks.
2785 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2786 timeout hook.
2787 (progress_bar_set_property): Register and unregister timeout hook.
2788 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2789 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2790 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2791 (update_timeout_visit): Removed.
2792 (update_timeouts): New function.
2793 (redraw_timeouts): Likewise.
2794 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2795 (grub_gfxmenu_clear_timeout): Likewise.
2796 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2797 (grub_gfxmenu_timeout_notify): Likewise.
2798 (grub_gfxmenu_timeout_notifications): New external variable.
2799 (grub_gfxmenu_timeout_register): New function.
2800 (grub_gfxmenu_timeout_unregister): Likewise.
2801
c6e5caab
VS
28022010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 Transform (broken) vga terminal into (working) vga video driver.
2805
2806 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2807 video/i386/pc/vga.c.
2808 * include/grub/video.h (grub_video_driver_id):
2809 Add GRUB_VIDEO_DRIVER_VGA.
2810 * term/i386/pc/vga.c: Renamed to ...
2811 * video/i386/pc/vga.c: ...this
2812 (DEBUG_VGA): Removed.
2813 (CHAR_WIDTH): Likewise.
2814 (CHAR_HEIGHT): Likewise.
2815 (TEXT_WIDTH): Likewise.
2816 (TEXT_HEIGHT): Likewise.
2817 (DEFAULT_FG_COLOR): Likewise.
2818 (DEFAULT_BG_COLOR): Likewise.
2819 (colored_char): Likewise.
2820 (xpos): Likewise.
2821 (ypos): Likewise.
2822 (cursor_state): Likewise.
2823 (fg_color): Likewise.
2824 (bg_color): Likewise.
2825 (text_buf): Likewise.
2826 (page): Likewise.
2827 (font): Likewise.
2828 (framebuffer): New variable.
2829 (set_read_map): Disabled.
2830 (setup): New variable.
2831 (is_target): Likewise.
2832 (grub_vga_mod_init): Likewise.
2833 (grub_vga_mod_fini): Likewise.
2834 (check_vga_mem): Likewise.
2835 (write_char): Likewise.
2836 (write_cursor): Likewise.
2837 (scroll_up): Likewise.
2838 (grub_vga_putchar): Likewise.
2839 (grub_vga_getcharwidth): Likewise.
2840 (grub_vga_getwh): Likewise.
2841 (grub_vga_getxy): Likewise.
2842 (grub_vga_gotoxy): Likewise.
2843 (grub_vga_cls): Likewise.
2844 (grub_vga_setcolorstate): Likewise.
2845 (grub_vga_setcursor): Likewise.
2846 (grub_video_vga_init): New function.
2847 (grub_video_vga_setup): Likewise.
2848 (grub_video_vga_fini): Likewise.
2849 (update_target): Likewise.
2850 (grub_video_vga_blit_bitmap): Likewise.
2851 (grub_video_vga_blit_render_target): Likewise.
2852 (grub_video_vga_set_active_render_target): Likewise.
2853 (grub_video_vga_get_active_render_target): Likewise.
2854 (grub_video_vga_swap_buffers): Likewise.
2855 (grub_video_vga_set_palette): Likewise.
2856 (grub_video_vga_get_info_and_fini): Likewise.
2857 (grub_vga_term): Removed.
2858 (grub_video_vga_adapter): New variable.
2859 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2860 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2861
2bf61a98
VS
28622010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * video/readers/jpeg.c: Indented.
2865
09ddcd11
VS
28662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Various jpeg cleanups.
2869
2870 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2871 (grub_jpeg_decode_quan_table): Use sizeof.
2872 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2873
e5507505
PH
28742010-05-05 Peter Hurley <No e-mail available> (tiny change)
2875
2876 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2877 tables. Ignore non-last ac bit.
2878 (grub_jpeg_decode_quan_table): Likewise.
2879
7e720a9b
VS
28802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2883 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2884 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2885 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2886 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2887 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2888
a7fc080b
VS
28892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2892 error.
2893
2bf6012d
VS
28942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2897
265d68cd
VS
28982010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2901 condition.
2902
29032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
2904
2905 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2906 part.
2907
265d68cd 29082010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
2909
2910 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2911 pointers.
2912
265d68cd 29132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
2914
2915 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2916
d1b61374
CF
29172010-05-01 Christian Franke <franke@computer.org>
2918
2919 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2920 Remove broken Cygwin path conversion.
2921 * util/misc.c: [__CYGWIN__] Add include and define.
2922 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2923 for Cygwin 1.7.
2924 (make_system_path_relative_to_its_root): Simplify loop, replace early
2925 return by break.
2926 [__CYGWIN__] Add conversion to win32 path.
2927 Include "/" case in trailing slash removal.
2928
3558c6e9
VS
29292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2932 Reported by: Seth Goldberg
2933
f5f3ff93
VS
29342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * commands/help.c (grub_cmd_help): Fix a typo.
2937 Reported by: Seth Goldberg
2938
d8b5cd40
VS
29392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2942 name and add N_.
2943 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2944 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2945 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2946 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2947 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2948 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2949 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2950 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2951 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2952 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2953 * normal/context.c (GRUB_MOD_INIT): Likewise.
2954 * normal/main.c (GRUB_MOD_INIT): Likewise.
2955 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2956 * term/serial.c (GRUB_MOD_INIT): Likewise.
2957 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2958
88c14915
VS
29592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2962 extra == 0.
2963
165134bc
VS
29642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * commands/iorw.c: New file.
2967 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2968 (iorw_mod_SOURCES): New variable.
2969 (iorw_mod_CFLAGS): Likewise.
2970 (iorw_mod_LDFLAGS): Likewise.
2971
c5ac9b32
VS
29722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 Hotkey support
2975
2976 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2977 * normal/main.c (hotkey_aliases): New variable.
2978 (grub_normal_add_menu_entry): Parse "--hotkey".
2979 * normal/menu_text.c (run_menu): Handle hotkeys.
2980
ce60689c
VS
29812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * kern/i386/coreboot/init.c (grub_machine_init): Call
2984 grub_machine_mmap_init on qemu.
2985
0359d006
VS
29862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * boot/i386/qemu/boot.S: Add a missing .code16.
2989
7819a456
VS
29902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 Use LBIO on coreboot.
2993
2994 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2995 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2996 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2997 New declaration.
2998 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2999 grub_machine_mmap_init on coreboot.
3000 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
3001 GRUB_LINUXBIOS_MEMBER_LINK.
3002 (grub_machine_mmap_iterate): Fix declaration.
3003 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
3004
7210dca9
VS
30052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 Split coreboot and multiboot ports.
3008
3009 * conf/i386-multiboot.rmk: New file.
3010 * configure.ac: Add multiboot port.
3011 * include/grub/i386/multiboot/boot.h: New file.
3012 * include/grub/i386/multiboot/console.h: Likewise.
3013 * include/grub/i386/multiboot/init.h: Likewise.
3014 * include/grub/i386/multiboot/kernel.h: Likewise.
3015 * include/grub/i386/multiboot/loader.h: Likewise.
3016 * include/grub/i386/multiboot/memory.h: Likewise.
3017 * include/grub/i386/multiboot/serial.h: Likewise.
3018 * include/grub/i386/multiboot/time.h: Likewise.
3019 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
3020 * loader/multiboot.c: Likewise.
3021 * loader/multiboot_mbi2.c: Likewise.
3022 * util/grub-mkrescue.in: Generate multiboot rescue.
3023
6f8aaf68
VS
30242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3025
3080f7a7
VS
3026 * kern/parser.c (grub_parser_execute): Cope with read-only config.
3027
30282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
3031
3032 * commands/terminal.c (abstract_terminal): New struct.
3033 (handle_command): New function. Based on grub_cmd_terminal_input.
3034 (grub_cmd_terminal_input): Use handle_command.
3035 (grub_cmd_terminal_output): Use handle_command.
3036
a8ebb841
BC
30372010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
3038
3039 Fix comment handling.
3040
3041 * tests/grub_script_comments.in: New testcase.
3042 * conf/tests.rmk: Rules for new testcase.
3043 * script/yylex.l: Updated flex rules.
3044
bb06ba08
ST
30452010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
3046
3047 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
3048 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
3049 if argc is 1.
bb06ba08 3050
cc9d2425
VS
30512010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
3054 autogen issues.
3055
460d8402
CF
30562010-04-26 Christian Franke <franke@computer.org>
3057
3058 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
3059 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
3060 (grub_get_prefix): Remove function.
3061 * util/grub-emu.c (main): Replace grub_get_prefix () call by
3062 make_system_path_relative_to_its_root ().
3063 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3064
553c01f9
CF
30652010-04-24 Christian Franke <franke@computer.org>
3066
3067 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
3068 (kernel_img_LDFLAGS): Remove -static-libgcc.
3069
2aec1692
CF
30702010-04-24 Christian Franke <franke@computer.org>
3071
3072 * configure.ac: Do not CHECK_BSS_START_SYMBOL
3073 and CHECK_END_SYMBOL if grub-emu is built.
3074 Unset TARGET_OBJ2ELF if grub-emu is built
3075 without module support.
3076
f67dc308
JS
30772010-04-24 Jiro SEKIBA <jir@unicus.jp>
3078
3079 Nilfs2 support.
3080
3081 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
3082 (grub_fstest_SOURCES): Likewise.
3083 (pkglib_MODULES): Add nilfs2.mod.
3084 (nilfs2_mod_SOURCES): New variable.
3085 (nilfs2_mod_CFLAGS): Likewise.
3086 (nilfs2_mod_LDFLAGS): Likewise.
3087 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3088 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3089 * fs/nilfs2.c: New file.
3090
4ba8d354
VS
30912010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
3094 is not supported.
3095
0d2c20c6
GS
30962010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
3097
3098 Add grub-mkconfig support for NetBSD.
3099
3100 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
3101 * util/grub-mkconfig.in: export new NetBSD specific variables.
3102 * po/POTFILES-shell: added 10_netbsd.in.
3103 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
3104
bc4a2d83
BC
31052010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
3106
3107 Fix emu build with grub-emu-pci and grub-emu-modules.
3108
3109 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
3110 functions.
3111 * include/grub/libpciaccess.h: New file.
3112 * conf/any-emu.rmk: Update kernel headers for emu build.
3113
f48c87aa
VS
31142010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
3117
18959385
VS
31182010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
3121
0037de3f
VS
31222010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
3125 Retrieve chosen/bootpath if bootpath isn't hardcoded.
3126 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
3127 util/ieee1275/ofpath.c.
3128 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
3129 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
3130 * include/grub/sparc64/ieee1275/boot.h
3131 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
3132 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
3133 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
3134 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
3135 const char *.
3136 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
3137 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
3138 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
3139 install.
3140
38e55e90
GS
31412010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
3142
3143 * util/grub-mkconfig.in: Corrected two == equality tests.
3144 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
3145 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
3146 expect a number appended to it.
3147 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
3148 expects a number appended to it.
3149
a9e6ff28
VS
31502010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
3153
0b830b8f
VS
31542010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * util/hostdisk.c (make_device_name): Change to new partition naming.
3157
0973daeb
VS
31582010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
3161
460d8402 31622010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
3163
3164 * Makefile.in: Add missing localedir setting.
3165
0b456309
CW
31662010-04-14 Colin Watson <cjwatson@ubuntu.com>
3167
3168 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
3169 mistake in r2156. Noticed by Anthony Fok.
3170
3171 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
3172 @localedir@.
3173 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3174
08f46d62
BC
31752010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
3176
3177 Fix a spurious, uninitialized variable warning.
3178
3179 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
3180 Initialize variable, shdr.
3181 (grub_freebsd_load_elfmodule): Likewise.
3182 (grub_freebsd_load_elf_meta): Likewise.
3183
8c4a72d4
BC
31842010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
3185
3186 Fix for escaped dollar in double quoted strings.
3187
3188 * script/yylex.l: Updated flex rules.
3189 * conf/tests.rmk: Rule for new testcase.
3190 * tests/grub_script_dollar.in: New testcase.
3191
ce44826e
CPE
31922010-04-13 Carles Pina i Estany <carles@pina.cat>
31932010-04-13 Colin Watson <cjwatson@ubuntu.com>
3194
3195 Enclose all translated strings in grub.cfg in single quotes, and
3196 escape them appropriately (Ubuntu bug #552921).
3197
3198 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
3199 * util/grub.d/10_hurd.in: Use it.
3200 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3201 * util/grub.d/10_linux.in (linux_entry): Likewise.
3202
4b0cd8f8
VS
32032010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Fix cygwin compilation.
3206
3207 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
3208 * include/grub/misc.h (__register_frame_info)
3209 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
3210 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3211 * kern/misc.c (__register_frame_info)
3212 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
3213 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3214
01fcf061
VS
32152010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
3218
5d04b11e
VS
32192010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 Unify libgcc processing.
3222
3223 * Makefile.in (kernel_img_LDFLAGS): New variable.
3224 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
3225 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
3226 overwriting.
3227 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
3228 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
3229 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
3230 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
3231 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
3232 overwriting. Remove -lgcc and -static-libgcc
3233 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
3234 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3235 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3236 (kernel_img_LDFLAGS): Append instead of overwriting.
3237 Remove -lgcc and -static-libgcc
3238 * conf/sparc64-ieee1275.rmk: Likewise.
3239 * include/grub/powerpc/libgcc.h: Move to ...
3240 * include/grub/libgcc.h: .. this.
3241 * include/grub/libgcc.h: Don't export most of the function on x86.
3242 (__bswapsi2): New export.
3243 (__bswapdi2): Likewise.
3244 * include/grub/mips/libgcc.h: Removed.
3245 * include/grub/sparc64/libgcc.h: Likewise.
3246
b7f3ac29
VS
32472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
3250 disk_info_msg (conflicts with gettexting into languages with cases).
3251
2c7031b1
GS
32522010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3253
3254 Add grub-probe support for NetBSD.
3255
3256 * util/getroot.c (find_root_device): Convert block device to
3257 character device on NetBSD.
3258 * util/probe.c (probe): Require character device on NetBSD.
3259 * util/hostdisk.c: NetBSD specific headers.
3260 (configure_device_driver): new function to tune device driver
3261 parameters (currently only for NetBSD floppy driver).
3262 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3263 via disklabel ioctl).
3264 (open_device): call configure_device_driver on NetBSD.
3265 (convert_system_partition_to_system_disk): NetBSD specific code.
3266 (device_is_wholedisk): Likewise.
3267 (grub_util_biosdisk_get_grub_dev): Likewise.
3268 (make_device_name): Fixed a typo in bsd_part_str.
3269 * configure.ac: check for opendisk() and getrawpartition() on
3270 NetBSD and set LIBUTIL.
3271 * Makefile.in: add LIBUTIL to LIBS.
3272
f516290c
BC
32732010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3274
3275 Documentation fix.
3276
3277 * util/grub-script-check.c: Better help message.
3278
d8dcc0df
BC
32792010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3280
3281 Fix FreeBSD build.
3282
3283 * configure.ac: Flex version check.
3284 * conf/common.rmk: Add -Wno-error to sh.mod.
3285 * script/yylex.l: Remove all #pragma.
3286
6734334a
VS
32872010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3290 prototype.
3291 Reported by: Seth Goldberg.
3292
daea6abd
VS
32932010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3296 Rename "module" to "module2".
3297 Reported by: Seth Goldberg.
3298
f2fd9d2b
VS
32992010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3302 EXPORT_FUNC.
3303 Reported by: Seth Goldberg.
3304
be124579
VS
33052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * lib/posix_wrap/locale.h: Add missing file.
3308 Reported by: Seth Goldberg.
3309
ef5da797
VS
33102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 grub-emu module load support.
3313
3314 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3315 NO_DYNAMIC_MODULES switched to this.
3316 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3317 (CFLAGS): Likewise.
3318 * conf/any-emu.rmk: Generate symlist.
3319 (kernel_img_HEADERS): Add util/datetime.h.
3320 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3321 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3322 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3323 kern/$(target_cpu)/cache.S.
3324 * configure.ac (grub-emu-modules): New option.
3325 * genmk.rb: Handle multiple source lists.
3326 * include/grub/sdl.h: New file.
3327 * include/grub/libusb.h: Likewise.
3328 * util/grub-emu.c (main): Hanle (host) root.
3329 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3330 GRUB_ERR_UNKNOWN_DEVICE.
3331 * util/misc.c: Move mm functions to ...
3332 * util/mm.c: ... here. All users updated.
3333
47822096
VS
33342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3337 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3338 missing files.
3339 (maintainer-clean): Remove libgcrypt-grub.
3340
5d7e7445
VS
33412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3344
25f4e252
EC
33452010-04-09 EFI Coder <eficoder@hotmail.com>
3346
3347 * normal/menu_text.c (print_message): Clean up the message and show
3348 the Fn information when on EFI
3349 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3350
027de555
VS
33512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3354 All users updated.
3355 * normal/crypto.c (read_crypto_list): Likewise.
3356 * normal/dyncmd.c (read_command_list): Likewise.
3357 * normal/term.c (read_terminal_list): Likewise.
3358 * normal/main.c (read_lists): Use explicit prefix.
3359 (read_lists_hook): Use read_lists.
3360 (grub_normal_execute): Likewise.
3361
47779711
VS
33622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3365 Reported by: Thomas Schmitt.
3366 Add -no-emul-boot to grub-mkisofs parameters.
3367
1118c32e
VS
33682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * font/font.c: Indented.
3371
7d652447
BC
33722010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3373
3374 Elif support to GRUB script (by Deepak Vankadaru).
3375
3376 * tests/grub_script_if.in: New testcase.
3377 * conf/tests.rmk: Rule for new testcase.
3378 * script/parser.y: Grammar rules for elif.
3379
34bb22df
BC
33802010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3381
3382 While and until loops support to GRUB script.
3383
3384 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3385 (grub_script_create_cmdwhile): New function prototype.
3386 (grub_script_execute_cmdwhile): New function prototype.
3387 * script/execute.c (grub_script_execute_cmdwhile): New function.
3388 * script/parser.y (command): New commands.
3389 (whilecmd): New grammar rule.
3390 (untilcmd): New grammar rule.
3391 * script/script.c (grub_script_create_cmdwhile): New function.
3392 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3393 function.
3394
3395 * tests/grub_script_while1.in: New testcase.
3396 * conf/tests.rmk: Rule for new testcase.
3397
e215d8e0
VS
33982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3401 as *.jpg.
3402
d7c43ba1
MV
34032010-04-09 Mario Vazquez <mariovazq@gmail.com>
3404
3405 GRUB_BACKGROUND support.
3406
3407 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3408 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3409
d64795c0
VS
34102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 3413 Idea by: Mario Vazquez
d64795c0
VS
3414
3415 * util/grub.d/00_header.in: Load pf2 and image modules.
3416
f267f83a
VS
34172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 grub-mkconfig multiple terminal support.
3420
3421 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3422 * util/grub.d/00_header.in: Likewise.
3423
b7841ceb
VS
34242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3427 we use cd $(srcdir).
3428
df60998c
CW
34292010-04-08 Colin Watson <cjwatson@ubuntu.com>
3430
3431 * util/grub.d/10_linux.in: Only use the first word of
3432 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3433 spaces in GRUB_DISTRIBUTOR.
3434 * util/grub.d/10_kfreebsd.in: Likewise.
3435 * util/grub.d/10_hurd.in: Likewise.
3436
fa09c82e
BC
34372010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3438
14e18ae3 3439 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
3440
3441 * tests/util/grub-shell.in: Remove -serial stdio option.
3442
daf892b3
BC
34432010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 POSIX header file wrappers.
3446
3447 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3448 equivalents.
3449 * lib/posix_wrap/ctype.h: Likewise.
3450 * lib/posix_wrap/errno.h: Likewise.
3451 * lib/posix_wrap/langinfo.h: Likewise.
3452 * lib/posix_wrap/limits.h: Likewise.
3453 * lib/posix_wrap/localcharset.h: Likewise.
3454 * lib/posix_wrap/stdint.h: Likewise.
3455 * lib/posix_wrap/stdio.h: Likewise.
3456 * lib/posix_wrap/stdlib.h: Likewise.
3457 * lib/posix_wrap/string.h: Likewise.
3458 * lib/posix_wrap/sys/types.h: Likewise.
3459 * lib/posix_wrap/unistd.h: Likewise.
3460 * lib/posix_wrap/wchar.h: Likewise.
3461 * lib/posix_wrap/wctype.h: Likewise.
3462 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3463 (grub_script.yy.h): Likewise.
3464 * script/yylex.l: Remove POSIX emulation #defines.
3465 * Makefile.in (POSIX_CFLAGS): New variable.
3466 (GNULIB_UTIL_CFLAGS): Likewise.
3467
3468 Regexp support.
3469
3470 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3471 (regexp_mod_SOURCES): New variable.
3472 (regexp_mod_CFLAGS): Likewise.
3473 (regexp_mod_LDFLAGS): Likewise.
3474 * commands/regexp.c: New file.
3475 * gnulib/regcomp.c: New file. Imported from gnulib.
3476 * gnulib/regex.c: Likewise.
3477 * gnulib/regex_internal.c: Likewise.
3478 * gnulib/regex_internal.h: Likewise.
3479 * gnulib/regexec.c: Likewise.
3480 * gnulib/regex.h: Likewise.
3481
974ac4f7
VS
34822010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3485 unsupported video mode types.
3486
2622c3ff
VS
34872010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3490
064cb524
VS
34912010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3494 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3495
a8c3b552
VS
34962010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Remove unused grub_vga_get_font.
3499
3500 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3501 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3502
187bbe3d
GS
35032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3504
3505 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3506 * include/grub/misc.h: Likewise.
3507
b9396631
GS
35082010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3509
3510 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3511 for which failure is fatal.
3512
50479feb
GS
35132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3514
3515 * util/grub-install.in: Use mkdir -p to create grub directory.
3516 * util/i386/efi/grub-install.in: Likewise.
3517 * util/ieee1275/grub-install.in: Likewise.
3518
b1654fdf
GS
35192010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3520
3521 * Makefile.in (LEX): new variable.
3522
bd5a6415
GS
35232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3524
3525 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3526 `=' and added double quotes on operands of this equality test.
3527
3db3a82b
VS
35282010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * Makefile.in (uninstall): Remove a leftover debug echo.
3531 Reported by: Grégoire Sutre
3532
38023412
VS
35332010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 MIPS multiboot2 support.
3536
3537 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3538 (multiboot2_mod_SOURCES): New variable.
3539 (multiboot2_mod_CFLAGS): Likewise.
3540 (multiboot2_mod_LDFLAGS): Likewise.
3541 (multiboot2_mod_ASFLAGS): Likewise.
3542 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3543 definition.
3544 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3545 (MULTIBOOT_MBI_REGISTER): Likewise.
3546 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3547 (MULTIBOOT_ELF32_MACHINE): Likewise.
3548 (MULTIBOOT_ELF64_MACHINE): Likewise.
3549 * include/grub/mips/multiboot.h: New file.
3550 * include/grub/video.h (grub_video_driver_id): New type
3551 GRUB_VIDEO_DRIVER_SM712.
3552 (grub_video_get_info_and_fini): Export.
3553 (grub_video_get_palette): Likewise.
3554 (grub_video_get_driver_id): Likewise.
3555 * include/multiboot2.h: Resynced with spec.
3556 * loader/i386/multiboot.c: Moved from here ...
3557 * loader/multiboot.c: ... here. All users updated.
3558 (grub_multiboot_boot): Use platform-specific macros.
3559 * loader/i386/multiboot_elfxx.c: Moved from here ...
3560 * loader/multiboot_elfxx.c: ... here. All users updated.
3561 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3562 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3563 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3564
47674667
VS
35652010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 Import gnulib argp module.
3568
3569 * gnulib/argp-ba.c: New file.
3570 * gnulib/argp-eexst.c: Likewise.
3571 * gnulib/argp-fmtstream.c: Likewise.
3572 * gnulib/argp-fmtstream.h: Likewise.
3573 * gnulib/argp-fs-xinl.c: Likewise.
3574 * gnulib/argp-help.c: Likewise.
3575 * gnulib/argp-namefrob.h: Likewise.
3576 * gnulib/argp-parse.c: Likewise.
3577 * gnulib/argp-pin.c: Likewise.
3578 * gnulib/argp-pv.c: Likewise.
3579 * gnulib/argp-pvh.c: Likewise.
3580 * gnulib/argp-version-etc.c: Likewise.
3581 * gnulib/argp-version-etc.h: Likewise.
3582 * gnulib/argp-xinl.c: Likewise.
3583 * gnulib/argp.h: Likewise.
3584
495442ed
VS
35852010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * kern/device.c (grub_device_iterate): Clear errors after failed
3588 opening device.
3589
f9fd65df
VS
35902010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3593 returned by firmware.
3594
af09641e
VS
35952010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3598 compilation on coreboot and qemu
3599
016883a5
VS
36002010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * include/multiboot2.h: Resync with spec.
3603
f97e1f7d
VS
36042010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 Multiboot2 tag support
3607
3608 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3609 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3610 Remove loader/multiboot_loader.c.
3611 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3612 (grub_multiboot2_real_boot): Likewise.
3613 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3614 (grub_get_multiboot_mmap_count): New proto.
3615 (grub_fill_multiboot_mmap): Likewise.
3616 (grub_multiboot_set_video_mode): Likewise.
3617 (grub_multiboot_set_console): Likewise.
3618 (grub_multiboot_load): Likewise.
3619 (grub_multiboot_load_elf): Likewise.
3620 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3621 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3622 * include/multiboot.h: Resynced with specification.
3623 * include/multiboot2.h: Resynced with specification.
3624 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3625 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3626 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3627 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3628 users updated.
3629 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3630 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3631 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3632 Removed.
3633 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3634 Moved from here...
3635 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3636 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3637 Moved from here...
3638 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3639 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3640 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3641 All users updated.
3642 * loader/i386/multiboot_mbi2.c: New file.
3643
3506b90b
VS
36442010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 Resync with gnulib.
3647
3648 * Makefile.in (GNULIB_CFLAGS): New variable.
3649 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3650 (grub_script_check_CFLAGS): New variable.
3651 * gnulib/alloca.h: Resync with gnulib.
3652 * gnulib/error.c: Likewise.
3653 * gnulib/error.h: Likewise.
3654 * gnulib/fnmatch.c: Likewise.
3655 * gnulib/fnmatch_loop.c: Likewise.
3656 * gnulib/getdelim.c: Likewise.
3657 * gnulib/getline.c: Likewise.
3658 * gnulib/getopt.c: Likewise.
3659 * gnulib/getopt1.c: Likewise.
3660 * gnulib/getopt_int.h: Likewise.
3661 * gnulib/gettext.h: Likewise.
3662 * gnulib/progname.c: Likewise.
3663 * gnulib/progname.h: Likewise.
3664
394a3120
GS
36652010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3666
3667 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3668 which is the case with --disabled-nls.
3669
3670 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3671 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3672 * util/misc.c: Likewise.
3673 * util/mkisofs/mkisofs.c: Likewise.
3674 * util/mkisofs/mkisofs.h: Likewise.
3675
969d1c78
VS
36762010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Simplify Apple CC support.
3679
3680 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3681 Add 0 byte at the end not to have a symbol with empty target.
3682 * mmap/i386/pc/mmap_helper.S: Likewise.
3683 * genmk.rb: Ignore errors 2030 and 2050.
3684 * kern/i386/pc/startup.S: Use LOCAL when possible.
3685
8d2977bb
BC
36862010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3687
3688 Testcase and the fix for final semicolon on cmdline.
3689
3690 * tests/grub_script_final_semicolon.in: New testcase.
3691 * conf/tests.rmk: Rules for the new testcase.
3692 * script/parser.y: Grammar fix.
3693
a7bd6915
BC
36942010-03-26 BVK Chaitanya <bvk@localhost>
3695
3696 Blank lines testcase for GRUB script.
3697
3698 * tests/grub_script_blanklines.in: New testcase.
3699 * conf/tests.rmk: Rules for the new testcase.
3700
e4ff6628
VS
37012010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 Don't use __FILE__.
3704
3705 * genmk.rb: Add -DGRUB_FILE to all C targets.
3706 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3707 * include/grub/list.h: Likewise.
3708 * include/grub/misc.h: Likewise.
3709 * include/grub/mm.h: Likewise.
3710 * include/grub/test.h: Likewise.
3711 * kern/mm.c: Likewise.
3712 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3713
6a5cf6b6
VS
37142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 Sunpc partitions support.
3717
3718 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3719 (grub_fstest_SOURCES): Likewise.
3720 (pkglib_MODULES): Add part_sunpc.mod.
3721 (part_sunpc_mod_SOURCES): New variable.
3722 (part_sunpc_mod_CFLAGS): Likewise.
3723 (part_sunpc_mod_LDFLAGS): Likewise.
3724 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3725 * partmap/sunpc.c: New file.
3726
746d9045
BC
37272010-03-26 BVK Chaitanya <bvk@localhost>
3728
3729 For loop support to GRUB script.
3730
3731 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3732 (grub_script_create_cmdfor): New function prototype.
3733 (grub_script_execute_cmdfor): New function prototype.
3734 * script/execute.c (grub_script_execute_cmdfor): New function.
3735 * script/parser.y (command): New for command.
3736 (forcmd): New grammar rule.
3737 * script/script.c (grub_script_create_cmdfor): New function.
3738 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3739 function.
3740 * tests/grub_script_for1.in: New testcase.
3741 * conf/tests.rmk: Rules for new testcase.
3742
18486b18
VS
37432010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 Nested partitions
3746
3747 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3748 'partition' is NULL, grub_partition_get_start already does that.
3749 * commands/loadenv.c (check_blocklists): Likewise.
3750 (write_blocklists): Likewise.
3751 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3752 (grub_fstest_SOURCES): Likewise.
3753 (pkglib_MODULES): Add part_bsd.mod.
3754 (part_bsd_mod_SOURCES): New variable.
3755 (part_bsd_mod_CFLAGS): Likewise.
3756 (part_bsd_mod_LDFLAGS): Likewise.
3757 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3758 (grub_emu_SOURCES): Likewise.
3759 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3760 * include/grub/bsdlabel.h: New file.
3761 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3762 'get_name'.
3763 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3764 (grub_partition_map_list): New variable.
3765 (grub_partition_map_register): Inline.
3766 (grub_partition_map_unregister): Likewise.
3767 (FOR_PARTITION_MAPS): New macro.
3768 (grub_partition_map_iterate): Removed.
3769 (grub_partition_get_start): Handle nested partitions.
3770 * include/grub/msdos_partition.h: Remove bsd-related entries.
3771 (grub_pc_partition): Remove.
3772 * kern/disk.c (grub_disk_close): Free partition data.
3773 (grub_disk_adjust_range): Handle nested partitions.
3774 * kern/partition.c (grub_partition_map_probe): New function.
3775 (grub_partition_probe): Parse name to number, handle subpartitions.
3776 (get_partmap): New function.
3777 (grub_partition_iterate): Handle subpartitions.
3778 (grub_partition_get_name): Likewise.
3779 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3780 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3781 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3782 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3783 Set 'number'.
3784 (acorn_partition_map_probe): Remove.
3785 (acorn_partition_map_get_name): Likewise.
3786 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3787 Set 'number'.
3788 Set 'index' to 0 since there can be only one partition entry per sector.
3789 (amiga_partition_map_probe): Remove.
3790 (amiga_partition_map_get_name): Likewise.
3791 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3792 Set 'number'.
3793 Set 'offset' and 'index' to real positions of partitions.
3794 (apple_partition_map_probe): Remove.
3795 (apple_partition_map_get_name): Likewise.
3796 * partmap/bsdlabel.c: New file.
3797 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3798 Set 'number'.
3799 Allocate 'data' so it can be correctly freed.
3800 Set 'index' to offset inside sector.
3801 (gpt_partition_map_probe): Remove.
3802 (gpt_partition_map_get_name): Likewise.
3803 * partmap/msdos.c (grub_partition_parse): Remove.
3804 (pc_partition_map_iterate): Don't force raw access.
3805 Set 'number'.
3806 Make 'ext_offset' a local variable.
3807 (pc_partition_map_probe): Remove.
3808 (pc_partition_map_get_name): Remove.
3809 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3810 Set 'number'.
3811 (sun_partition_map_probe): Remove.
3812 (sun_partition_map_get_name): Likewise.
3813 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3814 (grub_pcpart_type): Likewise.
3815 * util/hostdisk.c (open_device): Handle new numbering scheme.
3816 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3817 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3818 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3819 * util/grub-install.in: Insert all subpartition modules.
3820 * util/ieee1275/grub-install.in: Likewise.
3821
a3940f88
AG
38222010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3823
3824 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3825 grammar.
3826
21b99926 38272010-03-24 Colin Watson <cjwatson@ubuntu.com>
3828
3829 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3830
bed1d352
CW
38312010-03-21 Colin Watson <cjwatson@ubuntu.com>
3832
3833 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3834 match where 'make install' puts them.
3835 * util/i386/efi/grub-install.in: Likewise.
3836
c9f58427
CW
38372010-03-19 Colin Watson <cjwatson@ubuntu.com>
3838
3839 * .bzrignore: Add gentrigtables, grub-script-check,
3840 grub_script_check_init.c, grub_script_check_init.h, and
3841 trigtables.c.
3842
f84afb27
VS
38432010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * kern/parser.c: Indented.
3846
ed0e3d30
VS
38472010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3850
0ea81d98
VS
38512010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3854 alpha_mask_size == 0 case.
3855
0cdc2a09
BC
38562010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3857
3858 GRUB shell lexer and parser improvements.
3859
3860 * conf/any-emu.rmk: Build rule updates.
3861 * conf/common.rmk: Likewise.
3862 * conf/i386-coreboot.rmk: Likewise.
3863 * conf/i386-efi.rmk: Likewise.
3864 * conf/i386-ieee1275.rmk: Likewise.
3865 * conf/i386-pc.rmk: Likewise.
3866 * conf/powerpc-ieee1275.rmk: Likewise.
3867 * conf/x86_64-efi.rmk: Likewise.
3868
3869 * configure.ac: Configure check for flex.
3870
3871 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3872 types.
3873 (grub_lexer_param): Struct member updates.
3874 (grub_parser_param): Likewise.
3875 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3876 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3877 (grub_script_lexer_init): Prototype update.
3878 (grub_script_lexer_record_start): Likewise.
3879 (grub_script_lexer_record_stop): Likewise.
3880 (grub_script_lexer_yywrap): New function prototype.
3881 (grub_script_lexer_fini): Likewise.
3882 (grub_script_execute_argument_to_string): Removed by...
3883 (grub_script_execute_argument_to_argv): ...better version.
3884
3885 * script/execute.c (ROUND_UPTO): New macro.
3886 (grub_script_execute_cmdline): Out of memory fixes.
3887 (grub_script_execute_menuentry): Likewise.
3888 (grub_script_execute_argument_to_string): Removed. Update all
3889 users by...
3890 (grub_script_execute_argument_to_argv): ...better version.
3891 * script/function.c (grub_script_function_create): Use
3892 grub_script_execute_argument_to_argv instead of
3893 grub_script_execute_argument_to_string.
3894
3895 * script/lexer.c (check_varstate): Removed.
3896 (check_textstate): Removed.
3897 (grub_script_lexer_record_start): Likewise.
3898 (grub_script_lexer_record_stop): Likewise.
3899 (recordchar): Replaced with...
3900 (grub_script_lexer_record): ...new function.
3901 (nextchar): Removed.
3902 (grub_script_lexer_init): Rewritten.
3903 (grub_script_yylex): Rewritten.
3904 (append_newline): New function.
3905 (grub_script_lexer_yywrap): New function.
3906 (grub_script_lexer_fini): New function.
3907 (grub_script_yyerror): Sets error flag.
3908
3909 * script/yylex.l: New file.
3910 (grub_lexer_yyfree): Wrapper for flex yyffre.
3911 (grub_lexer_yyalloc): Likewise.
3912 (grub_lexer_yyrealloc): Likewise.
3913 * script/parser.y: Refactored.
3914
3915 * script/script.c (grub_script_arg_add): Out of memory fixes.
3916 (grub_script_add_arglist): Likewise.
3917 (grub_script_create_cmdline): Likewise.
3918 (grub_script_create_cmdmenu): Likewise.
3919 (grub_script_add_cmd): Likewise.
3920 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3921 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3922 unnecessary code.
3923
3924 * tests/grub_script_echo1.in: New testcase.
3925 * tests/grub_script_vars1.in: New testcase.
3926 * tests/grub_script_echo_keywords.in: New testcase.
3927
1d63a066
VS
39282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 Remove some redundancy in build system.
3931
3932 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3933 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3934 (TARGET_LDFLAGS): Add -nostdlib.
3935 (TARGET_IMG_LDFLAGS): Likewise.
3936 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3937 anything since mmap isn't available.
3938 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3939 Add util/time.c.
3940 (pkglib_MODULES): Remove reboot.mod.
3941 (reboot_mod_SOURCES): Removed.
3942 (reboot_mod_CFLAGS): Likewise.
3943 (reboot_mod_LDFLAGS): Likewise.
3944 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3945 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3946 (DEFSYMFILES): Add kernel_syms.lst.
3947 (kernel_img_HEADERS): Add common headers.
3948 (symlist.c): New target.
3949 (kernel_syms.lst): Likewise.
3950 (pkglib_MODULES): Add memdisk.mod.
3951 (memdisk_mod_SOURCES): New variable.
3952 (memdisk_mod_CFLAGS): Likewise.
3953 (memdisk_mod_LDFLAGS): Likewise.
3954 (pkglib_MODULES): Add reboot.mod.
3955 (reboot_mod_SOURCES): New variable.
3956 (reboot_mod_CFLAGS): Likewise.
3957 (reboot_mod_LDFLAGS): Likewise.
3958 (pkglib_MODULES): Add date.mod.
3959 (date_mod_SOURCES): New variable.
3960 (date_mod_CFLAGS): Likewise.
3961 (date_mod_LDFLAGS): Likewise.
3962 (pkglib_MODULES): Add datehook.mod.
3963 (datehook_mod_SOURCES): New variable.
3964 (datehook_mod_CFLAGS): Likewise.
3965 (datehook_mod_LDFLAGS): Likewise.
3966 (pkglib_MODULES): Add lsmmap.mod.
3967 (lsmmap_mod_SOURCES): New variable.
3968 (lsmmap_mod_CFLAGS): Likewise.
3969 (lsmmap_mod_LDFLAGS): Likewise.
3970 (pkglib_MODULES): Add boot.mod.
3971 (boot_mod_SOURCES): New variable.
3972 (boot_mod_CFLAGS): Likewise.
3973 (boot_mod_LDFLAGS): Likewise.
3974 * conf/i386-coreboot.rmk: Removed redundant parts.
3975 * conf/i386-ieee1275.rmk: Likewise.
3976 * conf/i386-pc.rmk: Likewise.
3977 * conf/mips-yeeloong.rmk: Likewise.
3978 * conf/mips.rmk: Likewise.
3979 * conf/powerpc-ieee1275.rmk: Likewise.
3980 * conf/sparc64-ieee1275.rmk: Likewise.
3981 * conf/x86_64-efi.rmk: Likewise.
3982 * conf/i386-coreboot.rmk: Moved qemu parts ..
3983 * conf/i386-qemu.rmk: ... here
3984 * conf/i386-efi.rmk: Moved common parts to...
3985 * conf/x86-efi.rmk: ... here.
3986 * conf/i386.rmk: Added modules common to all x86 variants.
3987 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3988 * disk/memdisk.c: Remove grub/machine/kernel.h.
3989 * gensymlist.sh.in: Include symbol.h.
3990 * hook/datehook.c: Correct module name.
3991 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3992 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3993 * include/grub/i386/efi/serial.h: New file.
3994 * include/grub/x86_64/efi/serial.h: Likewise.
3995 * util/time.c: Likewise.
3996 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3997
463ac55f
CK
39982010-03-14 Colin King <colin.king@ubuntu.com>
39992010-03-14 Colin Watson <cjwatson@ubuntu.com>
4000
4001 Shrink the pre-partition-table part of boot.img by eight bytes.
4002
4003 * boot/i386/pc/boot.S (ERR): New macro.
4004 (chs_mode): Use ERR.
4005 (geometry_error): Likewise.
4006 (hd_probe_error): Remove. This is only used once, so we wrwite
4007 it inline instead.
4008 (read_error): Instead of printing read_error_string, just set up
4009 %si and fall through to ...
4010 (error_message): ... this new function, also used by ERR.
4011
08e46ede
CW
40122010-03-14 Colin Watson <cjwatson@ubuntu.com>
4013
4014 Speed up consecutive hostdisk operations on the same device.
4015
4016 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
4017 (grub_util_biosdisk_open): Initialise disk->data.
4018 (struct linux_partition_cache): New structure.
4019 (linux_find_partition): Cache partition start positions; these are
4020 expensive to compute on every read and write.
4021 (open_device): Cache open file descriptor in disk->data, so that we
4022 don't have to reopen it and flush the buffer cache for consecutive
4023 operations on the same device.
4024 (grub_util_biosdisk_close): New function.
4025 (grub_util_biosdisk_dev): Set `close' member.
4026
4027 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
4028 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
4029 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4030 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4031 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
4032
4a6d2d06
VS
40332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 Compile parts of grub-emu as modules.
4036
4037 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
4038 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
4039 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
4040 (all-local): Add $(GRUB_EMU).
4041 (install-local): Install $(GRUB_EMU).
4042 (uninstall): Uninstall $(GRUB_EMU).
4043 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
4044 * kern/dl.c: Likewise.
4045 * commands/sleep.c: Not include machine/time.h.
4046 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
4047 (COMMON_CFLAGS): Likewise.
4048 (sbin_UTILITIES): Remove grub-emu.
4049 (grub_emu_SOURCES): Removed.
4050 (kernel_img_RELOCATABLE): New variable.
4051 (pkglib_PROGRAMS): Add kernel.img.
4052 (kernel_img_SOURCES): New variable
4053 (kernel_img_CFLAGS): Likewise.
4054 (kernel_img_LDFLAGS): Likewise.
4055 (TARGET_NO_STRIP): Likewise.
4056 (TARGET_NO_DYNAMIC_MODULES): Likewise.
4057 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
4058 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
4059 (grub-emu): New target.
4060 (GRUB_EMU): New variable.
4061 * configure.ac: Whitelist -emu as possible x86_64 architecture.
4062 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
4063 * loader/xnu.c: Likewise.
4064 * include/grub/pci.h: Likewise.
4065 * genemuinit.sh: New file.
4066 * genemuinitheader.sh: Likewise.
4067 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
4068 Support TARGET_NO_DYNAMIC_MODULES.
4069 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
4070 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
4071 * disk/loopback.c: Likewise.
4072 * font/font_cmd.c: Likewise.
4073 * partmap/acorn.c: Likewise.
4074 * partmap/amiga.c: Likewise.
4075 * partmap/apple.c: Likewise.
4076 * partmap/gpt.c: Likewise.
4077 * partmap/msdos.c: Likewise.
4078 * partmap/sun.c: Likewise.
4079 * parttool/msdospart.c: Likewise.
4080 * term/gfxterm.c: Likewise.
4081 * video/bitmap.c: Likewise.
4082 * video/readers/jpeg.c: Likewise.
4083 * video/readers/png.c: Likewise.
4084 * video/readers/tga.c: Likewise.
4085 * video/video.c: Likewise.
4086 * util/grub-emu.c (read_command_list): Removed.
4087 (main): Don't call util_init_nls.
4088 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
4089 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
4090
91fdd2ed
VS
40912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
4094 date.mod, datehook.mod.
4095 (datetime_mod_SOURCES): New variable.
4096 (datetime_mod_CFLAGS): Likewise.
4097 (datetime_mod_LDFLAGS): Likewise.
4098 (date_mod_SOURCES): Likewise.
4099 (date_mod_CFLAGS): Likewise.
4100 (date_mod_LDFLAGS): Likewise.
4101 (datehook_mod_SOURCES): Likewise.
4102 (datehook_mod_CFLAGS): Likewise.
4103 (datehook_mod_LDFLAGS): Likewise.
4104 * conf/sparc64-ieee1275.rmk: Likewise.
4105 * lib/ieee1275/datetime.c: New file.
4106
873ccae6
VS
41072010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
4110 (ieee1275_fb_mod_SOURCES): New variable.
4111 (ieee1275_fb_mod_CFLAGS): Likewise.
4112 (ieee1275_fb_mod_LDFLAGS): Likewise.
4113 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
4114 New proto.
4115 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
4116 (HEAP_MAX_ADDR): Likewise.
4117 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
4118 type.
4119 Correct stop condition.
4120 (grub_ieee1275_devices_iterate): New function.
4121 * video/ieee1275.c: New file.
4122
601c97c0
VS
41232010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
4126
4127 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
4128 as scratch.
4129 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
4130 SCRATCH_PAD_DISKBOOT as scratch.
4131 (bootit): Pass Openfirmware pointer in %o4.
4132 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
4133 of 0x200000.
4134 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
4135 with util/grub-mkrawimage.c.
4136 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
4137 * include/grub/aout.h (AOUT_MID_SUN): New definition.
4138 (grub_aout_get_type) [GRUB_UTIL]: Removed.
4139 (grub_aout_load) [GRUB_UTIL]: Likewise.
4140 * include/grub/kernel.h (grub_modules_get_end): New proto.
4141 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
4142 (SCRATCH_PAD_BOOT): New definition.
4143 (SCRATCH_PAD_DISKBOOT): Likewise.
4144 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
4145 * include/grub/sparc64/ieee1275/ieee1275.h
4146 (grub_ieee1275_original_stack): New variable
4147 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
4148 New definition
4149 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
4150 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
4151 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
4152 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
4153 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
4154 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
4155 (grub_platform_image_format_t): New type.
4156 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
4157 * kern/main.c (grub_modules_get_end)
4158 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
4159 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
4160 (codestart): Switch stacks.
4161 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
4162 variable.
4163 (grub_heap_init): Use grub_modules_get_end.
4164 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
4165 stack.
4166 * util/grub-mkrawimage.c (generate_image): Support sparc64.
4167 (main): Likewise.
4168 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
4169
d68b491e
TG
41702010-03-14 Thorsten Glaser <tg@mirbsd.org>
4171
4172 * util/grub-mkrescue.in: Base ISO UUID on UTC.
4173
4e02ed50
MK
41742010-03-08 Matt Kraai <kraai@ftbfs.org>
4175
4176 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
4177 bug #559005).
4178
1f15fc1e
VS
41792010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * genmoddep.awk: Output all missing symbols and not only first.
4182
fce5d8ff
VS
41832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * NEWS: Put the date of 1.98 release.
4186
d1e8a02f
VS
41872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
4190 ft2build.h.
4191
696fd607
VS
41922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
4195 completition in the middle of string.
4196
33e2e6f3
VS
41972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * util/grub-mkrescue.in: Use mktemp with explicit template.
4200
b1f6d291
VS
42012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
4204
2ac227c7
VS
42052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
4208 right pointer.
4209
8f9a632b
VS
42102010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 Fix FreeBSD compilation.
4213
4214 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
4215 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
4216
60b03859
VS
42172010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
4220
48a5a769
VS
42212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
4224
3ab4bd77
VS
42252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
4228
d116e0d8
RM
42292010-03-04 Robert Millan <rmh.grub@aybabtu.com>
4230
4231 Support relative image path in theme file.
4232
4233 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
4234 (image_set_property): Handle theme_dir and relative path.
4235
c7ef54aa
VS
42362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * configure.ac: Alias amd64 to x86_64.
4239
fcee14ed
VS
42402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * NEWS: mention multiboot on EFI.
4243
d0780363
VS
42442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * kern/main.c (grub_load_modules): Handle errors from init functions of
4247 embeded modules.
4248
41168ea4
VS
42492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * normal/autofs.c (autoload_fs_module): Handle errors.
4252
b54d93ac
VS
42532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 Disable linux.mod on qemu-mips since it's not functional and leads
4256 to compilation failure.
4257
4258 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4259 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4260 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4261 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4262 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4263 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4264 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4265 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4266 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4267 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4268 Reported by: BVK Chaitanya
4269
fc8345da
JU
42702010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4271
4272 * INSTALL: Add gettext as a dependency and add qemu to a new section
4273 "Prerequisites for make-check".
4274
4760f979
CF
42752010-03-04 Christian Franke <franke@computer.org>
4276
4277 * util/grub-pe2elf.c: Add missing include "progname.h".
4278
f209b5b2
VS
42792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * normal/crypto.c (read_crypto_list): Fix a typo.
4282 Reported by: Seth Goldberg.
4283
b4b7be98
VS
42842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 4287 Reported by: Seth Goldberg.
b4b7be98 4288
c0ee0385
VS
42892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4292 ascii.bitmaps.
4293
a8efbf64
VS
42942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 4297 Reported by: Seth Goldberg.
a8efbf64 4298
08dcd913
VS
42992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * util/i386/efi/grub-install.in: Copy gettext files.
4302
c4d0b332
VS
43032010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4306
c6f2fe52
VS
43072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Wait for user entry basing on presence of output rather than on errors.
4310
4311 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4312 (grub_install_newline_hook): Likewise.
4313 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4314 * normal/menu.c (show_menu): Check line_counter to determine presence
4315 of output.
4316 * normal/term.c (grub_normal_line_counter): New variable.
4317 (grub_normal_get_line_counter): New function.
4318 (grub_install_newline_hook): Likewise.
4319
5382b1e4
VS
43202010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4323
5519963b
VS
43242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * configure.ac: Update version to 1.98.
4327
72b28631
VS
43282010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * util/grub.d/10_linux.in (linux_entry): Don't default to
4331 gfxpayload=keep if Linux doesn't support video handover.
4332
c140a180
VS
43332010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 Don't compile video modules on yeeloong since video subsystem is part
4336 of kernel.
4337
4338 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4339 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4340 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4341 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4342 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4343 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4344 * include/grub/bitmap_scale.h: Likewise.
4345 * include/grub/bufio.h: Likewise.
4346 * include/grub/font.h: Likewise.
4347 * include/grub/gfxterm.h: Likewise.
4348 * include/grub/video.h: Likewise.
4349 * include/grub/vbe.h: Don't include video_fb.h.
4350 * video/i386/pc/vbe.c: Include video_fb.h.
4351 * commands/i386/pc/vbetest.c: Include video.h.
4352
a0ca21c2
CW
43532010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4354
4355 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4356 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4357 default entry if GRUB_SAVEDEFAULT=true. This allows using
4358 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4359 saving a new default on every boot.
4360
4a8a763c
VS
43612010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4364 * normal/term.c (read_terminal_list): Likewise.
4365 * normal/main.c (grub_normal_init_page): Likewise.
4366 (grub_normal_read_line_real): Likewise.
4367
607ffde2
VS
43682010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4371 memory leak.
4372 Reported by: Seth Goldberg.
4373
2b8fa975
CW
43742010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4375
4376 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4377 duplicate declaration of `start'.
4378
618307dd
VS
43792010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4382 filename.
4383 Reported by: Georgy Buranov
4384
7dd05b96 43852010-02-20 Carles Pina i Estany <carles@pina.cat>
4386
4387 * util/grub-mkrawimage.c (usage): Change string formatting to
4388 improve gettext.
4389
d1484a42
MRA
43902010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4391
4392 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4393 backspace keys.
4394
42b1d186
VS
43952010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4398 Reported by: Michael Suchanek.
4399
44002010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
4401
4402 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4403 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4404
d9f31a41
VS
44052010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 Remove any reference to non-free fonts.
4408
4409 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4410 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4411 uses non-free components.
4412 * font/font.c (grub_font_get_name): Remove example name.
4413 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4414 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4415 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4416 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4417
2793c71e
GB
44182010-02-16 Georgy Buranov <gburanov@gmail.com>
4419
4420 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4421
402e3779
VS
44222010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4425 Double divisor.
4426 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4427 features.
4428 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4429
0dd1e0dd
VS
44302010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4433
6fa7cfce
ST
44342010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4435
4436 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4437 * docs/grub.texi (Command-line and menu entry commands): Document play
4438 command.
4439
37c8483b
ST
44402010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4441
4442 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4443 parse arguments as inline tempo and notes. Move code for playing notes
4444 to...
4445 (play): ... new function.
4446
14da0fb7
ST
44472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4448
4449 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4450 grub_uint16_t instead of short.
4451 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4452 disk from little endian to cpu endianness.
4453
04459e70
ST
44542010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4455
4456 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4457 GRUB_TICKS_PER_SECOND instead of 120.
4458
a0876943
VS
44592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4462 escape sequence after \e.
4463
e29f95dc
VS
44642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4467 non-ASCII characters.
4468
d27859b2
VS
44692010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4472 set root in single quotes to prevent \, from being unescaped.
4473
bc028f2f
VS
44742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 Prevent unknown commands from stopping menuentry execution.
4477
4478 * script/execute.c (grub_script_execute_cmdline): Print error after
4479 unknown command.
4480
095f5f82
VS
44812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4484 Reported by: Pavel Pisa.
4485
8c717950
VS
44862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4489
904935c3
VS
44902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 Merge grub_ieee1275_map_physical into grub_map and rename to
4493 grub_ieee1275_map
4494
4495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4496 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4497 Remove.
4498 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4499 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4500 necessary.
4501 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4502
5b59a4e3
VS
45032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4506 opening and not after.
4507
69e137e8
VS
45082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4511 constants.
4512
2c0fcc36
VS
45132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4516 (alloc_phys): Use ALIGN_UP instead of align_addr.
4517
8c6052ce
VS
45182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4521
17cec782
VS
45222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4525
e0128bbd
VS
45262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4529 verbose dprintf.
4530
ca62070b
VS
45312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 Fix over-4GiB seek on sparc64.
4534
4535 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4536 Replace pos_i and pos_lo with pos. All users updated.
4537 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4538 New constant.
4539 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4540 Likewise.
4541 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4542 and pos_lo.
4543
bdca2607
VS
45442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * util/grub-mkrawimage.c (main): Call set_program_name.
4547
da278c4d
VS
45482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 Properly align 64-bit targets.
4551
4552 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4553 (generate_image): Use ALIGN_ADDR.
4554
b274d734
VS
45552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 Properly create cross-endian images.
4558
4559 * include/grub/types.h (grub_host_to_target_addr): New macro
4560 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4561
82da2062
VS
45622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4565
7cae4377
VS
45662010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4569
4570 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4571 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4572 (grub_linux_boot): Divide by 64K when on VESA.
4573
65a533e7
VS
45742010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 Support GRUB_GFXPAYLOAD_LINUX.
4577
4578 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4579 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4580
dd01d397
VS
45812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4584 to show messages instead of discarding them.
4585 Process errors after executing command and not before. Keep old method
4586 too as precaution.
4587
660960d6
VS
45882010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * configure.ac: Check for ft2build.h.
4591
62509f04
VS
45922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4595
473df63d
VS
45962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * genkernsyms.sh.in: Use TARGET_CC.
4599
c98d2a13
CW
46002010-02-07 Colin Watson <cjwatson@ubuntu.com>
4601
4602 * NEWS: Update.
4603
6e14234c
VS
46042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
4607 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4608 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 4609
b255e9cf
YB
46102010-02-07 Yves Blusseau <blusseau@zetam.org>
4611
6e14234c 4612 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 4613
98e6959d
VS
46142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 Fix warnings in grub-emu when compiling with maximum warning options.
4617
4618 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4619 (grub_arch_modules_addr): Return 0 and not NULL.
4620 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 4621 (xstrdup): Use newstr instead of dup.
f88d801b
VS
4622 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4623 of disk to dsk to avoid shadowing.
74e4934e
VS
4624 (find_free_slot): Fix prototype.
4625 * util/getroot.c (grub_util_is_dmraid): Make static.
4626 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4627 Add missing prototype.
4628 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 4629
74e31b5c
VS
46302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4633 appropriately.
4634
6b2ad14b
VS
46352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4638 code out.
4639
8f891adc
VS
46402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4643 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4644 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4645 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4646 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4647 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4648
74b45184
VS
46492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * include/grub/err.h (grub_err_printf): Don't export.
4652
a4bced77
VS
46532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4656
007d0695
VS
46572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4660 * kern/misc.c (grub_gettext_dummy): Make static.
4661
b6c0d9c2
VS
46622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4665 by non-valid ones.
4666 * kern/term.c (grub_putchar): Likewise.
4667
f51a90d0
VS
46682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4671 buggy hook call and memory leak.
4672
6846cec5
VS
46732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4676
468d69fe
VS
46772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4680
51906b8c
VS
46812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4684 modevar.
4685 Return grub_errno on allocation error.
4686
09706ce5
VS
46872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4690
911df80c
YB
46912010-02-06 Yves Blusseau <blusseau@zetam.org>
4692
4693 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4694 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4695
3746a6bc
VS
46962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4699 non-pxe disk.
4700 (grub_pxefs_open): Likewise.
4701
09706ce5
VS
47022010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4703
4704 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4705 * util/grub.d/10_kfreebsd.in: Likewise.
4706 * util/grub.d/10_linux.in: Likewise.
4707
7cc192d9
VS
47082010-02-06 Colin D Bennett <colin@gibibit.com>
4709
4710 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4711 (gfxmenu_mod_SOURCES): New variable.
4712 (gfxmenu_mod_CFLAGS): Likewise.
4713 (gfxmenu_mod_LDFLAGS): Likewise.
4714 * include/grub/term.h (grub_term_set_current_output): Declare
4715 argument as const.
4716 * docs/gfxmenu-theme-example.txt: New file.
4717 * gfxmenu/gfxmenu.c: Likewise.
4718 * gfxmenu/gui_box.c: Likewise.
4719 * gfxmenu/gui_canvas.c: Likewise.
4720 * gfxmenu/gui_circular_progress.c: Likewise.
4721 * gfxmenu/gui_image.c: Likewise.
4722 * gfxmenu/gui_label.c: Likewise.
4723 * gfxmenu/gui_list.c: Likewise.
4724 * gfxmenu/gui_progress_bar.c: Likewise.
4725 * gfxmenu/gui_string_util.c: Likewise.
4726 * gfxmenu/gui_util.c: Likewise.
4727 * gfxmenu/icon_manager.c: Likewise.
4728 * gfxmenu/model.c: Likewise.
4729 * gfxmenu/named_colors.c: Likewise.
4730 * gfxmenu/theme_loader.c: Likewise.
4731 * gfxmenu/view.c: Likewise.
4732 * gfxmenu/widget-box.c: Likewise.
4733 * include/grub/gfxmenu_model.h: Likewise.
4734 * include/grub/gfxmenu_view.h: Likewise.
4735 * include/grub/gfxwidgets.h: Likewise.
4736 * include/grub/gui.h: Likewise.
4737 * include/grub/gui_string_util.h: Likewise.
4738 * include/grub/icon_manager.h: Likewise.
4739
47402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Agglomerate scrolling in gfxterm.
4743
4744 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4745 (grub_virtual_screen_setup): Initialise 'total_screen'.
4746 (write_char): Split to ...
4747 (paint_char): ... this ...
4748 (write_char): ... and this.
4749 (paint_char): Handle delayed scrolling.
4750 (draw_cursor): Likewise.
4751 (scroll_up): Split to ...
4752 (real_scroll): ... this ...
4753 (scroll_up): ... and this.
4754 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4755 characters.
4756 (grub_gfxterm_refresh): Call real_scroll.
4757
47582010-02-06 Colin D Bennett <colin@gibibit.com>
4759
4760 * include/grub/misc.h (grub_iscntrl): New inline function.
4761 (grub_isalnum): Likewise.
4762 (grub_strtol): Likewise.
4763
47642010-02-06 Colin D Bennett <colin@gibibit.com>
4765
4766 * normal/menu_text.c (get_entry_number): Move from here ...
4767 * normal/menu.c (get_entry_number): ... moved here.
4768 * include/grub/menu.h (grub_menu_get_default_entry_index):
4769 New prototype.
4770 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4771 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4772 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4773 (grub_menu_viewer_should_return): Likewise.
4774 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4775 * normal/menu_text.c (run_menu): Enable menu switching.
4776 * normal/menu_viewer.c (should_return): New variable.
4777 (menu_viewer_changed): Likewise.
4778 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4779 (grub_menu_viewer_should_return): New function.
4780 (menuviewer_write_hook): Likewise.
4781 (grub_menu_viewer_init): Likewise.
4782
47832010-02-06 Colin D Bennet <colin@gibibit.com>
47842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 Support for gfxterm in a window.
4787
4788 * include/grub/gfxterm.h: New file.
4789 * include/grub/video.h (struct grub_video_rect): New declaration.
4790 (grub_video_rect_t): Likewise.
4791 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4792 (refcount): New variable.
4793 (render_target): Likewise.
4794 (window): Likewise.
4795 (repaint_callback): Likewise.
4796 (grub_virtual_screen_setup): Use 'render_target'.
4797 (init_window): New function.
4798 (grub_gfxterm_init_window): Likewise.
4799 (grub_gfxterm_init): Check reference counter.
4800 Use init_window.
4801 (destroy_window): New function.
4802 (grub_gfxterm_destroy_window): Likewise.
4803 (grub_gfxterm_fini): Check reference counter.
4804 Use destroy_window.
4805 (redraw_screen_rect): Restore viewport.
4806 Use 'render_target' and 'window'.
4807 Call 'repaint_callback'.
4808 (write_char): Use 'render_target'.
4809 (draw_cursor): Likewise.
4810 (scroll_up): Restore viewport.
4811 Use 'render_target' and 'window'.
4812 Call 'repaint_callback'.
4813 (grub_gfxterm_cls): Likewise.
4814 (grub_gfxterm_refresh): Use 'window'.
4815 (grub_gfxterm_set_repaint_callback): New function.
4816 (grub_gfxterm_background_image_cmd): Use 'window'.
4817 (grub_gfxterm_get_term): New function.
4818 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4819
48202010-02-06 Colin D Bennett <colin@gibibit.com>
4821
4822 Bitmap scaling support.
4823
4824 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4825 (bitmap_scale_mod_SOURCES): New variable.
4826 (bitmap_scale_mod_CFLAGS): Likewise.
4827 (bitmap_scale_mod_LDFLAGS): Likewise.
4828 * include/grub/bitmap_scale.h: New file.
4829 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4830 (background_image_cmd_options): New variable.
4831 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4832 (cmd): Rename and change type to ...
4833 (background_image_cmd_handle): ... this. All users updated.
4834 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4835 * video/bitmap_scale.c: New file.
4836
48372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 SDL support.
4840
4841 * Makefile.in (LIBSDL): New variable.
4842 (enable_grub_emu_sdl): Likewise.
4843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4844 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4845 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4846 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4847 * util/sdl.c: New file.
4848
48492010-02-06 Colin D Bennett <colin@gibibit.com>
48502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 Double buffering support.
4853
4854 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4855 * include/grub/video.h: Update comment.
4856 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4857 New type.
4858 (grub_video_fb_doublebuf_blit_init): New prototype.
4859 * term/gfxterm.c (scroll_up): Support double buffering.
4860 (grub_gfxterm_refresh): Likewise.
4861 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4862 (grub_video_fb_doublebuf_blit_init): Likewise.
4863 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4864 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4865 'displayed_page', 'render_page' and 'update_screen'.
4866 (grub_video_vbe_fini): Free offscreen buffer.
4867 (doublebuf_pageflipping_commit): New function.
4868 (doublebuf_pageflipping_update_screen): Likewise.
4869 (doublebuf_pageflipping_init): Likewise.
4870 (double_buffering_init): Likewise.
4871 (grub_video_vbe_setup): Enable doublebuffering.
4872 (grub_video_vbe_swap_buffers): Implement.
4873 (grub_video_vbe_set_active_render_target): Handle double buffering.
4874 (grub_video_vbe_get_active_render_target): Likewise.
4875 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4876 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4877 (grub_video_vbe_enable_double_buffering): Likewise.
4878 (grub_video_vbe_swap_buffers): Use update_screen.
4879 (grub_video_set_mode): Use double buffering.
4880
48812010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4882
4883 * maintainance/gentrigtables.py: Remove.
4884 * lib/trig.c: Likewise.
4885
4886 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4887
4888 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4889 `trigtables.c'.
4890 (trigtables.c): New rule.
4891 (gentrigtables): Likewise.
4892 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4893
48942010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4895
4896 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4897 integer constants.
4898
48992010-02-06 Colin D Bennet <colin@gibibit.com>
4900
4901 Trigonometry support.
4902
4903 * include/grub/trig.h: New file.
4904 * lib/trig.c: Likewise.
4905 * maintainance/gentrigtables.py: Likewise.
4906 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4907 (trig_mod_SOURCES): New variable.
4908 (trig_mod_CFLAGS): Likewise.
4909 (trig_mod_LDFLAGS): Likewise.
4910
5562834e
VS
49112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4914 disk devices.
4915
4f8528fc
VS
49162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4919 error.
4920
2b4068e9
VS
49212010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * util/hostdisk.c (open_device): Don't use partition device when reading
4924 before the partition.
4925 (grub_util_biosdisk_read): Don't read from partition and before the
4926 partition in single operation.
4927 (grub_util_biosdisk_write): Don't write to partition and before the
4928 partition in single operation.
4929
399f6e4d
TL
49302010-02-03 Torsten Landschoff <torsten@debian.org>
4931
4932 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4933 last sectors.
4934
996649b0
VS
49352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4938 CDROM reads.
4939 (grub_biosdisk_write): Refuse to write to CDROM.
4940
3b205d4d
VS
49412010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4944
61e89d9d
VS
49452010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * font/font.c (find_glyph): Check that bmp_idx is available before
4948 using it.
4949 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4950 with (font == NULL).
4951
bf7fcba2
CS
49522010-01-28 Christian Schmitt <chris@ilovelinux.de>
4953
4954 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4955
f45d2663
BC
49562010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4957
4958 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4959 * util/grub-script-check.c (getline): Fix empty lines case.
4960
ec1444e6
RM
49612010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4962
4963 * Makefile.in (check): Exit with fail status when one of the tests
4964 fails.
4965 * tests/example_functional_test.c (example_test): Fix reversed assert.
4966 * tests/example_unit_test.c (example_test): Likewise.
4967
2e1cb9bb
CW
49682010-01-28 Colin Watson <cjwatson@ubuntu.com>
4969
4970 * util/grub.d/10_linux.in: This script does not use any of the
4971 contents of gettext.sh, only the external command `gettext', so stop
4972 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4973 the same prefix as GRUB.)
4974 * util/grub.d/10_kfreebsd.in: Likewise.
4975
63533ab0
VS
49762010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4979 of the line.
4980
989e1f93
VS
49812010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4984 last sectors.
4985
e709ebe2
VS
49862010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4989 having a 4KiB and not 32KiB buffer size.
4990
27dea7ed
RM
49912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4992
4993 * util/hostfs.c: Include `<errno.h>'.
4994 (grub_hostfs_read): Handle errors from fseeko() and fread().
4995
67667b9c
RM
49962010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4997
4998 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4999 loop when using read hooks on files whose size isn't sector-aligned.
5000
c294d9d8
RM
50012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5002
5003 Remove unused parameter.
5004
5005 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
5006 (grub_iso9660_open): Remove initialization of `data->length'.
5007
af75a9f1
RM
50082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5009
5010 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
5011 memleak conditions.
5012
254e2ce5 50132010-01-27 Carles Pina i Estany <carles@pina.cat>
5014
5015 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
5016 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
5017
b510928c 50182010-01-26 Carles Pina i Estany <carles@pina.cat>
5019
5020 * util/bin2h.c (usage): Fix warning (space after backslash).
5021
aa2f9dd2 50222010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 5023
5024 * font/font.c: Include `grub/fontformat.h.
5025 Remove font file format constants.
5026 (grub_font_load): Use the new macros.
5027 * include/grub/fontformat.h: New file.
5028 * util/grub-mkfont.c: Include `grub/fontformat.c'.
5029 (write_font_pf2): Use the new macros.
5030
94e7e712
RM
50312010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5032
5033 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
5034 does.
5035
3973a59a
RM
50362010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5037
5038 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
5039
5040 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
5041 (_start): Macroify `0x7F'.
5042
5043 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
5044 (make_install_device): Use "(pxe)" as fallback prefix when booting
5045 via PXE.
5046
42e0cba3
GS
50472010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * configure.ac: Reset LIBS after check for libgcc symbols.
5050
847effd8
CW
50512010-01-25 Colin Watson <cjwatson@ubuntu.com>
5052
5053 * util/hostdisk.c (open_device): Add trailing newline to debug
5054 message.
5055
ea4a7e35
GS
50562010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5057
5058 * configure.ac: Check for `limits.h'.
5059 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
5060
67951a53
RM
50612010-01-24 Robert Millan <rmh.grub@aybabtu.com>
5062
5063 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
5064 capitalize error strings.
5065
c273d4ce
ST
50662010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
5067
5068 * util/grub.d/10_hurd.in: Add a recovery mode.
5069
69be5b74
VS
50702010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 * configure.ac: Check for libgcc symbols with -nostdlib.
5073
fc9e5810
BC
50742010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
5075
5076 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
5077
4b358c0a
VS
50782010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
5081 stack since heap may be unavailable at that point.
5082 (grub_ofconsole_gotoxy): Likewise.
5083
454fcd1c
VS
50842010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * configure.ac: Check for _restgpr_14_x.
5087 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
5088 and _savegpr_* prototypes.
5089
566863ca
RM
50902010-01-22 Robert Millan <rmh.grub@aybabtu.com>
5091
5092 Use generic grub_reboot() for i386-efi.
5093
5094 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
5095 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
5096 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
5097
bf86e59a
VS
50982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
5101 presence of "prefix" variable as it breaks when normal.mod is
5102 embedded.
5103
d645e0f8
VS
51042010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
5107 stack since heap is unavailable at that point.
5108
f9ab2e25
VS
51092010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
5112 (grub_freebsd_bootinfo): Rewritten.
5113 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
5114
01fc7054
VS
51152010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
5118
caab4fd6
RM
51192010-01-21 Robert Millan <rmh.grub@aybabtu.com>
5120
5121 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
5122 domain now.
5123
67eb1427
FZ
51242010-01-20 Felix Zielcke <fzielcke@z-51.de>
5125
5126 * util/misc.c (make_system_path_relative_to_its_root): Change the work
5127 around for handling "/" to the correct fix. Fix a memory leak. Use
5128 xstrdup instead of strdup.
5129
a9ed4ff3
VS
51302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
5133
51342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
5135
5136 Optimise glyph lookup by Basic Multilingual Plane lookup array.
5137
5138 * font/font.c (struct grub_font): New member 'bmp_idx'.
5139 (font_init): Initialise 'bmp_idx'.
5140 (load_font_index): Fill 'bmp_idx'.
5141 (find_glyph): Make inline. Use bmp_idx for BMP characters.
5142
48209f4f
VS
51432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
5146 unnecessary calls.
5147
9f0a4bb7
VS
51482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 Move context handling out of the kernel.
5151
5152 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
5153 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
5154 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
5155 * conf/i386-efi.rmk: Likewise.
5156 * conf/i386-ieee1275.rmk: Likewise.
5157 * conf/i386-pc.rmk: Likewise.
5158 * conf/powerpc-ieee1275.rmk: Likewise.
5159 * conf/sparc64-ieee1275.rmk: Likewise.
5160 * conf/x86_64-efi.rmk: Likewise.
5161 * include/grub/env.h: Include grub/menu.h.
5162 (grub_env_var_type): Removed.
5163 (grub_env_var): Replaced field 'type' with 'global'.
5164 (grub_env_find): New prototype.
5165 (grub_env_context_open): Remove EXPORT_FUNC.
5166 (grub_env_context_close): Likewise.
5167 (grub_env_export): Likewise.
5168 (grub_env_set_data_slot): Removed.
5169 (grub_env_get_data_slot): Likewise.
5170 (grub_env_unset_data_slot): Likewise.
5171 (grub_env_unset_menu): New prototype.
5172 (grub_env_set_menu): Likewise.
5173 (grub_env_get_menu): Likewise.
5174 * include/grub/env_private.h: New file.
5175 * include/grub/normal.h (grub_context_init): New prototype.
5176 (grub_context_fini): Likewise.
5177 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
5178 * normal/context.c (grub_cmd_export): ... to here.
5179 * kern/env.c: Include env_private.h.
5180 (HASHSZ): Moved to include/grub/env_private.h.
5181 (grub_env_context): Likewise.
5182 (grub_env_sorted_var): Likewise.
5183 (current_context): Renamed from this ...
5184 (grub_current_context): ...to this. 'static' removed. All users updated.
5185 (grub_env_find): Removed 'static'.
5186 (grub_env_context_open): Moved to normal/context.c.
5187 (grub_env_context_close): Likewise.
5188 (grub_env_export): Likewise.
5189 (mangle_data_slot_name): Removed.
5190 (grub_env_set_data_slot): Likewise.
5191 (grub_env_get_data_slot): Likewise.
5192 (grub_env_unset_data_slot): Likewise.
5193 * kern/main.c (grub_set_root_dev): Don't export root.
5194 It will be done later.
5195 (grub_main): Don't export prefix.
5196 It will be done later.
5197 * normal/context.c: New file.
5198 * normal/main.c (free_menu): Use grub_env_unset_menu.
5199 (grub_normal_add_menu_entry): Use grub_env_get_menu.
5200 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
5201 (GRUB_MOD_INIT(normal)): Call grub_context_init.
5202 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
5203
8dd35b8c
VS
52042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 setpci support.
5207
5208 * commands/setpci.c: New file.
5209 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
5210 (setpci_mod_SOURCES): New variable.
5211 (setpci_mod_CFLAGS): Likewise.
5212 (setpci_mod_LDFLAGS): Likewise.
5213
449193d5
VS
52142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 Byte-addressable PCI configuration space.
5217
5218 * bus/pci.c (grub_pci_make_address): Use byte address instead of
5219 dword address.
5220 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
5221 GRUB_PCI_REG_CACHELINE.
5222 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
5223 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
5224 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
5225 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
5226 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
5227 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
5228 grub_pci_make_address.
5229 (lock_rom_area): Likewise.
5230 * commands/lspci.c (grub_lspci_iter): Use macroses
5231 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
5232 of grub_pci_make_address.
5233 * disk/ata.c (grub_ata_pciinit): Likewise.
5234 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
5235 (GRUB_PCI_REG_VENDOR): Likewise.
5236 (GRUB_PCI_REG_DEVICE): Likewise.
5237 (GRUB_PCI_REG_COMMAND): Likewise.
5238 (GRUB_PCI_REG_STATUS): Likewise.
5239 (GRUB_PCI_REG_REVISION): Likewise.
5240 (GRUB_PCI_REG_CLASS): Likewise.
5241 (GRUB_PCI_REG_CACHELINE): Likewise.
5242 (GRUB_PCI_REG_LAT_TIMER): Likewise.
5243 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
5244 (GRUB_PCI_REG_BIST): Likewise.
5245 (GRUB_PCI_REG_ADDRESSES): Likewise.
5246 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5247 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5248 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5249 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5250 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5251 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5252 (GRUB_PCI_REG_CIS_POINTER): Likewise.
5253 (GRUB_PCI_REG_SUBVENDOR): Likewise.
5254 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
5255 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
5256 (GRUB_PCI_REG_CAP_POINTER): Likewise.
5257 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5258 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5259 (GRUB_PCI_REG_MIN_GNT): Likewise.
5260 (GRUB_PCI_REG_MAX_LAT): Likewise.
5261 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5262 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5263 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 5264 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
5265 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5266 space.
5267
96d73208
RM
52682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5269
5270 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5271 can be reliably determined to be supported.
5272
d4484482
RM
52732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5274
5275 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5276 that VESA is supported.
5277 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5278 supported.
5279
00308ecf
VS
52802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5283
f66924a4
RM
52842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5285
5286 * util/misc.c (make_system_path_relative_to_its_root): Work around
5287 special-casing of "/", as previous incarnation of this routine did.
5288
cbca0ada
VS
52892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 Fix any-emu compilation.
5292
5293 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5294 * grub_bin2h_SOURCES: New variable.
5295
34a66d99
RM
52962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5297
5298 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5299
94fabf58
RM
53002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5301
5302 * util/grub.d/00_header.in: Fix handling of locale_dir.
5303
02cf98ca
VS
53042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5307 as possible unifont location (Gentoo).
5308 Reported by: Alexander Brüning
5309
327dbcd7
VS
53102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 Don't try to generate lists for kernel.img.
5313
5314 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5315 (pkglib_MODULES): Remove kernel.img.
5316 (kernel_img_EXPORTS): Removed.
5317 (kernel_img_RELOCATABLE): New variable.
5318 * conf/x86_64-efi.rmk: Likewise.
5319 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5320
ca467290
VS
53212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5324 grub_xasprintf or grub_snprintf.
5325 (grub_vsprintf): Likewise.
5326 (grub_snprintf): New proto.
5327 (grub_vsnprintf): Likewise.
5328 (grub_xasprintf): Likewise.
5329 (grub_xvasprintf): Likewise.
5330 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5331 (grub_sprintf): Removed.
5332 (grub_vsnprintf): New function.
5333 (grub_snprintf): Likewise.
5334 (grub_xvasprintf): Likewise.
5335 (grub_xasprintf): Likewise.
5336 (grub_vsprintf): Renamed to ...
5337 (grub_vsnprintf_real): ...this. New argument max_len.
5338
aca655fd
BC
53392010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5340
5341 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5342 fix grub-script-check warning.
5343
7ee92c32
VS
53442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * include/grub/font.h (grub_font_load): Fix prototype.
5347
f80927ca
VS
53482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5351
119c50ea
VS
53522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * include/grub/x86_64/at_keyboard.h: New file.
5355
47d5f3c1
VS
53562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * loader/mips/linux.c: Include missing grub/i18n.h.
5359
55ff5266
RM
53602009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5361
5362 * normal/menu.c (notify_execution_failure): Clarify error message.
5363
c893cc87
RM
53642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5365
5366 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5367 return value (and revert all return statements). Update users.
5368
917dd370
CW
53692010-01-20 Dan Merillat <debian@dan.merillat.org>
5370
5371 * kern/device.c (grub_device_iterate): Allocate new part_ent
5372 structure based on sizeof (*p) rather than sizeof (p->next), to
5373 account for structure padding.
5374
5375 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5376 disk is NULL, which might happen for LVM physical volumes with no
5377 LVM signature.
5378
d4a4ee57
RM
53792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5380
5381 * loader/mips/linux.c (grub_cmd_initrd)
5382 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5383
53842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5385
5386 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5387 (grub_video_video_init, grub_video_bitmap_init)
5388 (grub_font_manager_init, grub_term_gfxterm_init)
5389 (grub_at_keyboard_init): New extern declarations.
5390 (grub_machine_init): Initialize gfxterm and at_keyboard.
5391
5392 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5393
5394 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5395 `gfxterm.mod' into core image.
5396
5397 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5398 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5399 (kernel_img_FORMAT): Copy to ...
5400
5401 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5402 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5403 (kernel_img_FORMAT): ... here, and ...
5404
5405 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5406 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5407 (kernel_img_FORMAT): ... here.
5408
5409 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5410 and input (at_keyboard) terminals in kernel.
5411 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5412
5413 (pkglib_MODULES): Remove `pci.mod'.
5414 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5415 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5416 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5417 (at_keyboard_mod_LDFLAGS): Remove variables.
5418
54192010-01-11 Felix Zielcke <fzielcke@z-51.de>
5420
5421 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5422
54232009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5424
5425 * include/grub/mips/libgcc.h: Only export symbols for functions
5426 that libgcc provides.
5427
54282009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 MIPS support.
5431
5432 * bus/bonito.c: New file.
5433 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5434 GRUB_PCI_NUM_DEVICES.
5435 * term/i386/pc/serial.c: Move to ...
5436 * term/serial.c: ... here. All users updated.
5437 * util/i386/pc/grub-mkimage.c: Move to ...
5438 * util/grub-mkrawimage.c: ... here. All users updated.
5439 * term/i386/pc/at_keyboard.c: Move to ...
5440 * term/at_keyboard.c: ... here. All users updated.
5441 * conf/mips-qemu-mips.rmk: New file.
5442 * conf/mips-yeeloong.rmk: Likewise.
5443 * conf/mips.rmk: Likewise.
5444 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5445 mipsel-qemu-mips.
5446 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5447 to port addresses.
5448 (grub_ata_pciinit): Support CS5536.
5449 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5450 * font/font_cmd.c (loadfont_command): Open file before passing it to
5451 grub_font_load.
5452 (pseudo_file_read): New function.
5453 (pseudo_file_close): Likewise.
5454 (pseudo_fs): New structure.
5455 (load_font_module): New function.
5456 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5457 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5458 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5459 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5460 * include/grub/i386/at_keyboard.h: Split into ...
5461 * include/grub/at_keyboard.h: ... this ...
5462 * include/grub/i386/at_keyboard.h: ... and this.
5463 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5464 New prototype.
5465 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5466 updated.
5467 (grub_elf64_size): Likewise.
5468 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5469 filename.
5470 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5471 * include/grub/i386/coreboot/serial.h: Rewritten.
5472 * include/grub/i386/ieee1275/serial.h: Include
5473 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5474 * include/grub/i386/pc/serial.h: Moved from here ...
5475 * include/grub/serial.h: ... to here. All users updated.
5476 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5477 (GRUB_PCI_NUM_BUS): Likewise.
5478 (GRUB_PCI_NUM_DEVICES): Likewise.
5479 (grub_pci_device_map_range): Add missing volatile keyword.
5480 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5481 * include/grub/mips/at_keyboard.h: New file.
5482 * include/grub/mips/cache.h: Likewise.
5483 * include/grub/mips/io.h: Likewise.
5484 * include/grub/mips/kernel.h: Likewise.
5485 * include/grub/mips/libgcc.h: Likewise.
5486 * include/grub/mips/pci.h: Likewise.
5487 * include/grub/mips/qemu-mips/boot.h: Likewise.
5488 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5489 * include/grub/mips/qemu-mips/loader.h: Likewise.
5490 * include/grub/mips/qemu-mips/memory.h: Likewise.
5491 * include/grub/mips/qemu-mips/serial.h: Likewise.
5492 * include/grub/mips/qemu-mips/time.h: Likewise.
5493 * include/grub/mips/relocator.h: Likewise.
5494 * include/grub/mips/time.h: Likewise.
5495 * include/grub/mips/types.h: Likewise.
5496 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5497 * include/grub/mips/yeeloong/boot.h: Likewise.
5498 * include/grub/mips/yeeloong/kernel.h: Likewise.
5499 * include/grub/mips/yeeloong/loader.h: Likewise.
5500 * include/grub/mips/yeeloong/memory.h: Likewise.
5501 * include/grub/mips/yeeloong/pci.h: Likewise.
5502 * include/grub/mips/yeeloong/serial.h: Likewise.
5503 * include/grub/mips/yeeloong/time.h: Likewise.
5504 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5505 * kern/elf.c (grub_elf32_size): New parameter. All users
5506 updated.
5507 (grub_elf64_size): Likewise.
5508 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5509 Load modules before saying "Welcome to GRUB!".
5510 Call grub_refresh after saying "Welcome to GRUB!".
5511 * kern/mips/cache.S: New file.
5512 * kern/mips/cache_flush.S: Likewise.
5513 * kern/mips/dl.c: Likewise.
5514 * kern/mips/init.c: Likewise.
5515 * kern/mips/qemu-mips/init.c: Likewise.
5516 * kern/mips/startup.S: Likewise.
5517 * kern/mips/yeeloong/init.c: Likewise.
5518 * kern/term.c (grub_putcode): Handle NULL terminal.
5519 (grub_getcharwidth): Likewise.
5520 (grub_getkey): Likewise.
5521 (grub_checkkey): Likewise.
5522 (grub_getkeystatus): Likewise.
5523 (grub_getxy): Likewise.
5524 (grub_getwh): Likewise.
5525 (grub_gotoxy): Likewise.
5526 (grub_cls): Likewise.
5527 (grub_setcolorstate): Likewise.
5528 (grub_setcolor): Likewise.
5529 (grub_getcolor): Likewise.
5530 (grub_refresh): Likewise.
5531 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5532 (write_jump): Add hatch nop.
5533 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5534 * lib/mips/setjmp.S: New file.
5535 * loader/mips/linux.c: Likewise.
5536 * term/i386/pc/at_keyboard.c: Move from here ...
5537 * term/at_keyboard.c: ... to here.
5538 * term/i386/pc/serial.c: Moved from here ...
5539 * term/serial.c: ... to here. All users updated.
5540 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5541 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5542 (serial_translate_key_sequence): Avoid deadlock.
5543 (grub_serial_getkey): Handle backspace.
5544 (grub_serial_putchar): Fix newline handling.
5545 * util/i386/pc/grub-mkimage.c: Move from here ...
5546 * util/grub-mkrawimage.c: ... to here. All users updated.
5547 (generate_image): New parameters 'font_path' and 'format'.
5548 Support embedding font.
5549 Use grub_host_to_target* instead of grub_cpu_to_le*.
5550 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5551 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5552 (options): New option "--font".
5553 (usage): Likewise.
5554 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5555 (main): Handle "--font".
5556 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5557 (grub_virtual_screen_setup): Set bg_color_display.
5558 (redraw_screen_rect): Use bg_color_display instead of incorrect
5559 bg_color.
5560 (grub_gfxterm_cls): Likewise.
5561 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5562 Support embedding config file.
5563 (add_segments): Likewise.
5564 (options): New option "--config".
5565 (main): Handle "--config".
5566 * video/sm712.c: New file.
5567
25c2b5b3
RM
55682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5569
5570 Fix parallel builds.
5571
5572 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5573 font.c depend on ascii.h).
5574
55752010-01-12 Carles Pina i Estany <carles@pina.cat>
5576
5577 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5578
55792010-01-11 Carles Pina i Estany <carles@pina.cat>
5580
5581 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5582 By default: disabled.
5583 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5584 parameter.
5585
55862010-01-10 Carles Pina i Estany <carles@pina.cat>
5587
5588 * font/font.c: Update copyright years.
5589 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5590
55912010-01-10 Carles Pina i Estany <carles@pina.cat>
5592
5593 * font/font.c: Include `ascii.h'.
5594 (ASCII_BITMAP_SIZE): New macro.
5595 (ascii_font_glyph): Define.
5596 (ascii_glyph_lookup): New function.
5597 (grub_font_get_string_width): Change comment. If glyph not found, use
5598 ascii_glyph_lookup.
5599 (grub_font_get_glyph_with_fallback): If glyph not available returns
5600 ascii_glyph_lookup.
5601 * util/grub-mkfont.c (file_formats): New enum.
5602 (options): Add `ascii-bitmaps' new option.
5603 (usage): Add `asii-bitmaps' new option.
5604 (write_font_ascii_bitmap): New function.
5605 (write_font): Rename to ...
5606 (write_font_p2): ... this. Remove print_glyphs call.
5607 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5608 used. Call print_glyphs.
5609 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5610
56112010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5612
5613 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5614 (grub_bin2h_SOURCES): New variable.
5615 * util/bin2h.c: New file.
5616
915fc1b8
VS
56172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * include/multiboot.h: Resynced with spec.
5620 * include/multiboot2.h: Likewise.
5621 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5622 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5623
9444b678
RM
56242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5625
5626 * include/grub/term.h (grub_term_register_input,
5627 grub_term_register_output): Check return of terminal init()
5628 routines, and abort if errors are raised.
5629
5630 * commands/terminal.c: Update copyright year.
5631
cba98e8d
RM
56322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5633
5634 * commands/terminal.c (grub_cmd_terminal_input)
5635 (grub_cmd_terminal_output): Check return of terminal init()
5636 routines, and abort if errors are raised.
5637
6f7db5d6
VS
56382010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * include/grub/i386/bsd.h: Fix include pathes.
5641
262bff8d
VS
56422010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 Add missing *BSD copyright headers.
5645
5646 * include/grub/aout.h: Add BSD licence.
5647 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5648 * include/grub/i386/freebsd_linker.h: ... here,
5649 * include/grub/i386/freebsd_reboot.h: ... here,
5650 * include/grub/i386/netbsd_bootinfo.h: ... here,
5651 * include/grub/i386/netbsd_reboot.h: ... here,
5652 * include/grub/i386/openbsd_bootarg.h: ... here,
5653 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5654 licence to each file.
5655
b2cab848
RM
56562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5657
5658 * acinclude.m4: Remove `nop' assembly instruction; it's not
5659 implemented by all architectures.
5660
2cb6be4b
RM
56612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5662
5663 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5664 ELILO. This is no longer necessary.
5665
a2eaee15
BC
56662010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5667
5668 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5669
5670 * util/grub-script-check.c: grub-script-check tool.
5671 * conf/common.rmk: Make rules for grub-script-check.
5672
88d17012
RM
56732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5674
5675 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5676 spotting it back in 2008. Shame on me for forgetting he did.
5677
5678 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5679
8040619d
RM
56802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5681
5682 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5683 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5684 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5685 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5686 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5687 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5688
a0c2a0f6
RM
56892010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5690
5691 * include/grub/test.h: Add license header.
5692 * tests/example_functional_test.c: Likewise.
5693 * tests/example_unit_test.c: Likewise.
5694 * tests/lib/functional_test.c: Likewise.
5695 * tests/lib/test.c: Likewise.
5696 * tests/lib/unit_test.c: Likewise.
5697
b0b13907
VS
56982010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 Use flag-based instead of hook-based video mode selection and "auto"
5701 keyword.
5702
5703 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5704 (grub_video_set_mode): Changed prototype. All users updated.
5705 (grub_video_check_mode_flag): New inline function.
5706 * video/video.c (parse_modespec): New function.
5707 (grub_video_set_mode): Parse flags and keywords.
5708
ea379330 57092010-01-17 Carles Pina i Estany <carles@pina.cat>
5710
5711 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5712 fprintf call.
5713
e15c215e
FZ
57142010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5715
5716 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5717
409ae1c9 57182010-01-16 Carles Pina i Estany <carles@pina.cat>
5719
5720 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5721 string.
5722 * util/grub-emu.c (usage): Likewise.
5723 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5724 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5725 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5726 * util/i386/pc/grub-setup.c (usage): Likewise.
5727
70a14d3d 57282010-01-16 Carles Pina i Estany <carles@pina.cat>
5729
5730 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5731 the message.
5732 (grub_util_info): Likewise.
5733 (grub_util_error): Likewise.
5734 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5735 and/or new lines in `grub_util_warna', `grub_util_info',
5736 `grub_util_error' calls.
5737 * util/getroot.c: Likewise.
5738 * util/grub-editenv.c: Likewise.
5739 * util/grub-emu.c: Likewise.
5740 * util/grub-fstest.c: Likewise.
5741 * util/grub-mkdevicemap.c: Likewise.
5742 * util/grub-mkfont.c: Likewise.
5743 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5744 * util/grub-mkrelpath.c: Likewise.
5745 * util/grub-pe2elf.c: Likewise.
5746 * util/grub-probe.c: Likewise.
5747 * util/hostdisk.c: Likewise.
5748 * util/i386/efi/grub-mkimage.c: Likewise.
5749 * util/i386/pc/grub-mkimage.c: Likewise.
5750 * util/i386/pc/grub-setup.c: Likewise.
5751 * util/ieee1275/ofpath.c: Likewise.
5752 * util/mkisofs/eltorito.c: Likewise.
5753 * util/mkisofs/rock.c: Likewise.
5754 * util/mkisofs/write.c: Likewise.
5755 * util/raid.c: Likewise.
5756 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5757 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5758
a0b766fc
VS
57592010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 Enable multiboot on non-pc.
5762
5763 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5764 multiboot.mod and multiboot2.mod to ...
5765 * conf/i386.rmk (pkglib_MODULES): ... here.
5766 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5767 Moved to ...
5768 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5769 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5770 Moved to ...
5771 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5772 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5773 Moved to ...
5774 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5775 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5776 Moved to ...
5777 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5778 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5779 relocator.mod.
5780 (ata_mod_SOURCES): Removed.
5781 (ata_mod_CFLAGS): Likewise.
5782 (ata_mod_LDFLAGS): Likewise.
5783 (relocator_mod_SOURCES): Removed.
5784 (relocator_mod_CFLAGS): Likewise.
5785 (relocator_mod_ASFLAGS): Likewise.
5786 (relocator_mod_LDFLAGS): Likewise.
5787 Include i386.mk.
5788 * include/grub/x86_64/multiboot.h: New file.
5789 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5790 Terminate EFI.
5791
884ade56
VS
57922010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 Video multiboot support.
5795
5796 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5797 New prototype.
5798 * include/multiboot.h: Resynced with multiboot specification.
5799 * include/multiboot2.h: Likewise.
5800 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5801 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5802 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5803 (HAS_VGA_TEXT): Likewise.
5804 (accepts_video): New variable.
5805 (grub_multiboot_set_accepts_video): New function.
5806 (grub_multiboot_get_mbi_size): Account for video structures.
5807 (set_video_mode): New function.
5808 (retrieve_video_parameters): Likewise.
5809 (grub_multiboot_make_mbi): Fill video fields.
5810
0d90e8a6
VS
58112010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 Video driver ids.
5814
5815 * include/grub/video.h (grub_video_driver_id): New type.
5816 (grub_video_adapter): New member 'id'. All users updated.
5817 (grub_video_get_driver_id): New proto.
5818 * video/video.c (grub_video_get_driver_id): New function.
5819
5c71db1b 58202010-01-14 Carles Pina i Estany <carles@pina.cat>
5821
5822 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5823 `var=val'.
5824
cca15b52 58252010-01-14 Carles Pina i Estany <carles@pina.cat>
5826
5827 * normal/cmdline.c (print_completion): Gettextizze.
5828
c586fbb2 58292001-01-14 Carles Pina i Estany <carles@pina.cat>
5830
5831 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5832
ba2f6848 58332010-01-14 Carles Pina i Estany <carles@pina.cat>
5834
5835 * gettext/gettext.c (grub_gettext_translate): Push and pop
5836 grub_errno.
5837 (grub_gettext_delete_list): Change comment style.
5838 * kern/err.c (grub_error): Gettextizze.
5839 (grub_fatal): Gettextizze.
5840
0a46429a
RM
58412010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5842
5843 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5844 (grub_linux16_real_boot): ... this.
5845 * kern/i386/loader.S: Likewise.
5846 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5847 (grub_linux16_boot): New function. Switches to text mode and calls
5848 grub_linux16_real_boot().
5849
5850 * loader/i386/bsd.c: Include `<grub/video.h>'.
5851 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5852 text mode before calling grub_unix_real_boot().
5853
5854 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5855 (grub_multiboot_boot): Switch to text mode before calling
5856 grub_relocator32_boot().
5857
5858 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5859 (grub_chainloader_boot): Switch to text mode before calling
5860 grub_chainloader_real_boot().
5861
d6f93a66
RM
58622010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
58632010-01-05 Colin Watson <cjwatson@ubuntu.com>
5864
5865 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5866 non-empty value.
5867
58682010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
58692010-01-05 Colin Watson <cjwatson@ubuntu.com>
5870
5871 * util/grub.d/00_header.in: Define a "savedefault" function for use
5872 in menu entries.
5873 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5874
58752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
58762010-01-05 Colin Watson <cjwatson@ubuntu.com>
5877
5878 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5879 saved_entry if boot_once is unset.
5880 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5881 previous saved entry (i.e. grub-reboot).
5882
58832009-12-08 Colin Watson <cjwatson@ubuntu.com>
5884
5885 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5886
58872009-12-08 Colin Watson <cjwatson@ubuntu.com>
5888
5889 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5890 `var=val'.
5891 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5892
58932009-12-08 Colin Watson <cjwatson@ubuntu.com>
5894
5895 * util/grub-reboot.in: Fix --version output.
5896 * util/grub-set-default.in: Likewise.
5897
58982009-12-08 Colin Watson <cjwatson@ubuntu.com>
5899
5900 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5901 blocks.
5902
59032009-12-08 Colin Watson <cjwatson@ubuntu.com>
5904
5905 * util/grub.d/00_header.in: Quote the value assigned to `default',
5906 in case it contains spaces.
5907
59082009-12-08 Colin Watson <cjwatson@ubuntu.com>
5909
5910 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5911 `save_default_entry' call from the macosx case to the linux case.
5912
59132009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
59142009-10-25 Colin Watson <cjwatson@ubuntu.com>
5915
5916 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5917 in `chosen' environment variable.
5918 * normal/menu_text.c (get_entry_number): Check if the variable
5919 matches the title of a menu entry.
5920 (run_menu): Pass menu to get_entry_number.
5921
5922 * util/grub-reboot.in: New file.
5923 * util/grub-set-default.in: New file.
5924 * conf/common.rmk (grub-reboot): New utility.
5925 (grub-set-default): New utility.
5926
5927 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5928 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5929 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5930 move it to `saved_entry' for the next boot. Load environment on
5931 initialisation.
5932 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5933 * util/grub.d/10_hurd.in: Likewise.
5934 * util/grub.d/10_linux.in (linux_entry): Likewise.
5935 * util/grub.d/10_windows.in: Likewise.
5936 * util/grub.d/30_os-prober.in: Likewise.
5937
5938 * util/grub-install.in: Create environment block.
5939 * util/i386/efi/grub-install.in: Likewise.
5940 * util/ieee1275/grub-install.in: Likewise.
5941 * util/sparc64/ieee1275/grub-install.in: Likewise.
5942
0934d184
BC
59432010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5944
5945 Unit testing framework for GRUB.
5946
5947 * Makefile.in: Test framework build rules for 'make check'.
5948 * conf/tests.rmk: Build rules for individual tests and framework.
5949
5950 * include/grub/test.h: Header file for whitebox tests.
5951 * tests/lib/functional_test.c: Framework support for whitebox
5952 functional tests.
5953 * tests/lib/test.c: Common whitebox testing code for unit and
5954 functional tests.
5955 * tests/lib/unit_test.c: Framework support for whitebox unit
5956 tests.
5957
5958 * tests/util/grub-shell-tester.in: Support utility for grub-script
5959 tests.
5960 * tests/util/grub-shell.in: Utility to execute grub-script
5961 commands in a Qemu instance.
5962
5963 * tests/example_functional_test.c: Example whitebox functional
5964 test.
5965 * tests/example_grub_script_test.in: Example grub-script test.
5966 * tests/example_scripted_test.in: Example scripted test.
5967 * tests/example_unit_test.c: Example whitebox unit test.
5968
9c4ffeeb
VS
59692010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5972 Add loader/i386/multiboot_mbi.c.
5973 (multiboot2_mod_SOURCES): Likewise.
5974 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5975 (multiboot2_mod_SOURCES): Likewise.
5976 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5977 (grub_multiboot_make_mbi): Likewise.
5978 (grub_multiboot_free_mbi): Likewise.
5979 (grub_multiboot_init_mbi): Likewise.
5980 (grub_multiboot_add_module): Likewise.
5981 (grub_multiboot_set_bootdev): Likewise.
5982 * loader/i386/multiboot.c (mbi): Removed.
5983 (mbi_dest): Likewise.
5984 (alloc_mbi): New variable.
5985 (grub_multiboot_payload_size): Removed. All users updated.
5986 (grub_multiboot_pure_size): New variable.
5987 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5988 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5989 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5990 (grub_fill_multiboot_mmap): Likewise.
5991 (grub_multiboot_get_bootdev): Likewise.
5992 (grub_multiboot): Use multiboot_mbi functions.
5993 * loader/i386/multiboot_mbi.c: New file.
5994
17383dfe
VS
59952010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5998 it would result in module crash.
5999
c1f28820
VS
60002010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
6003 (grub_ofconsole_getwh): Split to ...
6004 (grub_ofconsole_getwh): ... this.
6005 (grub_ofconsole_dimensions): ...and this.
6006 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
6007
58655a16
RM
60082010-01-13 Robert Millan <rmh.grub@aybabtu.com>
6009
6010 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
6011
10891398
VS
60122010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * loader/i386/pc/multiboot2.c: Removed stalled file.
6015
0b8a223c
VS
60162010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
6019 Reported by: Grégoire Sutre
6020
92ab12b0
RM
60212010-01-11 Robert Millan <rmh.grub@aybabtu.com>
6022
6023 * util/misc.c (canonicalize_file_name): New function.
6024 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
6025 instead of realpath().
6026
a788afb6
CW
60272010-01-11 Colin Watson <cjwatson@ubuntu.com>
6028
6029 * util/grub-install.in (usage): Clarify meaning of --root-directory,
6030 and make it clearer that it's optional. Based on confusion
6031 witnessed on IRC.
6032
ffa8e3d2
VS
60332010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
6036 in premature implicit newline.
6037
e9060a9d
VS
60382010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6041 which resulted in garbled command line at the end of screen.
6042
f0d0c0b7
RM
60432010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6044
6045 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
6046 initialization with similar approach as with other Linux loaders.
6047
0e60bae7
RM
60482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6049
6050 Fix i386-ieee1275 build.
6051
6052 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
6053 and grub_term_height() for video_{width,height} initialization.
6054
60552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
6056
6057 Fix grub-emu build.
6058
6059 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
6060
cdb3f378
RM
60612010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
60622010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6063
6064 Support for multiple terminals.
6065
6066 * Makefile.in (pkglib_DATA): terminal.lst.
6067 (terminal.lst): New target.
6068 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
6069 (GRUB_MOD_INIT(handler)): Likewise.
6070 (GRUB_MOD_FINI(handler)): Likewise.
6071 * commands/help.c (grub_cmd_help): Handle multiple terminals.
6072 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
6073 * commands/sleep.c (do_print): Use grub_term_restore_pos.
6074 (grub_cmd_sleep): Use grub_term_save_pos.
6075 * commands/terminal.c: New file.
6076 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
6077 commands/terminal.c and lib/charset.c.
6078 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
6079 (pkglib_MODULES): Add terminal.mod.
6080 (terminal_mod_SOURCES): New variable.
6081 (terminal_mod_CFLAGS): Likewise.
6082 (terminal_mod_LDFLAGS): Likewise.
6083 * genhandlerlist.sh: Don't handle terminals.
6084 * genmk.rb: Generate terminal-*.lst.
6085 * genterminallist.sh: New file.
6086 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
6087 (grub_is_valid_utf8): Likewise.
6088 (grub_utf8_to_ucs4_alloc): Likewise.
6089 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
6090 (grub_menu_register_viewer): Changed argument.
6091 (grub_menu_try_text): New proto.
6092 (grub_gfxmenu_try_hook): New declaration.
6093 * include/grub/normal.h (grub_normal_exit_level): New declaration.
6094 (grub_menu_init_page): Additional argument term.
6095 (grub_normal_init_page): Likewise.
6096 (grub_cmdline_get): Arguments simplified.
6097 (grub_utf8_to_ucs4_alloc): Removed.
6098 (grub_print_ucs4): Additional argument term.
6099 (grub_getstringwidth): Likewise.
6100 (grub_print_message_indented): Likewise.
6101 (grub_menu_text_register_instances): New proto.
6102 (grub_show_menu): Likewise.
6103 (read_terminal_list): Likewise.
6104 (grub_set_more): Likewise.
6105 * include/grub/parser.h: Include handler.h.
6106 * include/grub/reader.h: Rewritten.
6107 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
6108 (GRUB_TERM_WIDTH): Changed to function.
6109 (GRUB_TERM_HEIGHT): Likewise.
6110 (GRUB_TERM_BORDER_WIDTH): Likewise.
6111 (GRUB_TERM_BORDER_HEIGHT): Likewise.
6112 (GRUB_TERM_NUM_ENTRIES): Likewise.
6113 (GRUB_TERM_ENTRY_WIDTH): Likewise.
6114 (GRUB_TERM_CURSOR_X): Likewise.
6115 (grub_term_input_class): Likewise.
6116 (grub_term_output_class): Likewise.
6117 (grub_term_outputs_disabled): New declaration.
6118 (grub_term_inputs_disabled): Likewise.
6119 (grub_term_outputs): Likewise.
6120 (grub_term_inputs): Likewise.
6121 (grub_term_register_input): Rewritten.
6122 (grub_term_register_output): Likewise.
6123 (grub_term_unregister_input): Likewise.
6124 (grub_term_unregister_output): Likewise.
6125 (FOR_ACTIVE_TERM_INPUTS): New macro.
6126 (FOR_DISABLED_TERM_INPUTS): Likewise.
6127 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6128 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6129 * include/grub/terminfo.h: Add oterm argument to all protypes.
6130 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
6131 Use grub_rescue_run.
6132 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
6133 All users updated.
6134 * kern/reader.c: Removed. All users updated.
6135 * kern/rescue_reader.c (grub_rescue_init): Removed.
6136 (grub_rescue_reader): Likewise.
6137 (grub_register_rescue_reader): Likewise.
6138 (grub_rescue_run): New function based on kern/reader.c.
6139 * kern/term.c: Adapted for multiterm.
6140 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
6141 (grub_is_valid_utf8): Likewise.
6142 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
6143 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
6144 right terminal.
6145 * loader/i386/linux.c (grub_linux_boot): Likewise.
6146 * normal/auth.c (grub_username_get): New function.
6147 (grub_auth_check_authentication): Use grub_username_get.
6148 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
6149 * normal/color.c: Adapt for multiterm.
6150 * normal/main.c (read_config_file): Don't use grub_reader_loop.
6151 (grub_normal_init_page): Additional argument term.
6152 (read_lists): Call read_terminal_lists.
6153 (grub_enter_normal_mode): Call grub_cmdline_run.
6154 Handle grub_normal_exit_level.
6155 (grub_cmd_normal): Make reentrant.
6156 (grub_cmd_normal_exit): New function.
6157 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
6158 * normal/menu.c: Adapt for multiterm.
6159 * normal/menu_entry.c: Likewise.
6160 * normal/menu_text.c: Likewise.
6161 * normal/menu_viewer.c: Removed. All users updated.
6162 * normal/term.c: New file.
6163 * util/console.c: Change order of includes to workaround a bug in
6164 ncurses headers.
6165 * term/terminfo.c: New argument oterm on all exported functions.
6166 All users updated.
6167 * util/grub-editenv.c (grub_term_input_class): Removed.
6168 (grub_term_output_class): Likewise.
6169
1a064917
RM
61702010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6171
6172 Make loader output a bit more user-friendly.
6173
6174 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
6175 is being loaded. Likewise for the Hurd.
6176
6177 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
6178 that kernel of FreeBSD ${version} is being loaded.
6179
6180 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
6181 grub_dprintf().
6182 (grub_cmd_initrd): Likewise.
6183 * util/grub.d/10_linux.in (linux_entry): Print message indicating
6184 that Linux ${version} is being loaded. Likewise for initrd.
6185
5ce0a83a 61862010-01-09 Carles Pina i Estany <carles@pina.cat>
6187
6188 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
6189
809bbfeb 61902010-01-08 Carles Pina i Estany <carles@pina.cat>
6191
6192 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
6193 (GRUB_MOD_INIT): Gettextizze.
6194 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
6195 (GRUB_MOD_INIT): Gettextizze.
6196 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
6197 (grub_cmd_linux): Capitalise Linux.
6198 (GRUB_MOD_INIT): Gettextizze.
6199 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
6200 (grub_cmd_linux): Capitalise Linux.
6201 (GRUB_MOD_INIT): Gettextizze.
6202 * loader/i386/linux.c: Include `<grub/i18n.h>'.
6203 (grub_cmd_linux): Capitalise Linux.
6204 (GRUB_MOD_INIT): Gettextizze.
6205 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
6206 (GRUB_MOD_INIT): Gettextizze.
6207 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
6208 (grub_cmd_linux): Capitalise Linux.
6209 (GRUB_MOD_INIT): Gettextizze.
6210 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
6211 (grub_cpu_xnu_init): Gettextizze.
6212 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
6213 (GRUB_MOD_INIT): Gettextizze.
6214 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
6215 (GRUB_MOD_INIT): Gettextizze.
6216 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
6217 (grub_linux_load64): Capitalise Linux.
6218 (GRUB_MOD_INIT): Gettextizze.
6219 * loader/xnu.c: Include `<grub/i18n.h>'.
6220 (GRUB_MOD_INIT): Gettextizze.
6221 * po/POTFILES: Add `loader/efi/appleloader.c',
6222 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
6223 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
6224 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
6225 `loader/i386/xnu.c', `loader/multiboot_loader.c',
6226 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
6227 and `loader/xnu.c'.
6228
b394b2ca
RM
62292010-01-08 Robert Millan <rmh.grub@aybabtu.com>
6230
6231 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
6232
62332010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
6234
6235 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
6236 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
6237 * util/mkisofs/mkisofs.c (main): Readjust --version output.
6238
bc8b32b3
RM
62392010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6240
6241 Reset Multiboot 2 support. New loader implements the draft in
6242 /branches/multiboot2 and shares as much code as possible with the
6243 production Multiboot 1 implementation.
6244
6245 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
6246 * loader/multiboot2.c: Likewise.
6247 * loader/i386/multiboot_helper.S: Likewise.
6248 * include/multiboot2.h: Replace with latest version from the draft
6249 in /branches/multiboot2.
6250
6251 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
6252 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
6253 and `loader/multiboot2.c'.
6254 (pkglib_MODULES): Add `multiboot2.mod'.
6255 (multiboot2_mod_SOURCES): New variable.
6256 (multiboot2_mod_LDFLAGS): Likewise.
6257 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6258
6259 * conf/i386-pc.rmk: Likewise.
6260
6261 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6262 (multiboot_mod_SOURCES): Remove variable.
6263 (multiboot_mod_LDFLAGS): Likewise.
6264 (multiboot_mod_CFLAGS): Likewise.
6265
6266 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6267 `<multiboot2.h>' instead of `<multiboot.h>'.
6268 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6269 (MULTIBOOT_HEADER_MAGIC): New macros.
6270
6271 * loader/multiboot_loader.c (module_version_status): Remove variable.
6272 (find_multi_boot2_header): Remove function.
6273 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6274 logic. Always check for the Multiboot version we're compiling for.
6275 (grub_cmd_module_loader): Likewise.
6276 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6277 command instead of `multiboot'.
6278
5d2c52b8
RM
62792010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6280
6281 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6282 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6283 all users.
6284
53108d92
RM
62852010-01-07 Robert Millan <rmh.grub@aybabtu.com>
62862010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Fix breakage introduced with previous commit.
6289
6290 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6291 commands.
6292 * normal/handler.c (read_handler_list): Revert part of previous commit
6293 affecting this file.
6294 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6295 (grub_normal_execute): ... here.
6296
e2e936b2
RM
62972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6298
6299 Merge prefix-redefinition-fix branch.
6300
6301 * normal/autofs.c (read_fs_list): Make function capable of being
6302 run multiple times, gracefuly replacing the previous data
6303 structures.
6304 * normal/dyncmd.c (read_command_list): Likewise.
6305 * normal/handler.c (read_handler_list): Likewise.
6306 * normal/main.c (read_lists): New function. Calls all the
6307 list reading functions.
6308 (grub_normal_execute): Use read_lists() instead of calling all
6309 list reading functions explicitly. Register read_lists() as a
6310 variable hook attached to ${prefix}.
6311
607a3701
VS
63122010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 Merge crypto branch.
6315
6316 * Makefile.in (pkglib_DATA): Add crypto.lst.
6317 (crypto.lst): New target.
6318 * commands/hashsum.c: New file.
6319 * commands/password.c (check_password): Use grub_crypto_memcmp.
6320 * commands/password_pbkdf2.c: New file.
6321 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6322 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6323 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6324 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6325 -I$(srcdir)/lib/libgcrypt_wrap.
6326 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6327 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6328 password_pbkdf2.mod.
6329 (crypto_mod_SOURCES): New variable.
6330 (crypto_mod_CFLAGS): Likewise.
6331 (crypto_mod_LDFLAGS): Likewise.
6332 (hashsum_mod_SOURCES): New variable.
6333 (hashsum_mod_CFLAGS): Likewise.
6334 (hashsum_mod_LDFLAGS): Likewise.
6335 (pbkdf2_mod_SOURCES): New variable.
6336 (pbkdf2_mod_CFLAGS): Likewise.
6337 (pbkdf2_mod_LDFLAGS): Likewise.
6338 (password_pbkdf2_mod_SOURCES): New variable.
6339 (password_pbkdf2_mod_CFLAGS): Likewise.
6340 (password_pbkdf2_mod_LDFLAGS): Likewise.
6341 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6342 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6343 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6344 Include conf/gcry.rmk.
6345 * include/grub/auth.h: Rewritten.
6346 * include/grub/crypto.h: New file.
6347 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6348 * include/grub/normal.h (read_crypto_list): New prototype.
6349 * lib/crypto.c: New file.
6350 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6351 * lib/pbkdf2.c: Likewise.
6352 * normal/auth.c (grub_auth_strcmp): Removed.
6353 (grub_iswordseparator): Likewise.
6354 (grub_auth_strword): Likewise.
6355 (is_authenticated): Use grub_strword.
6356 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6357 and grub_strword. Pass entered password to authentication callback.
6358 * normal/crypto.c: New file.
6359 * normal/main.c: Call read_crypto_list.
6360 * util/grub-mkpasswd-pbkdf2.c: New file.
6361 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6362
42841caa
VS
63632010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 Fix descent and ascent calculation.
6366
6367 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6368 (options): New option "asce".
6369 (usage): Likewise.
6370 (add_char): Ignore invalid glyphs for descent calculation.
6371 Calculate ascent from actual content.
6372 (print_glyphs): Use 'asce'.
6373 (write_font): Likewise. Allow ascent override.
6374 (main): Handle "asce" option.
6375
e7730de7 63762010-01-06 Carles Pina i Estany <carles@pina.cat>
6377
6378 * kern/err.c: Include `<grub/i18n.h>'.
6379 (grub_print_error): Add full stop. Gettextizze.
6380 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6381 (grub_bsd_load_elf): Capitalise ELF.
6382 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6383 (grub_cmd_freebsd_module): Likewise.
6384 (grub_cmd_freebsd_module_elf): Likewise.
6385 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6386
40e3a41f 63872010-01-06 Carles Pina i Estany <carles@pina.cat>
6388
6389 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6390 * commands/search_file.c (HELP_MESSAGE): New macro.
6391 * commands/search_label.c (HELP_MESSAGE): Likewise.
6392 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6393 * po/POTFILES: Add `commands/search_file.c',
6394 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6395 `commands/search.c'.
6396
83507e68
RM
63972010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6398
6399 * config.rpath: Update from Gnulib.
6400
465c787b
YB
64012010-01-05 Yves Blusseau <blusseau@zetam.org>
6402
6403 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6404
6581dd3a
YB
64052010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6406
6407 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6408
3bff18c5
CW
64092010-01-05 Colin Watson <cjwatson@ubuntu.com>
6410
6411 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6412 arguments to fread so that we get a return value in bytes, rather
6413 than something that will normally be rounded down to 0.
6414 Adjust error handling to avoid producing garbage when size_t is not
6415 the same size as long long.
6416
a1368118
CW
64172010-01-05 Colin Watson <cjwatson@ubuntu.com>
6418
6419 * util/mkisofs/write.c (padblock_write): Check return value of
6420 fread.
6421
7c302978
RM
64222010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6423
6424 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6425 floppy images now.
6426
6427 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6428
e33ace06
RM
64292010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6430
6431 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6432 instead of manual alignment.
6433 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6434 verbose). Avoid attempts to read past end of the device
6435 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6436 but GRUB_DISK_CACHE_SIZE may exceed that).
6437
4b856776
RM
64382010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6439
6440 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6441 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6442 it to upper layer.
6443
52c2d97f
VS
64442010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6447 New constant.
6448 (grub_efi_piwg_device_path): New structure
6449 (grub_efi_piwg_device_path_t): New type.
6450 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6451 (devpath_1): Transform to a structure. All users updated.
6452 (devpath_2): Likewise.
6453 (devpath_3): Likewise.
6454 (devpath_4): Likewise.
6455 (devpath_5): Likewise.
6456
98ff6a54
VS
64572010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * loader/efi/appleloader.c: Restored. Update all users.
6460
3a73dcb6
RM
64612010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6462
6463 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6464
6465 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6466 (struct boot_blocklist): Move from here ...
6467 * include/grub/i386/pc/boot.h [ASM_FILE]
6468 (struct grub_boot_blocklist): ... to here. Update all users.
6469 (setup): Only initialize `start' member of `first_block'
6470 structure. Add assert() calls to verify the other members.
6471
6472 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6473 (generate_image): Fix broken blocklist length initialization.
6474 Add assert() call to verify blocklist `segment' field.
6475
ab0eeb0c
RM
64762010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6477
6478 * loader/efi/appleloader.c: Remove. Update all users.
6479
58bc8bd5
RM
64802010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6481
6482 * boot/i386/pc/boot.S: Update copyright year.
6483 * boot/i386/pc/cdboot.S: Likewise.
6484 * boot/i386/pc/diskboot.S: Likewise.
6485 * boot/i386/pc/lnxboot.S: Likewise.
6486 * boot/i386/pc/pxeboot.S: Likewise.
6487 * bus/pci.c: Likewise.
6488 * commands/cmp.c: Likewise.
6489 * commands/help.c: Likewise.
6490 * commands/hexdump.c: Likewise.
6491 * commands/i386/pc/halt.c: Likewise.
6492 * commands/i386/pc/play.c: Likewise.
6493 * commands/i386/pc/vbeinfo.c: Likewise.
6494 * commands/ls.c: Likewise.
6495 * commands/test.c: Likewise.
6496 * disk/dmraid_nvidia.c: Likewise.
6497 * disk/i386/pc/biosdisk.c: Likewise.
6498 * disk/ieee1275/nand.c: Likewise.
6499 * disk/ieee1275/ofdisk.c: Likewise.
6500 * disk/lvm.c: Likewise.
6501 * disk/raid.c: Likewise.
6502 * disk/raid6_recover.c: Likewise.
6503 * disk/scsi.c: Likewise.
6504 * fs/affs.c: Likewise.
6505 * fs/cpio.c: Likewise.
6506 * fs/ext2.c: Likewise.
6507 * fs/hfs.c: Likewise.
6508 * fs/iso9660.c: Likewise.
6509 * fs/ntfs.c: Likewise.
6510 * fs/sfs.c: Likewise.
6511 * fs/udf.c: Likewise.
6512 * fs/ufs.c: Likewise.
6513 * fs/xfs.c: Likewise.
6514 * gencmdlist.sh: Likewise.
6515 * genmk.rb: Likewise.
6516 * include/grub/disk.h: Likewise.
6517 * include/grub/efi/api.h: Likewise.
6518 * include/grub/efi/efi.h: Likewise.
6519 * include/grub/efi/pe32.h: Likewise.
6520 * include/grub/elf.h: Likewise.
6521 * include/grub/fs.h: Likewise.
6522 * include/grub/i386/at_keyboard.h: Likewise.
6523 * include/grub/i386/pc/memory.h: Likewise.
6524 * include/grub/i386/pc/vbe.h: Likewise.
6525 * include/grub/i386/pci.h: Likewise.
6526 * include/grub/i386/tsc.h: Likewise.
6527 * include/grub/ieee1275/ieee1275.h: Likewise.
6528 * include/grub/ntfs.h: Likewise.
6529 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6530 * include/grub/sparc64/libgcc.h: Likewise.
6531 * include/grub/symbol.h: Likewise.
6532 * include/grub/types.h: Likewise.
6533 * include/multiboot2.h: Likewise.
6534 * io/gzio.c: Likewise.
6535 * kern/device.c: Likewise.
6536 * kern/disk.c: Likewise.
6537 * kern/efi/efi.c: Likewise.
6538 * kern/efi/mm.c: Likewise.
6539 * kern/elf.c: Likewise.
6540 * kern/file.c: Likewise.
6541 * kern/i386/dl.c: Likewise.
6542 * kern/i386/pc/init.c: Likewise.
6543 * kern/i386/pc/startup.S: Likewise.
6544 * kern/ieee1275/ieee1275.c: Likewise.
6545 * kern/ieee1275/init.c: Likewise.
6546 * kern/main.c: Likewise.
6547 * kern/mm.c: Likewise.
6548 * kern/powerpc/dl.c: Likewise.
6549 * kern/sparc64/dl.c: Likewise.
6550 * kern/x86_64/dl.c: Likewise.
6551 * lib/hexdump.c: Likewise.
6552 * loader/efi/appleloader.c: Likewise.
6553 * loader/i386/ieee1275/linux.c: Likewise.
6554 * loader/i386/pc/chainloader.c: Likewise.
6555 * loader/i386/pc/linux.c: Likewise.
6556 * loader/i386/pc/multiboot2.c: Likewise.
6557 * loader/ieee1275/multiboot2.c: Likewise.
6558 * loader/multiboot2.c: Likewise.
6559 * loader/multiboot_loader.c: Likewise.
6560 * loader/powerpc/ieee1275/linux.c: Likewise.
6561 * normal/completion.c: Likewise.
6562 * normal/menu_entry.c: Likewise.
6563 * partmap/apple.c: Likewise.
6564 * util/grub.d/10_hurd.in: Likewise.
6565 * util/hostfs.c: Likewise.
6566 * video/readers/png.c: Likewise.
6567
e2d70b5c
CW
65682010-01-03 Colin Watson <cjwatson@ubuntu.com>
6569
6570 * include/grub/misc.h (GNUC_PREREQ): New macro.
6571 (ATTRIBUTE_ERROR): New macro.
6572 * include/grub/list.h (grub_bad_type_cast_real): Use
6573 ATTRIBUTE_ERROR.
6574
a173283f 65752010-01-03 Carles Pina i Estany <carles@pina.cat>
6576
6577 * normal/menu_text.c (print_message): Change messages.
6578
7fa7ff74 65792010-01-03 Carles Pina i Estany <carles@pina.cat>
6580
6581 * normal/menu_entry.c (store_completion): Gettextizze.
6582
136d24f6 65832010-01-03 Carles Pina i Estany <carles@pina.cat>
6584
6585 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6586
f936862e 65872010-01-03 Carles Pina i Estany <carles@pina.cat>
6588
6589 * po/POTFILES: Sort correctly.
6590
29c44ad1 65912010-01-03 Carles Pina i Estany <carles@pina.cat>
6592
6593 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6594 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6595 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6596 full stop.
6597 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6598 summary. Gettextizze the strings.
6599 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6600 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6601 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6602 full stop.
6603 (GRUB_MOD_INIT): Remove command name from summary.
6604 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6605 summary.
6606 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6607 * term/i386/pc/serial.c (options): Add full stops.
6608 (GRUB_MOD_INIT): Remove command name from the summary.
6609
77a79592 66102010-01-03 Carles Pina i Estany <carles@pina.cat>
6611
6612 * commands/acpi.c: Gettextizze help strings and/or options. Include
6613 `grub/i18n.h' if needed.
6614 * commands/blocklist.c: Likewise.
6615 * commands/boot.c: Likewise.
6616 * commands/cat.c: Likewise.
6617 * commands/cmp.c: Likewise.
6618 * commands/configfile.c: Likewise.
6619 * commands/crc.c: Likewise.
6620 * commands/date.c: Likewise.
6621 * commands/echo.c: Likewise.
6622 * commands/efi/fixvideo.c: Likewise.
6623 * commands/efi/loadbios.c: Likewise.
6624 * commands/gptsync.c: Likewise.
6625 * commands/halt.c: Likewise.
6626 * commands/handler.c: Likewise.
6627 * commands/hdparm.c: Likewise.
6628 * commands/hexdump.c: Likewise.
6629 * commands/i386/cpuid.c: Likewise.
6630 * commands/i386/pc/drivemap.c: Likewise.
6631 * commands/i386/pc/halt.c: Likewise.
6632 * commands/i386/pc/pxecmd.c: Likewise.
6633 * commands/i386/pc/vbeinfo.c: Likewise.
6634 * commands/i386/pc/vbetest.c: Likewise.
6635 * commands/ieee1275/suspend.c: Likewise.
6636 * commands/keystatus.c: Likewise.
6637 * commands/loadenv.c: Likewise.
6638 * commands/ls.c: Likewise.
6639 * commands/lsmmap.c: Likewise.
6640 * commands/lspci.c: Likewise.
6641 * commands/memrw.c: Likewise.
6642 * commands/minicmd.c: Likewise.
6643 * commands/parttool.c: Likewise.
6644 * commands/password.c: Likewise.
6645 * commands/probe.c: Likewise.
6646 * commands/read.c: Likewise.
6647 * commands/reboot.c: Likewise.
6648 * commands/search.c: Likewise.
6649 * commands/sleep.c: Likewise.
6650 * commands/test.c: Likewise.
6651 * commands/true.c: Likewise.
6652 * commands/usbtest.c: Likewise.
6653 * commands/videotest.c: Likewise.
6654 * commands/xnu_uuid.c: Likewise.
6655 * disk/loopback.c: Likewise.
6656 * hello/hello.c: Likewise.
6657 * loader/i386/bsd.c: Likewise.
6658 * term/i386/pc/serial.c: Likewise.
6659 * po/POTFILES: Add new files.
6660
da8d5c53
CW
66612010-01-02 Colin Watson <cjwatson@ubuntu.com>
6662
6663 * term/i386/pc/at_keyboard.c
6664 (keyboard_controller_wait_untill_ready): Rename to ...
6665 (keyboard_controller_wait_until_ready): ... this. Update all users.
6666
33937904 66672010-01-01 Carles Pina i Estany <carles@pina.cat>
6668
6669 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6670 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6671 string using string width.
6672 * normal/menu_text.c (grub_print_message_indented): Use
6673 grub_print_spaces and not print_spaces.
6674 (print_timeout): Likewise.
6675 (print_spaces): Move to...
6676 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6677
3fd3b8d8
RM
66782010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6679
6680 Import from Gnulib.
6681
6682 * gnulib/getdelim.c: New file.
6683 * gnulib/getline.c: Likewise.
6684
33433555
VS
66852009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6686
6687 * include/grub/list.h (grub_assert_fail): Removed.
6688 (grub_bad_type_cast_real): New function.
6689 (grub_bad_type_cast): New macro.
6690 (GRUB_AS_LIST): Use grub_bad_type_cast.
6691 (GRUB_AS_LIST_P): Likewise.
e44721e8 6692 (GRUB_AS_NAMED_LIST): Likewise.
33433555 6693 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 6694 (GRUB_AS_PRIO_LIST): Likewise.
33433555 6695 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 6696 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 6697
f5a51306
VS
66982009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6701 Fix syntax error.
6702
90d1e879
RM
67032009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6704
6705 * configure.ac: Check for TARGET_CFLAGS initialization before we
6706 initialize it ourselves (sigh).
6707 Move a few modifications to TARGET_CFLAGS to be unconditional
6708 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6709 eh_frame)
6710
6711 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6712 * term/i386/pc/at_keyboard.c
6713 (keyboard_controller_wait_untill_ready): Likewise.
6714 (keyboard_controller_led): Rename `led_status' paramter to avoid
6715 name conflict.
6716
465b5a81 67172009-12-28 Carles Pina i Estany <carles@pina.cat>
6718
6719 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6720 quotes.
6721
c181849b
VS
67222009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6725
9c8739a4
VS
67262009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * normal/menu_text.c (grub_print_message_indented): Prevent
6729 past-the-end-of-array dereference.
6730
3e74249c
VS
67312009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6734 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6735
64fd18ed 67362009-12-27 Carles Pina i Estany <carles@pina.cat>
6737
6738 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6739 * normal/main.c (grub_normal_read_line): Remove a space from the
6740 default prompt.
6741
714af9b9 67422009-12-27 Carles Pina i Estany <carles@pina.cat>
6743
6744 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6745 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6746 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6747 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6748 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6749 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6750 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6751
82f3e412 67522009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 6753
6754 * video/readers/jpeg.c (cmd): Declare.
6755 (grub_cmd_jpegtest): Use `grub_command_t' type.
6756 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6757 Assign to `cmd'.
6758 (GRUB_MOD_FINI): Use `cmd' to unregister.
6759 * video/readers/png.c (cmd): Declare.
6760 (grub_cmd_pngtest): Use `grub_command_t' type.
6761 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6762 Assign to `cmd'.
6763 (GRUB_MOD_FINI): Use `cmd' to unregister.
6764 * video/readers/tga.c (cmd): Declare.
6765 (grub_cmd_tgatest): Use `grub_command_t' type.
6766 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6767 Assign to `cmd'.
6768 (GRUB_MOD_FINI): Use `cmd' to unregister.
6769
82f3e412 67702009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 6771
6772 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6773 stops.
6774 * kern/corecmd.c (grub_register_core_commands): Likewise.
6775 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6776 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6777 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6778 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6779 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6780 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6781 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6782 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6783 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6784 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6785 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6786 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6787 * normal/handler.c (insert_handler): Likewise.
6788 * normal/main.c (GRUB_MOD_INIT): Likewise.
6789 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6790
fdcdbb66 67912009-12-26 Carles Pina i Estany <carles@pina.cat>
6792
6793 * commands/help.c (grub_cmd_help): Print the command name before the
6794 summary.
6795 (GRUB_MOD_INIT): Remove command name from the summary.
6796 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 6797 string as summary.
fdcdbb66 6798 * lib/arg.c (find_long): Print the command name before the summary.
6799 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6800 summary.
6801 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6802 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6803 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6804 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6805 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6806 * commands/date.c (GRUB_MOD_INIT): Likewise.
6807 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6808 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6809 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6810 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6811 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6812 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6813 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6814 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6815 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6816 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6817 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6818 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6819 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6820 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6821 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6822 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6823 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6824 * commands/password.c (GRUB_MOD_INIT): Likewise.
6825 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6826 * commands/read.c (GRUB_MOD_INIT): Likewise.
6827 * commands/search.c (GRUB_MOD_INIT): Likewise.
6828 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6829 * commands/test.c (GRUB_MOD_INIT): Likewise.
6830 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6831 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6832 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6833 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6834 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6835 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6836 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6837 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6838 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6839 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6840 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6841 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6842 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6843 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6844
9c288be2
VS
68452009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Use search command for preliminar UUID search.
6848
6849 * commands/search.c: Split into ...
6850 * commands/search_wrap.c: ...this
6851 * commands/search.c: ...and this.
6852 * commands/search_file.c: New file.
6853 * commands/search_label.c: New file.
6854 * commands/search_uuid.c: New file.
6855 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6856 Add commands/search_wrap.c, commands/search_file.c,
6857 commands/search_label.c and commands/search_uuid.c.
6858 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6859 (search_mod_SOURCES): Set to commands/search_wrap.c.
6860 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6861 search_label.mod.
6862 (search_fs_file_mod_SOURCES): New variable.
6863 (search_fs_file_mod_CFLAGS): Likewise.
6864 (search_fs_file_mod_LDFLAGS): Likewise.
6865 (search_label_mod_SOURCES): Likewise.
6866 (search_label_mod_CFLAGS): Likewise.
6867 (search_label_mod_LDFLAGS): Likewise.
6868 (search_fs_uuid_mod_SOURCES): New variable.
6869 (search_fs_uuid_mod_CFLAGS): Likewise.
6870 (search_fs_uuid_mod_LDFLAGS): Likewise.
6871 (fs_file_mod_SOURCES): Removed.
6872 (fs_file_mod_CFLAGS): Likewise.
6873 (fs_file_mod_LDFLAGS): Likewise.
6874 (fs_uuid_mod_SOURCES): Removed.
6875 (fs_uuid_mod_CFLAGS): Likewise.
6876 (fs_uuid_mod_LDFLAGS): Likewise.
6877 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6878 Set to util/grub-install.in.
6879 * disk/fs_file.c: Removed.
6880 * disk/fs_uuid.c: Likewise.
6881 * include/grub/search.h: New file.
6882 * util/grub-install.in: Handle sparc64.
6883 Create and use load.cfg.
6884 * util/sparc64/ieee1275/grub-install.in: Removed.
6885
db943399
VS
68862009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6889 Ignore return status if CF is cleared.
6890 (grub_biosdisk_get_diskinfo_standard): Likewise.
6891
3fdae612
RM
68922009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6893
6894 * term/i386/pc/at_keyboard.c
6895 (keyboard_controller_wait_untill_ready): New function.
6896 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6897 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6898 for keyboard polling, rather than duplicate the same loop. This
6899 saves a few bytes in code size.
6900
7ebaa2b4
VS
69012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 Support for (pxe[:server[:gateway]]) syntax and
6904 use environment variable for PXE.
6905
6906 * commands/i386/pc/pxecmd.c (options): Removed.
6907 (print_ip): Removed.
6908 (grub_cmd_pxe): Removed
6909 (grub_cmd_pxe_unload): New function.
6910 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6911 (grub_pxe_your_ip): Made static.
6912 (grub_pxe_default_server_ip): Likewise.
6913 (grub_pxe_default_gateway_ip): Likewise.
6914 (grub_pxe_blksize): Likewise.
6915 (parse_ip): New function.
6916 (grub_pxe_open): Support server and gateway specification.
6917 (grub_pxe_close): Free disk->data.
6918 (grub_pxefs_open): Use disk->data.
6919 (grub_pxefs_read): Likewise.
6920 (grub_env_write_readonly): New function.
6921 (set_mac_env): Likewise.
6922 (set_env_limn_ro): Likewise.
6923 (parse_dhcp_vendor): Likewise.
6924 (grub_pxe_detect): Set the environment variables.
6925 (set_ip_env): New function.
6926 (write_ip_env): Likewise.
6927 (grub_env_write_pxe_default_server): Likewise.
6928 (grub_env_write_pxe_default_gateway): Likewise.
6929 (grub_env_write_pxe_blocksize): Likewise.
6930 (GRUB_MOD_INIT(pxe)): Set environment variables.
6931 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6932 (grub_pxe_mac_addr_t): ... this. All users updated.
6933 (grub_pxe_your_ip): Removed.
6934 (grub_pxe_server_ip): Likewise.
6935 (grub_pxe_gateway_ip): Likewise.
6936 (grub_pxe_blksize): Likewise.
6937
ec5f98ab 69382009-12-25 Carles Pina i Estany <carles@pina.cat>
6939
6940 * commands/help.c: Include `<grub/i18n.h>'.
6941 (grub_cmd_help): Gettextizze.
6942 (GRUB_MOD_INIT): Likewise.
6943 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6944 (GRUB_MOD_INIT): Gettextizze.
6945 * commands/search.c: Include `<grub/i18n.h>'.
6946 (options): Gettextizze.
6947 (GRUB_MOD_INIT): Gettextizze.
6948 * lib/arg.c: Include `<grub/i18n.h>'.
6949 (help_options): Gettextizze.
6950 (find_long): Likewise.
6951 (grub_arg_show_help): Likewise.
6952 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6953 (read_command_list): Gettextizze.
6954 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 6955 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 6956
22815526
RM
69572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6958
6959 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6960 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6961 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6962 (led_status): New variable.
6963 (keyboard_controller_led): New function.
6964 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6965 update led status for caps lock, num lock and scroll lock.
6966
0ad46fd7
FZ
69672009-12-25 Felix Zielcke <fzielcke@z-51.de>
6968
6969 * util/hostdisk.c (open_device): Fix a comment.
6970
d0e158c2
RM
69712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6972
6973 * util/grub-install.in (host_os): New variable.
6974 * util/i386/efi/grub-install.in (host_os): Likewise.
6975
401c0ad6
RM
69762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6977
6978 * util/mkisofs/write.c (padblock_write): Abort when given an
6979 excedingly large embed image, instead of silently truncating it.
6980
d14d3370
RM
69812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6982
6983 * include/multiboot.h: Indentation fixes.
6984
eeed10b4
RM
69852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6986
6987 * include/multiboot.h (struct multiboot_aout_symbol_table)
6988 (struct multiboot_elf_section_header_table): New structure
6989 declarations (stolen from GRUB Legacy).
6990 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6991 table information.
6992
6993 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6994 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6995 type aliases.
6996
681c70ab
RM
69972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6998
6999 * include/multiboot.h: Make comments src2texi-friendly.
7000
e4d47d8d
RM
70012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7002
7003 For consistency with [multiboot]/docs/boot.S.
7004
7005 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
7006 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
7007 (MULTIBOOT_MAGIC2): Rename from this ...
7008 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
7009
a0b70bda
RM
70102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7011
7012 * include/multiboot.h: Remove `<grub/types.h>'.
7013 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
7014 types. Update all users.
7015
61ba42be 70162009-12-25 Carles Pina i Estany <carles@pina.cat>
7017
7018 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
7019 `couldn't' and `can not' by `cannot'.
7020 * commands/i386/pc/drivemap.c: Likewise.
7021 * disk/ata.c: Likewise.
7022 * disk/ieee1275/nand.c: Likewise.
7023 * fs/affs.c: Likewise.
7024 * fs/fat.c: Likewise.
7025 * fs/hfs.c: Likewise.
7026 * fs/hfsplus.c: Likewise.
7027 * fs/iso9660.c: Likewise.
7028 * fs/jfs.c: Likewise.
7029 * fs/minix.c: Likewise.
7030 * fs/reiserfs.c: Likewise.
7031 * fs/sfs.c: Likewise.
7032 * fs/udf.c: Likewise.
7033 * fs/ufs.c: Likewise.
7034 * fs/xfs.c: Likewise.
7035 * loader/powerpc/ieee1275/linux.c: Likewise.
7036 * loader/sparc64/ieee1275/linux.c: Likewise.
7037 * util/grub-probe.c: Likewise.
7038 * util/misc.c: Likewise.
7039
7fd0baee 70402009-12-24 Carles Pina i Estany <carles@pina.cat>
7041
7042 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
7043 grub_errno calls.
7044 * commands/acpi.c: Likewise.
7045 * commands/blocklist.c: Likewise.
7046 * commands/efi/loadbios.c: Likewise.
7047 * commands/i386/pc/drivemap.c: Likewise.
7048 * commands/loadenv.c: Likewise.
7049 * commands/memrw.c: Likewise.
7050 * commands/password.c: Likewise.
7051 * commands/videotest.c: Likewise.
7052 * disk/ata.c: Likewise.
7053 * disk/ata_pthru.c: Likewise.
7054 * disk/dmraid_nvidia.c: Likewise.
7055 * disk/ieee1275/nand.c: Likewise.
7056 * disk/ieee1275/ofdisk.c: Likewise.
7057 * disk/loopback.c: Likewise.
7058 * disk/lvm.c: Likewise.
7059 * disk/mdraid_linux.c: Likewise.
7060 * disk/raid.c: Likewise.
7061 * disk/raid6_recover.c: Likewise.
7062 * disk/scsi.c: Likewise.
7063 * efiemu/main.c: Likewise.
7064 * efiemu/mm.c: Likewise.
7065 * efiemu/pnvram.c: Likewise.
7066 * efiemu/symbols.c: Likewise.
7067 * font/font.c: Likewise.
7068 * fs/cpio.c: Likewise.
7069 * fs/hfsplus.c: Likewise.
7070 * fs/iso9660.c: Likewise.
7071 * fs/jfs.c: Likewise.
7072 * fs/minix.c: Likewise.
7073 * fs/ntfs.c: Likewise.
7074 * fs/ntfscomp.c: Likewise.
7075 * fs/reiserfs.c: Likewise.
7076 * fs/ufs.c: Likewise.
7077 * fs/xfs.c: Likewise.
7078 * gettext/gettext.c: Likewise.
7079 * include/grub/auth.h: Likewise.
7080 * kern/elf.c: Likewise.
7081 * kern/file.c: Likewise.
7082 * kern/ieee1275/init.c: Likewise.
7083 * kern/ieee1275/mmap.c: Likewise.
7084 * kern/ieee1275/openfw.c: Likewise.
7085 * kern/powerpc/dl.c: Likewise.
7086 * kern/sparc64/dl.c: Likewise.
7087 * lib/arg.c: Likewise.
7088 * loader/i386/bsd.c: Likewise.
7089 * loader/i386/bsdXX.c: Likewise.
7090 * loader/i386/efi/linux.c: Likewise.
7091 * loader/i386/efi/xnu.c: Likewise.
7092 * loader/i386/ieee1275/linux.c: Likewise.
7093 * loader/i386/linux.c: Likewise.
7094 * loader/i386/multiboot.c: Likewise.
7095 * loader/i386/pc/linux.c: Likewise.
7096 * loader/i386/pc/multiboot2.c: Likewise.
7097 * loader/i386/xnu.c: Likewise.
7098 * loader/ieee1275/multiboot2.c: Likewise.
7099 * loader/macho.c: Likewise.
7100 * loader/machoXX.c: Likewise.
7101 * loader/multiboot2.c: Likewise.
7102 * loader/multiboot_loader.c: Likewise.
7103 * loader/powerpc/ieee1275/linux.c: Likewise.
7104 * loader/sparc64/ieee1275/linux.c: Likewise.
7105 * loader/xnu.c: Likewise.
7106 * loader/xnu_resume.c: Likewise.
7107 * mmap/i386/pc/mmap.c: Likewise.
7108 * normal/menu_viewer.c: Likewise.
7109 * partmap/acorn.c: Likewise.
7110 * partmap/amiga.c: Likewise.
7111 * partmap/apple.c: Likewise.
7112 * script/lexer.c: Likewise.
7113 * term/gfxterm.c: Likewise.
7114 * term/i386/pc/serial.c: Likewise.
7115 * term/i386/pc/vga.c: Likewise.
7116 * term/ieee1275/ofconsole.c: Likewise.
7117 * term/terminfo.c: Likewise.
7118 * video/bitmap.c: Likewise.
7119 * video/efi_gop.c: Likewise.
7120 * video/efi_uga.c: Likewise.
7121 * video/fb/video_fb.c: Likewise.
7122 * video/i386/pc/vbe.c: Likewise.
7123 * video/readers/tga.c: Likewise.
7124 * video/video.c: Likewise.
7125
0ad46fd7 71262009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
7127
7128 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
7129 * commands/lspci.c: Likewise.
7130 * commands/probe.c: Likewise.
7131 * commands/xnu_uuid.c: Likewise.
7132 * conf/i386-coreboot.rmk: Likewise.
7133 * conf/i386-efi.rmk: Likewise.
7134 * conf/i386-ieee1275.rmk: Likewise.
7135 * conf/i386-pc.rmk: Likewise.
7136 * conf/powerpc-ieee1275.rmk: Likewise.
7137 * conf/sparc64-ieee1275.rmk: Likewise.
7138 * conf/x86_64-efi.rmk: Likewise.
7139 * fs/i386/pc/pxe.c: Likewise.
7140 * gettext/gettext.c: Likewise.
7141 * include/grub/efi/graphics_output.h: Likewise.
7142 * include/grub/i386/pc/memory.h: Likewise.
7143 * kern/env.c: Likewise.
7144 * kern/i386/qemu/startup.S: Likewise.
7145 * lib/i386/pc/biosnum.c: Likewise.
7146 * lib/i386/relocator.c: Likewise.
7147 * lib/i386/relocator_asm.S: Likewise.
7148 * lib/relocator.c: Likewise.
7149 * loader/i386/bsd.c: Likewise.
7150 * loader/i386/multiboot.c: Likewise.
7151 * loader/i386/pc/chainloader.c: Likewise.
7152 * loader/i386/xnu.c: Likewise.
7153 * loader/xnu.c: Likewise.
7154 * normal/main.c: Likewise.
7155 * normal/menu_text.c: Likewise.
7156 * util/getroot.c: Likewise.
7157 * util/grub-mkconfig_lib.in: Likewise.
7158 * util/grub.d/00_header.in: Likewise.
7159 * util/i386/pc/grub-mkimage.c: Likewise.
7160 * util/mkisofs/eltorito.c: Likewise.
7161 * util/mkisofs/exclude.h: Likewise.
7162 * util/mkisofs/hash.c: Likewise.
7163 * util/mkisofs/iso9660.h: Likewise.
7164 * util/mkisofs/joliet.c: Likewise.
7165 * util/mkisofs/mkisofs.c: Likewise.
7166 * util/mkisofs/mkisofs.h: Likewise.
7167 * util/mkisofs/multi.c: Likewise.
7168 * util/mkisofs/name.c: Likewise.
7169 * util/mkisofs/rock.c: Likewise.
7170 * util/mkisofs/tree.c: Likewise.
7171 * util/mkisofs/write.c: Likewise.
7172 * video/efi_gop.c: Likewise.
7173
009ec743
VS
71742009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
7177 size counting.
7178
0ad46fd7 71792009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
7180
7181 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
7182 * genmk.rb (class SCRIPT): Modify the target file instead of source.
7183
d3d30ea0
VS
71842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
7187 (GRUB_MOD_INIT(memrw)): Update help line.
7188
a34f5c70
VS
71892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
7192 Use grub_extcmd_t. All users updated.
7193 (options): New variable.
7194 (grub_cmd_read): Restructure for readability. Support "-v" option.
7195 (grub_cmd_write): Restructure for readability.
7196
0ad46fd7 71972009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
7198
7199 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
7200
0ad46fd7 72012009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
7202
7203 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
7204 with the actual contents of the correspondending make variable.
7205 * util/grub-mkrescue.in (pkglib_DATA): New variable.
7206 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
7207 specifying `*.lst' and `efiemu??.o'
7208
0ad46fd7 72092009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
7210
7211 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
7212 after function name.
7213 Noticed by Rene Engelhard <rene@debian.org>.
7214
dc77a799
VS
72152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
7218 (options): New variable.
7219 (iospace): Likewise.
7220 (grub_lspci_iter): List IO spaces if "-i" was given.
7221 (grub_cmd_lspci): Parse options.
7222 (GRUB_MOD_INIT(lspci)): Use extcmd.
7223 (GRUB_MOD_FINI(lspci)): Likewise.
7224
0ad46fd7 72252009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
7226
7227 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
7228 `function' keyword.
7229 Patch by Tony Mancill <tmancill@debian.org>.
7230
b5d5993b
VS
72312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
7234 (grub_uhci_portstatus): Likewise.
7235 (grub_uhci_portstatus): Add necessary delay.
11d18281 7236 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 7237
941903f2 72382009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 7239
941903f2 7240 * commands/acpi.c (options): Fix capitalizations and/or full stops.
7241 (GRUB_MOD_INIT): Likewise.
7242 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 7243 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
7244 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 7245 * commands/efi/loadbios.c (enable_rom_area): Likewise.
7246 (enable_rom_area): Likewise.
7247 (GRUB_MOD_INIT): Likewise.
7248 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7249 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
7250 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7251 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
7252 * commands/hexdump.c (options): Likewise.
7253 * commands/i386/cpuid.c (options): Likewise.
7254 (GRUB_MOD_INIT): Likewise.
7255 * commands/i386/pc/drivemap.c (options): Likewise.
7256 (GRUB_MOD_INIT): Likewise.
7257 * commands/i386/pc/halt (options): Likewise.
7258 (GRUB_MOD_INIT): Likewise.
7259 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7260 * commands/i386/pc/pxecmd.c (options): Likewise.
7261 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7262 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7263 * commands/keystatus.c (options): Likewise.
7264 (GRUB_MOD_INIT): Likewise.
7265 * commands/loadenv.c (options): Likewise.
7266 * commands/ls.c (options): Likewise.
7267 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7268 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7269 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7270 * commands/parttool.c (helpmsg): Likewise.
7271 * commands/probe.c (options): Likewise.
7272 * commands/read.c (GRUB_MOD_INIT): Likewise.
7273 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7274 * commands/search.c (options): Likewise.
7275 * commands/sleep.c (options): Likewise.
7276 * commands/test.c (GRUB_MOD_INIT): Likewise.
7277 * commands/true.c (GRUB_MOD_INIT): Likewise.
7278 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7279 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7280 * lib/arg.c (help_options): Likewise.
e9bbb4e7 7281 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7282 `$(XGETTEXT)'.
98a50553 7283 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 7284
0ad46fd7 72852009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 7286
ef3c2c3a 7287 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
7288 instead of specifying them explicit.
7289
7922f68b
RM
72902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7291
7292 * NEWS: Add grub-probe support for GNU/Hurd.
7293
537ce47f
RM
72942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7295
7296 * NEWS: gettext was added after 1.97.
7297
9b214e3a
RM
72982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7299
7300 * util/mkisofs/msdos_partition.h: New file (based on
7301 include/grub/msdos_partition.h).
7302 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7303 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7304 (ld_options, main): Recognize --protective-msdos-label.
7305 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7306 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7307 (padblock_write): If `use_protective_msdos_label' is set, patch a
7308 protective DOS-style label in the output image.
7309
7310 * util/grub-mkrescue.in: Use --protective-msdos-label.
7311
e9309813
RM
73122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7313
7314 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7315 boot.
7316
0ae56929
RM
73172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7318
7319 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7320 variables.
7321 (ld_options, main): Recognize `--embedded-boot'.
7322 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7323 declarations.
7324 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7325 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7326 (padblock_write): Likewise. Rewrite to support embedded boot image.
7327
7328 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7329 for BIOS-based disk boot instead of only ElTorito.
7330
b15937b1
RM
73312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7332
7333 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7334 build (not needed for bootstrap).
7335
52cc3ce0
RM
73362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7337
7338 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7339 from i386-pc build (not needed for bootstrap).
7340 Rewrite a pair of strings.
7341
36f5ff04
RM
73422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7343
7344 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7345
973c6c85 73462009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
7347
7348 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7349
05d21547
AB
73502009-12-21 Andreas Born <futur.andy@googlemail.com>
7351
7352 * kern/env.c (grub_env_context_open): Mark exported variable for
7353 reexport.
7354
0175d51f
AB
73552009-12-21 Andreas Born <futur.andy@googlemail.com>
7356
7357 * kern/env.c (grub_env_export): Create nonexistent variables before
7358 exporting.
7359
7f39d92f 73602009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 7361
7f39d92f 7362 * include/grub/auth.h: Include `<grub/i18n.h>'.
7363 (GRUB_GET_PASSWORD): Gettextizze string.
7364 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7365 menu_text.c.
7366 (grub_utf8_to_ucs4_alloc): Fix indentation.
7367 (grub_print_ucs4): Likewise.
7368 (grub_getstringwidth): Likewise.
7369 (print_message_indented): New declaration.
7370 * normal/auth.c: Include `<grub/i18n.h>'.
7371 (grub_auth_check_authentication): Gettexttize string.
7372 * normal/cmdline.c: Include `<grub/i18n.h>'.
7373 (grub_cmdline_get): Gettextizze.
7374 * normal/color.c: Include `<grub/i18n.h>'.
7375 (grub_parse_color_name_pair): Gettexttize strings.
7376 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7377 string (use `print_message_indented').
7378 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7379 `include/grub/normal.h'.
7380 (print_message_indented): Renamed to ...
7381 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7382 used in normal/main.c).
7383 (print_message): Use `grub_print_message_indented' instead of
7384 `print_message_indented'.
7385 (print_timeout): Likewise.
7386 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7387 (grub_normal_print_device_info): Gettexttize strings.
7388 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7389
3041d898
VS
73902009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7393 of arguments. Return number of tokens and not arguments. All users
7394 updated.
7395
de15bf8e
VS
73962009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7399 non-MSDOS paritions.
7400
e0a6ca52
VS
74012009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * include/grub/types.h (UNUSED): Removed since it conflicts with
7404 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7405 Reported by Grégoire Sutre.
7406
b99518d1 74072009-12-19 Carles Pina i Estany <carles@pina.cat>
7408
7409 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7410 (grub_print_ucs4_alloc): Likewise.
7411 (grub_getstringwidth): Likewise.
7412 * normal/main.c (grub_normal_init_page): Gettextize version string.
7413 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7414 (getstringwidth): Renamed to ...
7415 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7416 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7417 (grub_print_ucs4): Remove `static' qualifer (now used in
7418 normal/main.c).
7419 * po/POTFILES: Add normal/main.c.
7420
bfd5e52b 74212009-12-19 Carles Pina i Estany <carles@pina.cat>
7422
7423 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7424 (print_message_indented): Add `margin_left' and `margin_right'
7425 parameters.
7426 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7427 strings.
7428 (print_timeout): Use `print_message_indented' to print the message.
7429 Deletes `second_stage' parameter.
7430 (run_menu): Update `print_timeout' calls.
7431
5a1ad2b9
VS
74322009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 Fix console palette on OpenFirmware.
7435
7436 * term/ieee1275/ofconsole.c (MAX): Removed.
7437 (colors): Redone based on VGA palette.
7438 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7439 colors are supported.
7440 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7441
b045f00a
VS
74422009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 Fix potential EfiEmu double prepare.
7445
7446 * efiemu/main.c (prepared): New variable
7447 (grub_efiemu_unload): Set prepare to '0'.
7448 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7449
7450 set_virtual_address_map support.
7451
7452 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7453 prototype.
7454 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7455 prototype.
7456 (grub_efiemu_crc32): Likewise.
7457 (grub_efiemu_crc64): Likewise.
7458 (grub_efiemu_set_virtual_address_map): Likewise.
7459 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7460 New definition.
7461 (grub_autoefi_set_virtual_address_map): Likewise.
7462 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7463 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7464 Restructure flow to accomodate it.
7465 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7466 (grub_efiemu_crc): Recompute CRC32.
7467 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7468 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7469 * efiemu/symbols.c (relocated_handle): New variable.
7470 (grub_efiemu_free_syms): Free relocated_handle.
7471 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7472 (grub_efiemu_write_sym_markers): New function.
7473 (grub_efiemu_set_virtual_address_map): Likewise.
7474
7475 Newer XNU parameters.
7476
7477 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7478 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7479 (grub_xnu_fill_devicetree): New prototype.
7480 (grub_xnu_heap_real_start): New variable.
7481 * loader/xnu.c (get_name_ptr): New function.
7482 (grub_xnu_load_driver): Fill namelen and name.
7483
7484 64-bit xnu support.
7485
7486 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7487 and 'loader/macho64.c'.
7488 * conf/i386-pc.rmk: Likewise.
7489 * conf/x86_64-efi.rmk: Likewise.
7490 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7491 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7492 * include/grub/macho.h (grub_macho_segment64): New structure.
7493 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7494 (grub_macho_size32): ... to this.
7495 (grub_macho32_get_entry_point): Renamed from ...
7496 (grub_macho_get_entry_point32): ... to this.
7497 (grub_macho_contains_macho64): New prototype.
7498 (grub_macho_size64): Likewise.
7499 (grub_macho_get_entry_point64): Likewise.
7500 (grub_macho32_load): Renamed from ...
7501 (grub_macho_load32): ... to this.
7502 (grub_macho32_filesize): Renamed from ...
7503 (grub_macho_filesize32): ... to this.
7504 (grub_macho32_readfile): Renamed from ...
7505 (grub_macho_readfile32): ... to this.
7506 (grub_macho_filesize64): New prototype.
7507 (grub_macho_readfile64): Likewise.
7508 (grub_macho_parse32): Likewise.
7509 (grub_macho_parse64): Likewise.
7510 * loader/macho.c: Split into ...
7511 * loader/machoXX.c: ... and this. Replace 32 with XX.
7512 * loader/macho32.c: New file.
7513 * loader/macho64.c: Likewise.
7514 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7515 (grub_cmd_xnu_kernel): Make 32-bit only.
7516 (grub_cmd_xnu_kernel64): New function.
7517 (grub_xnu_load_driver): Support Mach-O 64.
7518 (grub_cmd_xnu_mkext): Likewise.
7519 * util/grub.d/30_os-prober.in (osx_entry): New function.
7520 Generate entries for 64-bit boot too.
7521
7522 Eliminate ad-hoc tree format in XNU and EfiEmu.
7523
7524 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7525 * efiemu/pnvram.c: Rewritten to use environment variables.
7526 All users updated.
7527
7528 Inline utf16_to_utf8.
7529
7530 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7531 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7532 All users updated.
7533 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7534
7535 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7536 * commands/usbtest.c (grub_usb_get_string): ... move here.
7537 (usb_print_str): Fix error handling.
7538 * include/grub/usb.h (grub_usb_get_string): Remove.
7539
7540 UTF-8 to UTF-16 transformation.
7541
7542 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7543 (charset_mod_SOURCES): New variable.
7544 (charset_mod_CFLAGS): Likewise.
7545 (charset_mod_LDFLAGS): Likewise.
7546 * include/grub/utf.h: New file.
7547 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7548
7549 Support for device properties.
7550
7551 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7552 (grub_xnu_devprop_device_header): Likewise.
7553 (grub_xnu_devprop_device_descriptor): Likewise.
7554 (grub_xnu_devprop_add_device): New prototype.
7555 (grub_xnu_devprop_remove_device): Likewise.
7556 (grub_xnu_devprop_remove_property): Likewise.
7557 (grub_xnu_devprop_add_property_utf8): Likewise.
7558 (grub_xnu_devprop_add_property_utf16): Likewise.
7559 (grub_cpu_xnu_init): Likewise.
7560 (grub_cpu_xnu_fini): Likewise.
7561 (grub_cpu_xnu_unload): Likewise.
7562 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7563 (property_descriptor): Likewise.
7564 (devices): New variable.
7565 (grub_xnu_devprop_remove_property): New function.
7566 (grub_xnu_devprop_add_device): Likewise.
7567 (grub_xnu_devprop_remove_device): Likewise.
7568 (grub_xnu_devprop_add_property): Likewise.
7569 (grub_xnu_devprop_add_property_utf8): Likewise.
7570 (grub_xnu_devprop_add_property_utf16): Likewise.
7571 (hextoval): Likewise.
7572 (grub_cpu_xnu_fill_devprop): Likewise.
7573 (grub_cmd_devprop_load): Likewise.
7574 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7575 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7576 (cmd_devprop_load): New variable.
7577 (grub_cpu_xnu_init): New function.
7578 (grub_cpu_xnu_fini): Likewise.
7579 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7580 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7581 (grub_cmd_xnu_devtree): Likewise.
7582 (hextoval): New function.
7583 (unescape): Likewise.
7584 (grub_xnu_fill_devicetree): Likewise.
7585
7586 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7587 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7588
0945f181
VS
75892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 Workaround for broken ATI VBE.
7592
7593 * video/i386/pc/vbe.c (last_set_mode): New variable.
7594 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7595 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7596 (grub_video_vbe_setup): Don't check for reserved flag.
7597
0ad46fd7 75982009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
7599
7600 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7601 the `find' command.
7602
c179ebe4
VS
76032009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 UUID support for HFS.
7606
7607 * fs/hfs.c (grub_hfs_uuid): New function.
7608 (grub_hfs_fs): New value .uuid.
7609 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7610
0ad46fd7 76112009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
7612
7613 Fix a segfault with parsing unknown long options.
7614
7615 * util/grub-mkrelpath.c (options): Zero terminate it.
7616
c4a3e41a
CPE
76172009-12-13 Carles Pina i Estany <carles@pina.cat>
7618
7619 * include/grub/misc.h (grub_puts): New declaration.
7620 (grub_puts_): Likewise.
a22008a6 7621 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
7622 (grub_puts_): Likewise.
7623
2e8a7602
RM
76242009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7625
7626 * util/grub-probe.c (probe): Improve error message.
7627
b50b77b9
RM
76282009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7629
7630 * loader/i386/multiboot_elfxx.c
7631 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7632 initialization.
7633
76342009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 Relocator framework
7637
7638 * loader/i386/xnu_helper.S: Removed. All users updated.
7639 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7640 (relocator_mod_SOURCES): New variable.
7641 (relocator_mod_CFLAGS): Likewise.
7642 (relocator_mod_LDFLAGS): Likewise.
7643 (relocator_mod_ASFLAGS): Likewise.
7644 * conf/x86_64.rmk: Likewise.
7645 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7646 (grub_multiboot_payload_entry_offset): Likewise.
7647 (grub_multiboot_forward_relocator): Likewise.
7648 (grub_multiboot_forward_relocator_end): Likewise.
7649 (grub_multiboot_backward_relocator): Likewise.
7650 (grub_multiboot_backward_relocator_end): Likewise.
7651 (grub_multiboot_payload_eip): New variable.
7652 (grub_multiboot_payload_orig): Likewise.
7653 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7654 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7655 * include/grub/i386/memory.h
7656 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7657 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7658 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7659 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7660 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7661 * include/grub/i386/relocator.h: New file.
7662 * include/grub/x86_64/relocator.h: Likewise.
7663 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7664 (XNU_RELOCATOR): New macro.
7665 (grub_xnu_launcher_start): Remove.
7666 (grub_xnu_launcher_end): Likewise.
7667 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7668 (grub_xnu_heap_real_start): Remove.
7669 (grub_xnu_heap_start): Change to void *. All users updated.
7670 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7671 * lib/i386/relocator.c: New file.
7672 * lib/i386/relocator_asm.S: Likewise.
7673 * lib/i386/relocator_backward.S: Likewise.
7674 * lib/mips/relocator.c: Likewise.
7675 * lib/mips/relocator_asm.S: Likewise.
7676 * lib/relocator.c: Likewise.
7677 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7678 (entry): Removed.
7679 (playground): Likewise.
7680 (grub_multiboot_payload_orig): New variable.
7681 (grub_multiboot_payload_dest): Likewise.
7682 (grub_multiboot_payload_size): Likewise.
7683 (grub_multiboot_payload_eip): Likewise.
7684 (grub_multiboot_payload_esp): Likewise.
7685 (grub_multiboot_boot): Use grub_relocator32_boot.
7686 (grub_multiboot_unload): Free relocators.
7687 (grub_multiboot): Setup stack. Use relocators.
7688 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7689 (grub_multiboot_load_elfXX): Use relocators.
7690 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7691 (grub_multiboot_payload_size): Likewise.
7692 (grub_multiboot_payload_dest): Likewise.
7693 (grub_multiboot_payload_entry_offset): Likewise.
7694 (grub_multiboot_forward_relocator): Likewise.
7695 (grub_multiboot_backward_relocator): Likewise.
7696 (grub_multiboot_real_boot): Likewise.
7697 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7698 (grub_xnu_entry_point): Likewise.
7699 (grub_xnu_arg1): Likewise.
7700 (grub_xnu_stack): Likewise.
7701 (grub_xnu_launch): Removed.
7702 (grub_xnu_boot_resume): New function.
7703 (grub_xnu_boot): Use relocators.
7704 * loader/i386/xnu_helper.S: Removed.
7705 * loader/xnu.c (grub_xnu_heap_start): New variable.
7706 (grub_xnu_heap_size): Likewise.
7707 (grub_xnu_heap_malloc): Use relocators.
7708 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7709
29eb90c6
VS
77102009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7713 anything.
7714
31027430
CPE
77152009-12-13 Carles Pina i Estany <carles@pina.cat>
7716
7717 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7718 GRUB_ERR_NONE before calling grub_env_set.
7719
dc0c71d9
RM
77202009-12-12 Robert Millan <rmh@aybabtu.com>
7721
7722 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7723 * genmk.rb (video): New variable.
7724 (CLEANFILES, VIDEOFILES): Add #{video}.
7725 (#{video}): New target rule.
7726 * genvideolist.sh: New file.
7727 * Makefile.in (pkglib_DATA): Add video.lst.
7728 (video.lst): New target rule.
7729 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7730 `video.lst'.
7731 * util/grub.d/30_os-prober.in: Replace `vbe' with
7732 ${GRUB_VIDEO_BACKEND}.
7733
2a4bfcf0
RM
77342009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7735
7736 * THANKS: Add David Miller.
7737
2a3aa4d5
RM
77382009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 libpciaccess support.
7741
7742 * Makefile.in (LIBPCIACCESS): New variable.
7743 (enable_grub_emu_pci): Likewise.
7744 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7745 util/pci.c and commands/lspci.c.
7746 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7747 * configure.ac (grub-emu-pci): New option.
7748 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7749 (grub_pci_device_unmap_range): Likewise.
7750 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7751 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7752 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7753 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7754 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7755 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7756 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7757 * include/grub/pciutils.h: New file.
7758 * util/pci.c: Likewise.
7759
0ad46fd7 77602009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
7761
7762 * util/misc.c: Don't include <errno.h> twice.
7763
0ad46fd7 77642009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
7765
7766 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7767 name in an error message.
7768 (grub_biosdisk_rw): Likewise.
7769
2e59983c
VS
77702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 Eliminate NTFS 4Gib barrier.
7773
7774 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7775 (read_run_data): Likewise.
7776 (grub_ntfs_read_run_list): Likewise.
7777 (grub_ntfs_read_block): Likewise.
7778 (grub_ntfs_iterate_dir): Likewise.
7779 (read_mft): Likewise.
7780 (read_data): Likewise.
7781 Use COM_LOG_LEN.
7782 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7783 to avoid 64-bit division
7784 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7785 (grub_ntfs_rlst): Use grub_disk_addr_t.
7786
71ee178a
VS
77872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 Eliminate grub-fstest 4Gib barrier.
7790
7791 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7792 (read_file): Fix error reporting.
7793
2520d4b8
VS
77942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 Eliminate hexdump 4Gib barrier.
7797
7798 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7799 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7800
e1f27065
VS
78012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7804 Fixes amarsh bug.
7805
1a0f7f45
RM
78062009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7807
7808 Remove miscellaneous files in distclean target.
7809
7810 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7811
c631d9fb
CW
78122009-12-09 Colin Watson <cjwatson@ubuntu.com>
7813
7814 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7815 if they're already set. This resolves the conflict between my
7816 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7817 fixing the --grub-probe option again.
7818 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7819 change on 2009-10-06, so that we now once again source
7820 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7821
7c7b6106
RM
78222009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7823
7824 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7825 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7826 `util/devicemap.c'.
7827
e3069ec1
CPE
78282009-12-08 Carles Pina i Estany <carles@pina.cat>
7829
7830 * include/grub/misc.h (grub_printf_): New declaration.
7831 * kern/misc.c (grub_printf_): New definition.
7832 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7833 instead of `grub_printf' and `_'.
7834 * normal/menu_entry.c (store_completion): Likewise.
7835 (run): Likewise.
7836 (grub_menu_entry_run): Likewise.
7837 * normal/menu_text.c (grub_wait_after_message): Likewise.
7838 (notify_booting): Likewise.
7839 (notify_fallback): Likewise.
7840 (notify_execution_failure): Likewise.
7841
d6ceebf1
CW
78422009-12-07 Colin Watson <cjwatson@ubuntu.com>
7843
7844 * configure.ac: Check for vasprintf.
7845 * util/misc.c (asprintf): Move allocation from here ...
7846 (vasprintf): ... to here. New function.
7847 (xasprintf): New function.
7848 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7849 prototypes.
7850 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7851 * util/grub-mkfont.c (write_font): Likewise.
7852 * util/grub-probe.c (probe): Likewise.
7853 * util/hostdisk.c (make_device_name): Likewise.
7854
de6daa8b
DM
78552009-12-06 David S. Miller <davem@sunset.davemloft.net>
7856
7857 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7858 anything even prefixed with 'cdrom' as a cdrom.
7859
0ad46fd7 78602009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
7861
7862 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7863 mount points.
7864
98d3dc02
CPE
78652009-12-05 Carles Pina i Estany <carles@pina.cat>
7866
7867 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7868 grub_gettext_msg_list.
7869 (grub_gettext_gettranslation_from_position): Return const char *
7870 and not char *.
a2c1332b 7871 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
7872 returns from the list if existing there.
7873 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7874 (grub_gettext_delete_list): Delete the list.
7875 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7876 lang environment variable is changed.
7877 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7878
b283f108
VS
78792009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 Rename kernel.mod to kernel.img.
7882
7883 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7884 (kernel_mod_EXPORTS): Rename to ...
7885 (kernel_img_EXPORTS): ... this.
7886 (kernel_mod_SOURCES): Rename to ...
7887 (kernel_img_SOURCES): ... this.
7888 (kernel_mod_HEADERS): Rename to ...
7889 (kernel_img_HEADERS): ... this. All users updated.
7890 (kernel_mod_CFLAGS): Rename to ...
7891 (kernel_img_CFLAGS): ... this.
7892 (kernel_mod_ASFLAGS): Rename to ...
7893 (kernel_img_ASFLAGS): ... this.
7894 (kernel_mod_LDFLAGS): Rename to ...
7895 (kernel_img_LDFLAGS): ... this.
7896 * conf/x86_64-efi.rmk: Likewise.
7897 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7898 (read_kernel_image): ... this. All users updated.
7899 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7900
69055f8a
CPE
79012009-12-05 Carles Pina i Estany <carles@pina.cat>
7902
7903 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7904 (print_spaces): New function.
7905 (grub_print_ucs4): New function.
7906 (getstringwidth): New function.
7907 (print_message_indented): New function.
7908 (print_message): Gettexttize strings using print_message_indented.
7909 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7910 width.
7911 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 7912 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
7913 Gettextize.
7914 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7915 string.
7916 (run): Likewise.
7917 (grub_menu_entry_run): Likewise.
7918 * PO/POTFILES: Add normal/menu_entry.c.
7919
f616f51c
VS
79202009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7923
57bbe3be
CPE
79242009-12-05 Carles Pina i Estany <carles@pina.cat>
7925
7926 * util/grub-install.in: Install gettext .mo files.
7927 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7928
013d67a1
CPE
79292009-12-05 Carles Pina i Estany <carles@pina.cat>
7930
7931 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7932 grub_dprintf.
7933
fb954db0
RM
79342009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7935
7936 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7937 non-firmware-dependant one in realmode.S takes precedence.
7938
6b8474f8
RM
79392009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7940
7941 * commands/halt.c: Replace misc arch-specific headers with
7942 `<grub/misc.h>'.
7943 * commands/reboot.c: Likewise.
7944 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7945 `<grub/misc.h>'.
7946 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7947 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7948 (kernel_img_SOURCES): ... to here.
7949
7950 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7951 * include/grub/i386/pc/init.h: Likewise.
7952 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7953 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7954
7955 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7956
7957 * include/grub/i386/halt.h: Remove.
7958 * include/grub/i386/reboot.h: Likewise.
7959
7960 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7961
4b2e6ca2
DM
79622009-12-03 David S. Miller <davem@sunset.davemloft.net>
7963
7964 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7965 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7966 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7967 "progname.h"
7968 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7969 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7970 (usage): Add missing comma in printf.
7971
5239348f
RM
79722009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7973
7974 Use the same reboot approach on i386 coreboot and qemu as we do on
7975 BIOS.
7976
7977 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7978 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7979 * kern/i386/reboot.c: Remove.
7980 * include/grub/i386/reboot.h (grub_reboot): Export function.
7981 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7982 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7983 0xf000:0xfff0 instead of 0xffff:0x0000.
7984 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7985 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7986
ef34cbd4
RM
79872009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7988
7989 Fix $srcdir != $objdir build.
7990
7991 * Makefile.in (po/%.po): Rewrite as ...
7992 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7993
dc9837ea
ST
79942009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7995
7996 Fix GNU/Hurd grub-install crash.
7997 * util/grub-probe.c (probe): Try to access `path' only when it is not
7998 NULL.
7999
2f857f98
VS
80002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 Correct module naming.
8003
8004 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8005 (GRUB_MOD_INIT(efi_uga)): ... to this
8006 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8007 (GRUB_MOD_FINI(efi_uga)): ... to this
8008 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8009 (GRUB_MOD_INIT(efi_gop)): ... to this
8010 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8011 (GRUB_MOD_FINI(efi_gop)): ... to this
8012
c5448046
RM
80132009-11-28 Robert Millan <rmh.grub@aybabtu.com>
8014
8015 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
8016 translatable.
8017 (usage): Translate `arg' strings using gettext().
8018 Thanks to Jordi Mallach for the suggestion.
8019
c85184ad
VS
80202009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 GOP support. Based on patch from Bean
8023 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8024
8025 * video/efi_gop.c: New file.
8026 * include/grub/efi/graphics_output.h: Likewise.
8027 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
8028 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8029 variables.
8030 * conf/x86_64-efi.rmk: Likewise.
8031
8a4c48d8
VS
80322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 Rename efi_fb to efi_uga.
8035
8036 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8037 'efi_uga.mod'.
8038 (efi_fb_mod_SOURCES): Rename this ...
8039 (efi_uga_mod_SOURCES): ... to this.
8040 (efi_fb_mod_CFLAGS): Rename this ...
8041 (efi_uga_mod_CFLAGS): ... to this.
8042 (efi_fb_mod_LDFLAGS): Rename this ...
8043 (efi_uga_mod_LDFLAGS): ... to this.
8044 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8045 'efi_uga.mod'.
8046 (efi_fb_mod_SOURCES): Rename this ...
8047 (efi_uga_mod_SOURCES): ... to this.
8048 (efi_fb_mod_CFLAGS): Rename this ...
8049 (efi_uga_mod_CFLAGS): ... to this.
8050 (efi_fb_mod_LDFLAGS): Rename this ...
8051 (efi_uga_mod_LDFLAGS): ... to this.
8052 * video/efi_fb.c: Move this ...
8053 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
8054
fb6c1a7b
RM
80552009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8056
8057 * po/README: New file. Explain our PO file workflow.
8058
3bc7896c
RM
80592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8060
8061 * po/ChangeLog: Remove. Move relevant entries back to ...
8062 * ChangeLog: ... here.
8063 * po/ca.po: Remove (now handled by TLP).
8064 * po/id.po: Likewise.
8065 * po/zh_CN.po: Likewise.
8066 * Makefile.in (LINGUAS): Initialize in a way that supports
8067 empty set.
8068
9ed4841d
RM
80692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8070
8071 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
8072 reliing on po/LINGUAS.
8073 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
8074 (po/%.po): ... this.
8075
0ad46fd7 80762009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
8077
8078 * util/i386/efi/grub-mkimage.c: Include "progname.h".
8079 (main): Use `program_name' instead of nonexistent `progname'.
8080
e30dd392
FZ
80812009-11-26 Felix Zielcke <fzielcke@z-51.de>
8082
8083 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8084 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
8085
7656de4f
RM
80862009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8087
8088 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
8089 commit.
8090 * conf/i386-efi.rmk: Likewise.
8091 * conf/i386-ieee1275.rmk: Likewise.
8092 * conf/powerpc-ieee1275.rmk: Likewise.
8093 * conf/sparc64-ieee1275.rmk: Likewise.
8094 * conf/x86_64-efi.rmk: Likewise.
8095
db77c4d4
FZ
80962009-11-26 Felix Zielcke <fzielcke@z-51.de>
8097
8098 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
8099
a755bb04
FZ
81002009-11-26 Felix Zielcke <fzielcke@z-51.de>
8101
8102 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
8103
8a4c07fd
RM
81042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8105
8106 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
8107 (grub_mkdevicemap_SOURCES): New variable.
8108 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
8109 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
8110 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
8111 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
8112 (grub_mkdevicemap_SOURCES): Remove.
8113 * conf/i386-efi.rmk: Likewise.
8114 * conf/i386-ieee1275.rmk: Likewise.
8115 * conf/i386-pc.rmk: Likewise.
8116 * conf/powerpc-ieee1275.rmk: Likewise.
8117 * conf/sparc64-ieee1275.rmk: Likewise.
8118 * conf/x86_64-efi.rmk: Likewise.
8119 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
8120 (usage): Fix strings to use `program_name'.
8121 (main): Initialize gettext.
8122 * util/grub-editenv.c: Likewise.
8123 * util/grub-emu.c: Likewise.
8124 * util/grub-fstest.c: Likewise.
8125 * util/grub-mkdevicemap.c: Likewise.
8126 * util/grub-mkfont.c: Likewise.
8127 * util/grub-mkrelpath.c: Likewise.
8128 * util/grub-pe2elf.c: Likewise.
8129 * util/grub-probe.c: Likewise.
8130 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
8131 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8132 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8133
8134 * util/misc.c: Include `"progname.h"'.
8135 (progname): Remove variable.
8136 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
8137
6f61ed55
FZ
81382009-11-25 Felix Zielcke <fzielcke@z-51.de>
8139
8140 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
8141 printf and print a newline after the menuentry header line.
8142 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8143
f022876b
FZ
81442009-11-25 Felix Zielcke <fzielcke@z-51.de>
8145
8146 autoconf >= 2.60 support $(localedir).
8147
8148 * INSTALL: Note that autoconf 2.60 is required.
8149 * configure.ac (AC_PREREQ): Bump to 2.60.
8150 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
8151 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8152
6717926e
YB
81532009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
8154
8155 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
8156 aclocal is run.
8157
08806a54
RM
81582009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8159
8160 * normal/main.c (grub_normal_read_line): Fix off-by-one
8161 buffer overflow.
8162
13b33fba
RM
81632009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8164
8165 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
8166 "parser.grub" in grub_command_execute() call.
8167
4a8572e9
CPE
81682009-11-24 Carles Pina i Estany <carles@pina.cat>
8169
8170 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
8171 * conf/i386-efi.rmk: Likewise.
8172 * conf/i386-ieee1275.rmk: Likewise.
8173 * conf/i386-pc.rmk: Likewise.
8174 * conf/powerpc-ieee1275.rmk: Likewise.
8175 * conf/sparc64-ieee1275.rmk: Likewise.
8176 * conf/x86_64-efi.rmk: Likewise.
8177 * gettext/gettex.c: Include <grub/i18n.h>.
8178 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
8179 here ...
8180 * include/grub/i18n.h: ... to here
8181 * include/grub/i18n.h: ... to here.
8182 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 8183 (grub_gettext_dummy): Move above user.
4a8572e9 8184
bee48093
FZ
81852009-11-24 Felix Zielcke <fzielcke@z-51.de>
8186
8187 * util/Makefile.in (install-local): Convert a `for' into a normal
8188 shell expansion.
8189
a031e91c
RM
81902009-11-24 Robert Millan <rmh.grub@aybabtu.com>
8191
8192 * autogen.sh: Add automake call.
8193 * config.guess: Remove.
8194 * config.sub: Likewise.
8195 * install-sh: Likewise.
8196
26bec39d
FZ
81972009-11-24 Felix Zielcke <fzielcke@z-51.de>
8198
8199 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
8200
8e2532fd
FZ
82012009-11-24 Felix Zielcke <fzielcke@z-51.de>
8202
8203 * util/Makefile.in (install-local): Convert a make `$(foreach)'
8204 function to a normal shell `for'.
8205
fefa1b7d
FZ
82062009-11-24 Felix Zielcke <fzielcke@z-51.de>
8207
8208 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8209
4501250b
FZ
82102009-11-24 Felix Zielcke <fzielcke@z-51.de>
8211
8212 * util/grub-mkrelpath.c: New file.
8213 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
8214 (grub_mkrelpath_SOURCES): New variable.
8215 * include/grub/util/misc.h: New function prototype.
8216 * util/misc.c (make_system_path_relative_to_its_root): New function.
8217
8218 * util/grub-mkconfig_lib.in (bindir): New variable.
8219 (grub_mkrelpath): Likewise.
8220 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
8221
8222 * util/probe.c (probe): Make the file path relative to its root.
8223 Change a info message to use the GRUB path. Enable again the
8224 check if we can read the file with GRUB facilities.
8225
8226 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
8227 to its root.
8228
11d9778b
FZ
82292009-11-24 Felix Zielcke <fzielcke@z-51.de>
8230
8231 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
8232 platform.
8233
4465287d
FZ
82342009-11-24 Felix Zielcke <fzielcke@z-51.de>
8235
8236 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
8237 strncmp().
8238
62b47f22
FZ
82392009-11-24 Felix Zielcke <fzielcke@z-51.de>
8240
8241 * util/getroot.c (grub_util_is_dmraid): New function.
8242 (grub_util_get_dev_abstraction): Treat dmraid and multipath
8243 devices as normal ones, not as LVM.
8244
1eafb9b9 82452009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
8246
8247 * conf/common.rmk: Add grub-gettext_lib target and updates
8248 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
8249 LDFLAGS.
8250 * gettext/gettext.c: New file. (Reads mo files).
8251 * include/grub/file.h (grub_file_pread): New prototype.
8252 * include/grub/i18n.h (_): New prototype.
8253 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
8254 prototypes.
8255 * kern/misc.c (grub_gettext_dummy): New function.
8256 * normal/menu_text.c: Include <grub/i18n.h>.
8257 * normal/menu_text.c (print_timeout): Gettexttize string.
8258 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
8259 * po/POTFILES: Add `normal/menu_text.c'.
8260 * po/ca.po: Add new translations.
c3ea6bd4
CPE
8261 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8262 gettext module and defines locale_dir and lang in grub.cfg.
8263 * NEWS: Add gettext support.
8264
0fdb2568
RM
82652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8266
8267 * util/hostdisk.c: Include `<grub/i18n.h>'.
8268 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8269 (make_device_name): Rewrite using asprintf.
8270 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8271 (find_system_device): If a device is not found, generate one just
8272 by reusing the OS path name.
8273 (read_device_map): Make it permissible for device.map not to exist.
8274
f515aa62
RM
82752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8276
8277 * script/sh/execute.c: Move from here ...
8278 * script/execute.c: ... to here. Update all users.
8279 * script/sh/function.c: Move from here ...
8280 * script/function.c: ... to here. Update all users.
8281 * script/sh/lexer.c: Move from here ...
8282 * script/lexer.c: ... to here. Update all users.
8283 * script/sh/main.c: Move from here ...
8284 * script/main.c: ... to here. Update all users.
8285 * script/sh/parser.y: Move from here ...
8286 * script/parser.y: ... to here. Update all users.
8287 * script/sh/script.c: Move from here ...
8288 * script/script.c: ... to here. Update all users.
8289
f84b481b
RM
82902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8291
8292 * configure.ac: Detect all `emu' platforms. Define
8293 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8294 --enable-grub-emu logic. Disable include/grub/machine
8295 symlink on `emu' platforms.
8296
8297 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8298 * gensymlist.sh.in: Likewise.
8299
8300 * include/grub/i386/coreboot/machine.h: Remove file.
8301 * include/grub/i386/efi/machine.h: Likewise.
8302 * include/grub/i386/ieee1275/machine.h: Likewise.
8303 * include/grub/i386/pc/machine.h: Likewise.
8304 * include/grub/i386/qemu/machine.h: Likewise.
8305 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8306 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8307 * include/grub/x86_64/efi/machine.h: Likewise.
8308
8309 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8310 * commands/halt.c: Likewise.
8311 * commands/reboot.c: Likewise.
8312 * include/grub/autoefi.h: Likewise.
8313 * include/grub/i386/at_keyboard.h: Likewise.
8314 * include/grub/i386/kernel.h: Likewise.
8315 * include/grub/i386/loader.h: Likewise.
8316 * include/grub/i386/pc/memory.h: Likewise.
8317 * kern/dl.c: Likewise.
8318 * kern/i386/coreboot/init.c: Likewise.
8319 * loader/i386/bsd.c: Likewise.
8320 * loader/i386/linux.c: Likewise.
8321 * loader/multiboot_loader.c: Likewise.
8322 * term/i386/pc/serial.c: Likewise.
8323 * term/usb_keyboard.c: Likewise.
8324
8325 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8326 `<grub/machine/machine.h>'
8327 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8328 * util/misc.c: Remove `<grub/machine/machine.h>' and
8329 `<grub/machine/time.h>'.
8330
8331 * Makefile.in (enable_grub_emu): Remove variable.
8332 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8333
8334 * conf/any-emu.rmk: New file.
8335 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8336 (grub_emu_init.c): Move from here ...
8337 * conf/any-emu.rmk: ... to here.
8338
8339 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8340 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8341 * conf/any-emu.rmk: ... to here.
8342
4efeab03
RM
83432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8344
8345 * include/grub/parser.h (grub_parser_register): Document need
8346 of `name' parameter.
8347 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8348 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8349 "sh" to "grub".
8350
ea1dd8bf
RM
83512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8352
8353 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8354 `$(XGETTEXT)'.
8355 * include/grub/i18n.h (N_): New macro.
8356 * util/mkisofs/mkisofs.h: Likewise.
8357 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8358 around N_().
8359 (usage): Use gettext() to translate help strings when printing them.
8360
0c140626
RM
83612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8362
8363 Based on patch from Bean
8364 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8365
8366 * video/efi_fb.c: New file.
8367 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8368 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8369 variables.
8370 * conf/x86_64-efi.rmk: Likewise.
8371
87d58298
RM
83722009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8373
8374 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8375 * util/i386/pc/grub-setup.c: Likewise.
8376
994cc3a3
ST
83772009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8378
8379 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8380 <hurd/fs.h>
8381 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8382 file_get_storage_info to implement grub_guess_root_device.
8383
26a61d6a
FZ
83842009-11-21 Felix Zielcke <fzielcke@z-51.de>
8385
8386 * Makefile.in (target): Use make's builtin $(shell) function
8387 instead of calling directly $(SHELL) to create the locale directories,
8388 inside the $(foreach) function.
8389
74ff1dd5
FZ
83902009-11-21 Felix Zielcke <fzielcke@z-51.de>
8391
8392 * util/grub-mkrescue.in: Print an error and usage if output option
8393 has not been given.
8394
0b787d0e
FZ
83952009-11-21 Felix Zielcke <fzielcke@z-51.de>
8396
8397 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8398 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8399 root and /boot are on different devices.
8400
1164b270
RM
84012009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8402
8403 Fix build for srcdir != objdir.
8404
8405 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8406 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8407 $(srcdir).
8408 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8409 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8410 reference for input.
8411
13774a2f
RM
84122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8413
8414 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8415 or hardlinking it). Remove -J option, Joliet is not compatible with
8416 multiple source directories.
8417
efda854e
RM
84182009-11-21 Carles Pina i Estany <carles@pina.cat>
84192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8420
8421 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8422 (process_input_dir): New function. Process an arbitrary input
8423 directory.
8424 Misc adjustments to support both "override mode" and system-wide mode.
8425
6c09890c
FZ
84262009-11-20 Felix Zielcke <fzielcke@z-51.de>
8427
8428 * configure.ac (UNIFONT_BDF): Rename to ...
8429 (FONT_SOURCE): ... this. Update all users.
8430
a797824f
FZ
84312009-11-20 Felix Zielcke <fzielcke@z-51.de>
8432
8433 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8434 to the list of unifont files to look for.
8435
cd4f42b0
RM
84362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8437
8438 Patch from Joe Auricchio <jauricchio@gmail.com>
8439 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8440 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8441 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8442
393c783d
FZ
84432009-11-19 Felix Zielcke <fzielcke@z-51.de>
8444
8445 * Makefile.in (install-local): Add a missing backslash.
8446
b2f1e327
FZ
84472009-11-19 Felix Zielcke <fzielcke@z-51.de>
8448
8449 * include/grub/x86_64/io.h: New file.
8450
f577f7a0
RM
84512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8452
8453 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8454 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8455 Include `"progname.h"'.
8456 (main): Initialize gettext.
8457 * util/i386/pc/grub-setup.c: Gettexttize.
8458 * util/i386/pc/grub-mkimage.c: Likewise.
8459
8460 * Makefile.in (po/*.po): Redefine as ...
8461 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8462
3bc7896c
RM
8463 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8464
c37943b6
RM
84652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8466
8467 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8468 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8469 (program_name): Remove.
8470 (main): Initialize gettext support.
6323f705
RM
8471 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8472 Include `<libintl.h>'.
8473 (_): New macro.
c37943b6
RM
8474
8475 * util/mkisofs/eltorito.c: Gettexttize.
8476 * util/mkisofs/joliet.c: Likewise.
8477 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
8478 * util/mkisofs/multi.c: Likewise.
8479 * util/mkisofs/rock.c: Likewise.
8480 * util/mkisofs/tree.c: Likewise.
8481 * util/mkisofs/write.c: Likewise.
8482
3bc7896c
RM
8483 * po/POTFILES: Update with new files.
8484
5ce77c6e
RM
84852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8486
8487 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8488 * util/mkisofs/iso9660.h: Likewise.
8489 * util/mkisofs/joliet.c: Likewise.
8490 * util/mkisofs/mkisofs.c: Likewise.
8491 * util/mkisofs/mkisofs.h: Likewise.
8492 * util/mkisofs/rock.c: Likewise.
8493 * util/mkisofs/tree.c: Likewise.
8494 * util/mkisofs/write.c: Likewise.
8495
8496 * util/mkisofs/eltorito.c (rcsid): Remove.
8497 * util/mkisofs/hash.c: Likewise.
8498 * util/mkisofs/joliet.c: Likewise.
8499 * util/mkisofs/name.c: Likewise.
8500 * util/mkisofs/rock.c: Likewise.
8501 * util/mkisofs/tree.c: Likewise.
8502 * util/mkisofs/write.c: Likewise.
8503
1dabbc77
RM
85042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8505
8506 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8507 instead of static allocation.
8508 * util/mkisofs/match.h: Likewise.
8509
633877cb
RM
85102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8511
3bc7896c
RM
8512 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8513 and `util/grub.d/10_linux.in'.
633877cb
RM
8514 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8515 translatable Shell files.
8516
af1c0c85
RM
85172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8518
8519 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8520
769ae37b
RM
85212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8522
8523 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 8524 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
8525 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8526 Add gettext initialization.
8527 (kfreebsd_entry): Make menuentry output translatable.
8528
85292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8530
8531 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8532 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8533 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8534 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8535 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 8536 * po/LINGUAS: New file.
769ae37b
RM
8537
85382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8539
8540 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8541 other things).
8542 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8543 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8544 bindtextdomain() calls for gettext initialization.
8545
85462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8547
8548 * gnulib/progname.c: New file (imported from Gnulib).
8549 * gnulib/progname.h: Likewise.
8550 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8551 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8552 (usage): Replace `progname' with `program_name'.
8553 (main): Use set_program_name() for program name initialization.
8554
85552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8556
8557 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8558 from here ...
8559 * Makefile.in (CPPFLAGS): ... to here.
8560
85612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8562
8563 * aclocal.m4: Move from here ...
8564 * acinclude.m4: ... to here.
8565 * autogen.sh: Add call to `aclocal'.
8566 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8567
85682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8569
8570 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8571 (LINGUAS): New variable.
8572 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8573 (install-local): Install MO files.
8574 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8575 * include/grub/i18n.h: New file.
3bc7896c
RM
8576 * po/POTFILES: New file.
8577 * po/ca.po: New file.
769ae37b
RM
8578 * util/grub.d/10_linux.in (bindir): New variable.
8579 Add gettext initialization.
8580 (linux_entry): Make menuentry output translatable.
8581 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8582 (usage): Make --help output translatable.
8583 (main): Initialize gettext.
8584
02c0a6ad
RM
85852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8586
8587 * import_gcry.py: New file (written by Vladimir with minor
8588 adjustments).
8589 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8590 ciphers.
8591 * INSTALL: Document that Python is required for bootstrap.
8592
85932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8594
8595 Import ciphers from libgcrypt 1.4.4.
8596
8597 * lib/libgcrypt/cipher/ChangeLog
8598 * lib/libgcrypt/cipher/ac.c
8599 * lib/libgcrypt/cipher/arcfour.c
8600 * lib/libgcrypt/cipher/bithelp.h
8601 * lib/libgcrypt/cipher/blowfish.c
8602 * lib/libgcrypt/cipher/camellia-glue.c
8603 * lib/libgcrypt/cipher/camellia.c
8604 * lib/libgcrypt/cipher/camellia.h
8605 * lib/libgcrypt/cipher/cast5.c
8606 * lib/libgcrypt/cipher/cipher.c
8607 * lib/libgcrypt/cipher/crc.c
8608 * lib/libgcrypt/cipher/des.c
8609 * lib/libgcrypt/cipher/dsa.c
8610 * lib/libgcrypt/cipher/ecc.c
8611 * lib/libgcrypt/cipher/elgamal.c
8612 * lib/libgcrypt/cipher/hash-common.c
8613 * lib/libgcrypt/cipher/hash-common.h
8614 * lib/libgcrypt/cipher/hmac-tests.c
8615 * lib/libgcrypt/cipher/md.c
8616 * lib/libgcrypt/cipher/md4.c
8617 * lib/libgcrypt/cipher/md5.c
8618 * lib/libgcrypt/cipher/primegen.c
8619 * lib/libgcrypt/cipher/pubkey.c
8620 * lib/libgcrypt/cipher/rfc2268.c
8621 * lib/libgcrypt/cipher/rijndael-tables.h
8622 * lib/libgcrypt/cipher/rijndael.c
8623 * lib/libgcrypt/cipher/rmd.h
8624 * lib/libgcrypt/cipher/rmd160.c
8625 * lib/libgcrypt/cipher/rsa.c
8626 * lib/libgcrypt/cipher/seed.c
8627 * lib/libgcrypt/cipher/serpent.c
8628 * lib/libgcrypt/cipher/sha1.c
8629 * lib/libgcrypt/cipher/sha256.c
8630 * lib/libgcrypt/cipher/sha512.c
8631 * lib/libgcrypt/cipher/tiger.c
8632 * lib/libgcrypt/cipher/twofish.c
8633 * lib/libgcrypt/cipher/whirlpool.c
8634
af2f93ac
RM
86352009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8636
8637 Fix build for systems without error().
8638
8639 * gnulib/error.c: New file (imported from Gnulib).
8640 * gnulib/error.h: Likewise.
8641 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8642 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8643 (this variable is now used by error()).
8644
73fb3dd5
FZ
86452009-11-16 Felix Zielcke <fzielcke@z-51.de>
8646
814f5e96
FZ
8647 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8648 instead of relying that char is signed.
73fb3dd5 8649
a691ca33
VS
86502009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8653 blocksize different from specified.
8654 (grub_pxefs_read): Likewise.
8655
2af8f0f4
FZ
86562009-11-16 Felix Zielcke <fzielcke@z-51.de>
8657
8658 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8659
8660 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8661 (grub_ata_readwrite): Likewise. Update 2 format strings.
8662 (grub_atapi_read): Likewise.
8663
8664 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8665 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8666 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8667 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8668 (ata_mod_LDFLAGS): Move from here ...
8669 * conf/i386.rmk: ... to here ...
8670 * conf/x86_64-efi.rmk: ... and here.
8671 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8672 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8673
83bdecaf
RM
86742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8675
8676 Relicense multiboot.h, with RMS' blessing.
8677
8678 * include/multiboot.h: Change to X11 license.
8679
fd6fd3d7
RM
86802009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8681
8682 Support --version in grub-mkisofs.
8683
8684 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8685 (OPTION_VERSION): New macro.
8686 (ld_options): Recognize --version.
8687 (usage): Move `program_name' from here ...
8688 (program_name): ... to here. Add `static' qualifier.
8689 (main): Recognize `OPTION_VERSION'.
8690
16a88c49
FZ
86912009-11-15 Felix Zielcke <fzielcke@z-51.de>
8692
8693 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8694 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8695
a4158476
RM
86962009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8697
8698 Fix help2man generation for mkisofs.
8699
8700 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8701 (usage): Send output to stdout (rather than stderr).
8702
fc2208b0
RM
87032009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8704
8705 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8706 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8707 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8708 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8709 (bin_SCRIPTS): Add `grub-mkfloppy'.
8710 (grub_mkfloppy_SOURCES): New variable.
8711
8712 * util/grub-mkrescue.in: New file.
8713 * util/i386/pc/grub-mkfloppy.in: New file.
8714
8715 * util/i386/coreboot/grub-mkrescue.in: Remove.
8716 * util/i386/pc/grub-mkrescue.in: Remove.
8717
8d0edf4a
RM
87182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8719
8720 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8721 from here ...
8722 * include/multiboot.h (struct multiboot_header): ... to here. Update
8723 all users.
8724 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8725 from here ...
8726 * include/multiboot.h (struct multiboot_info): ... to here. Update
8727 all users.
8728 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8729 from here ...
8730 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8731 Update all users.
8732 * include/grub/multiboot.h (struct grub_mod_list): Move
8733 from here ...
8734 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8735 Update all users.
8736
a73f5969
RM
87372009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8738
8739 * include/multiboot2.h (multiboot_word): Rename from this ...
8740 (multiboot2_word): ... to this. Update all users.
8741 (multiboot_header): Rename from this ...
8742 (multiboot2_header): ... to this. Update all users.
8743 (multiboot_tag_header): Rename from this ...
8744 (multiboot2_tag_header): ... to this. Update all users.
8745 (multiboot_tag_start): Rename from this ...
8746 (multiboot2_tag_start): ... to this. Update all users.
8747 (multiboot_tag_name): Rename from this ...
8748 (multiboot2_tag_name): ... to this. Update all users.
8749 (multiboot_tag_module): Rename from this ...
8750 (multiboot2_tag_module): ... to this. Update all users.
8751 (multiboot_tag_memory): Rename from this ...
8752 (multiboot2_tag_memory): ... to this. Update all users.
8753 (multiboot_tag_unused): Rename from this ...
8754 (multiboot2_tag_unused): ... to this. Update all users.
8755 (multiboot_tag_end): Rename from this ...
8756 (multiboot2_tag_end): ... to this. Update all users.
8757
1c8927f0
RM
87582009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8759
8760 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8761 this platform we should support Multiboot1 first.
8762
8763 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8764 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8765 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8766
6e1e0d89
RM
87672009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8768
8769 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8770 of write calls (converting them to fwrite() if they aren't already).
8771 (get_torito_desc): Likewise.
8772 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8773
7f2b34d8
RM
87742009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8775
8776 * util/i386/pc/grub-install.in: Move from here ...
8777 * util/grub-install.in: ... to here. Update all users.
8778
c0ef3311
CW
87792009-11-11 Colin Watson <cjwatson@ubuntu.com>
8780
8781 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8782
e1f240ff
RM
87832009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8784
8785 Support for El Torito without floppy emulation.
8786
8787 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8788 (init_boot_catalog): Improve error handling.
8789 (get_torito_desc): Don't use floppy emulation unless requested by
8790 user. Patch boot information table when requested via
8791 `-boot-info-table'.
8792 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8793 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8794 (use_boot_info_table): New variables.
8795 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8796 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8797 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8798 `--eltorito-emul-floppy'.
8799 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8800 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8801 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8802 (use_boot_info_table, get_731): New prototypes.
8803 * util/mkisofs/write.c (get_731): New function.
8804
af7d4de5
FZ
88052009-11-11 Felix Zielcke <fzielcke@z-51.de>
8806
8807 Fix the generation of the man page.
8808
8809 * util/pc/i386/grub-install.in: Source
8810 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8811
2c55dbc0
RM
88122009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8813
8814 Large file support for grub-mkisofs.
8815
8816 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8817 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8818 (session_start): Upgrade type to `uint64_t'. Update all users.
8819 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8820 (struct directory_entry): Upgrade type of `starting_block' and
8821 `size' to `uint64_t'. Update all users.
8822 (struct deferred): Remove unused structure.
8823 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8824 Update all users.
8825 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8826 file is larger than `UINT32_MAX'.
8827 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8828 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8829 return value.
8830 (struct deferred_write): Upgrade type of `extent' and `size' to
8831 `uint64_t'. Update all users.
8832 (last_extent_written): Upgrade type to `uint64_t'. Update all
8833 users.
8834 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8835 Update all users. Upgrade type of `remain' to `int64_t' and
8836 `use' to `size_t'. Use error() to handle fread() errors.
8837 (write_files): Rely on write_one_file() rather than calling
8838 xfwrite() directly.
8839
6a9cead5
FZ
88402009-11-09 Felix Zielcke <fzielcke@z-51.de>
8841
8842 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8843
4825d790
RM
88442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8845
8846 * util/mkisofs/fnmatch.c: Remove.
8847 * util/mkisofs/getopt1.c: Likewise.
8848 * util/mkisofs/getopt.c: Likewise.
8849 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8850 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8851 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8852 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8853 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8854
8855 * configure.ac: Detect `mingw32msvc' host_os.
8856 Check for lstat(), getuid() and getgid().
8857
8858 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8859 instances of `u_char' with `uint8_t'.
8860
8861 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8862 [!HAVE_GETUID] (getuid): New function (stub).
8863 [!HAVE_GETGID] (getgid): Likewise.
8864 [!HAVE_LSTAT] (lstat): Likewise.
8865 [!S_IROTH] (S_IROTH): New macro (dummy).
8866 [!S_IRGRP] (S_IRGRP): Likewise.
8867
84b860d8
RM
88682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8869
8870 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8871 conditional expression).
8872
66e9b712
RM
88732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8874
8875 Import from Gnulib.
8876
8877 * gnulib/fnmatch.c: New file.
8878 * gnulib/fnmatch.h: Likewise.
8879 * gnulib/fnmatch_loop.c: Likewise.
8880 * gnulib/getopt.c: Likewise.
8881 * gnulib/getopt.h: Likewise.
8882 * gnulib/getopt1.c: Likewise.
8883 * gnulib/getopt_int.h: Likewise.
8884 * gnulib/gettext.h: Likewise.
8885
34f4a5b0
RM
88862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8887
8888 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8889 * normal/handler.c (read_handler_list): Likewise.
8890
ac451143
RM
88912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8892
8893 Misc cleanup.
8894
8895 * kern/command.c (grub_register_command_prio): Use
8896 grub_zalloc() instead of explicitly zeroing data.
8897 * kern/list.c: Include `<grub/mm.h>'.
8898 (grub_named_list_find): Replace `0' with `NULL'.
8899 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8900 (fs_module_list): Change type to `grub_named_list_t'. Update all
8901 users.
8902 * normal/dyncmd.c (read_command_list): Add space between function
8903 call and parenthesis.
8904 * normal/handler.c (read_handler_list): Likewise.
8905
4089b167
RM
89062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8907
8908 * normal/auth.c (punishment_delay): Moved from here ...
8909 (grub_auth_strcmp): ... to here (inside function).
8910
325f5037
RM
89112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8912
8913 * include/grub/list.h (struct grub_named_list): Remove `const'
8914 qualifier from `name'.
8915 (struct grub_prio_list): Likewise.
8916
7aea29a3
RM
89172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8918
8919 * normal/auth.c: Include `<grub/time.h>'.
8920 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8921
3fd6f044
RM
89222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8923
8924 * normal/auth.c (punishment_delay): New variable.
8925 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8926 (grub_auth_check_authentication): Punish failed login attempts with
8927 an incremental (2^N) delay.
8928
a4cd68e4
RM
89292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8930
8931 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8932 path with $(srcdir).
8933
7ad12f43
VS
89342009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8937
c1129f03
RM
89382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8939
8940 * util/i386/coreboot/grub-mkrescue.in: New file.
8941 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8942 variables.
8943
8944 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8945 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8946 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8947 requirements.
8948 * util/mkisofs/defaults.h: New file.
8949 * util/mkisofs/eltorito.c: Likewise.
8950 * util/mkisofs/exclude.h: Likewise.
8951 * util/mkisofs/fnmatch.c: Likewise.
8952 * util/mkisofs/getopt.c: Likewise.
8953 * util/mkisofs/getopt1.c: Likewise.
8954 * util/mkisofs/hash.c: Likewise.
8955 * util/mkisofs/include/fctldefs.h: Likewise.
8956 * util/mkisofs/include/mconfig.h: Likewise.
8957 * util/mkisofs/include/prototyp.h: Likewise.
8958 * util/mkisofs/include/statdefs.h: Likewise.
8959 * util/mkisofs/iso9660.h: Likewise.
8960 * util/mkisofs/joliet.c: Likewise.
8961 * util/mkisofs/match.c: Likewise.
8962 * util/mkisofs/match.h: Likewise.
8963 * util/mkisofs/mkisofs.c: Likewise.
8964 * util/mkisofs/mkisofs.h: Likewise.
8965 * util/mkisofs/multi.c: Likewise.
8966 * util/mkisofs/name.c: Likewise.
8967 * util/mkisofs/rock.c: Likewise.
8968 * util/mkisofs/tree.c: Likewise.
8969 * util/mkisofs/write.c: Likewise.
8970
ec8bb77d
VS
89712009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8974 being insecure.
8975
3716b12c
RM
89762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8977
8978 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8979 `grub-mkimage' (and use $0 when possible).
8980
b97b7b91
RM
89812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8982
8983 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8984 error message for excessively large memory map.
8985
04114812
RM
89862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8987
8988 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8989 executable bit.
8990
e4eb2373
RM
89912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8992
8993 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8994 message for coreboot users.
8995
c926e1d5 89962009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8997
8998 Fix build with GNU gold.
8999
9000 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
9001 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
9002 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
9003 link addresses.
9004 * aclocal.m4: Likewise.
9005
86e5b1db 90062009-11-04 Felix Zielcke <fzielcke@z-51.de>
9007
9008 * configure.ac (AC_PREREQ): Bump to 2.59d.
9009 * INSTALL: Make it more clear when Autoconf and Ruby are
9010 needed and when to run `./autogen.sh'.
9011
246cd78f 90122009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9013
9014 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
9015 OSes.
9016
4f9dfb37 90172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9018
9019 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
9020
b82bd5e1 90212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9022
9023 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
9024 giving it to GNU Mach.
9025
ff1a9bca 90262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9027
9028 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
9029 GNU partition number to get internal GRUB partition number.
9030
61697d9c 90312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9032
9033 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
9034 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
9035
a50569e1 90362009-11-01 Robert Millan <rmh.grub@aybabtu.com>
9037
9038 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
9039 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
9040 case.
9041
5b153867 90422009-11-01 Felix Zielcke <fzielcke@z-51.de>
9043
9044 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
9045
d9e2cd70 90462009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9047
9048 Fix build problem.
9049
9050 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
9051 `-isystem=$(srcdir)/include'.
9052
805111a4 90532009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9054
9055 * util/i386/pc/grub-install.in: Remove hint that device.map should be
9056 checked (grub-install doesn't currently rely on it).
9057
fa6e945f 90582009-10-29 Robert Millan <rmh.grub@aybabtu.com>
9059
9060 Revert SVN r2660.
9061
9062 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
9063 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9064 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
9065 * conf/i386-ieee1275.rmk: Likewise.
9066 * conf/i386-pc.rmk: Likewise.
9067 * conf/powerpc-ieee1275.rmk: Likewise.
9068 * conf/sparc64-ieee1275.rmk: Likewise.
9069 * conf/x86_64-efi.rmk: Likewise.
9070
cee15086 90712009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9072
9073 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
9074
95b9239e 90752009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9076
9077 * include/grub/misc.h: Stop checking for APPLE_CC.
9078
2ed19dfd 90792009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9080
9081 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
9082 doesn't cause an infinite call loop.
9083
fdcdde19 90842009-10-28 Felix Zielcke <fzielcke@z-51.de>
9085
9086 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
9087 strings.
9088
cefabfe1 90892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9090
9091 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
9092 variable.
9093 * Makefile.in: Likewise.
9094
ed96ab6d 90952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9096
9097 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
9098
0579b753 90992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9100
9101 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
9102
478df409 91032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9104
9105 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
9106
083d1679 91072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9108
9109 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
9110 from here ...
9111 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
9112
5947ae32 91132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9114
9115 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
9116 in $(MAKEINFO) invocation. This makes it clear in output that
9117 errors are being ignored.
9118
94180ff6 91192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9120
9121 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
9122 from here ...
9123 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9124 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
9125 * conf/i386-ieee1275.rmk: Likewise.
9126 * conf/i386-pc.rmk: Likewise.
9127 * conf/powerpc-ieee1275.rmk: Likewise.
9128 * conf/sparc64-ieee1275.rmk: Likewise.
9129 * conf/x86_64-efi.rmk: Likewise.
9130
9031b03a 91312009-10-26 Colin Watson <cjwatson@ubuntu.com>
9132
9133 * util/grub-editenv.c (main): If only a command is given, use
9134 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
9135 (usage): FILENAME is now optional and has a default.
9136
e4f6809b 91372009-10-26 Colin Watson <cjwatson@ubuntu.com>
9138
9139 Improve grub-mkconfig performance when there are several menu
9140 entries on a single filesystem.
9141
9142 * util/grub.d/10_linux.in (linux_entry): Cache the output of
9143 prepare_grub_to_access_device.
9144 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9145 * util/grub.d/30_os-prober.in: Likewise.
9146
67937d4d 91472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9148
9149 * util/grub.d/10_freebsd.in: Remove.
9150 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
9151 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
9152
ee3756cc 91532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9154
5c35048e 9155 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 9156
4dea1c6f 91572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9158
9159 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
9160 grub_util_error() call.
9161
042484d7 91622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9163
9164 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
9165 `reserved_first_sector' member.
9166 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
9167 `reserved_first_sector' to 1.
9168 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
9169 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
9170 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
9171 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
9172 filesystems which begin at first sector.
9173 (options): New option --skip-fs-probe.
9174 (main): Handle --skip-fs-probe and pass it to setup().
9175
d64448a7 91762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9177
9178 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
9179 (memset): Fix function prototype.
9180
508d42ec 91812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
91822009-10-25 Vasily Averin <vvs@parallels.com>
9183
9184 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
9185 `dirent.direntlen == 0'.
9186
b240e30c 91872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9188
9189 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
9190 `cpio'.
9191 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
9192
346e7fbe 91932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9194
9195 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
9196 `__trampoline_setup' and `__ucmpdi2'.
9197 * include/grub/powerpc/libgcc.h: Only export symbols for functions
9198 that libgcc provides.
9199
cdb308b0 92002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9201
9202 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
9203 * include/grub/sparc64/libgcc.h (memset): Likewise.
9204 * include/grub/misc.h (memset, memcmp): New function prototypes.
9205
fb26abc2 92062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9207
9208 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
9209 `cpio'.
9210 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
9211
f6693890 92122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9213
9214 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
9215 * docs/grub.cfg: Compensate for recent change in multiboot
9216 loader (since 2009-08-14 it won't pass filename to payload).
9217 * util/grub.d/10_hurd.in: Likewise.
9218
0933cdc0 92192009-10-21 Felix Zielcke <fzielcke@z-51.de>
9220
9221 * config.guess: Update to latest version from config git
9222 repository.
9223 * config.sub: Likewise.
9224
3b2fe8c2 92252009-10-20 Robert Millan <rmh.grub@aybabtu.com>
9226
9227 Fix build on sparc64.
9228
9229 * configure.ac: Perform checks for libgcc symbols before
9230 adding `-nostdlib' to LDFLAGS.
9231
46695a62 92322009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Let user specify OpenBSD root device.
9235
9236 * loader/i386/bsd.c (openbsd_root): New variable.
9237 (openbsd_opts): New option 'root'.
9238 (OPENBSD_ROOT_ARG): New macro.
9239 (grub_openbsd_boot): Use 'openbsd_root'.
9240 (grub_cmd_openbsd): Fill 'openbsd_root'.
9241
d2b6b7fc 92422009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9243
9244 * NEWS: Misc adjustments.
9245
421bd7ac 92462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
9249
f1d29d87 92502009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9251
9252 * configure.ac: Bump version to 1.97.
9253
6f3cd880 92542009-10-16 Colin Watson <cjwatson@ubuntu.com>
9255
9256 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
9257 -mno-3dnow on x86 architectures. Some toolchains enable these
9258 features by default, but they rely on registers that aren't enabled
9259 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9260
035f7122 92612009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9262
9263 Make entry text a bit more readable.
9264
9265 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9266
44998e58 92672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9270
cd2851b3 92712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9274 operations.
9275
c6f3b249 92762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * configure.ac: Add missing dollar.
9279
6b5886ba 92802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9283
9284 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9285 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9286 exports.
9287 * include/grub/sparc64/libgcc.h: Likewise. Use
9288 preprocessor conditionals.
9289
e9d66f6d 92902009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9291
9292 * conf/common.rmk (grub-dumpbios): Remove rule.
9293 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9294 * util/grub-dumpbios.in: Remove file.
9295
9155bc17 92962009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9297
9298 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9299 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9300
9301 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9302 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9303 users.
9304
9305 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9306 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9307 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9308 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9309 users.
9310
bf7f7a18 93112009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9312
9313 * term/tparm.c: Switch to GPLv3.
9314
86564c26 93152009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9316
9317 * include/grub/i386/cpuid.h: Add header protection.
9318
5c936493 93192009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9320
9321 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9322
9323 * include/grub/i386/cpuid.h: New file.
9324 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9325 (has_longmode): Rename to ...
9326 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9327 `static' attribute.
9328 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9329 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9330 on a CPU that doesn't implement AMD64 instruction set.
9331
186e7cf2 93322009-10-06 Colin Watson <cjwatson@ubuntu.com>
9333
9334 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9335 that version.texi is rebuilt on version number changes.
9336
83b65c4a 93372009-10-06 Colin Watson <cjwatson@ubuntu.com>
9338
9339 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9340 Fixes bug #27602.
9341
d244281c 93422009-10-06 Colin Watson <cjwatson@ubuntu.com>
9343
9344 * util/i386/pc/grub-install.in: Source
9345 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9346 that the --grub-probe option will work.
9347 * util/sparc64/ieee1275/grub-install.in: Likewise.
9348
da25306d 93492009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9350
9351 * configure.ac: Bump version to 1.97~beta4.
9352
e8ee83c0 93532009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9354
9355 Resync grub-mkdevicemap in x86_64-efi.
9356
9357 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9358 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9359 `util/devicemap.c'.
9360
50dcabcf 93612009-10-01 Colin Watson <cjwatson@ubuntu.com>
9362
9363 * util/grub-editenv.c (create_envblk_file): Write new block with a
9364 .new suffix and then rename it into place, to ensure atomic
9365 creation.
9366
0e51c3a7 93672009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9368
9369 Do not automatically install headers.
9370
9371 * Makefile.in (include_DATA): Remove. Update all users.
9372
31299a95 93732009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9374
9375 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9376 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9377
9378 * util/osdetect.lua: Remove.
9379 * script/lua/lauxlib.c: Likewise.
9380 * script/lua/ldebug.c: Likewise.
9381 * script/lua/grub_main.c: Likewise.
9382 * script/lua/lauxlib.h: Likewise.
9383 * script/lua/ldebug.h: Likewise.
9384 * script/lua/ltablib.c: Likewise.
9385 * script/lua/liolib.c: Likewise.
9386 * script/lua/lstrlib.c: Likewise.
9387 * script/lua/lualib.h: Likewise.
9388 * script/lua/ldo.c: Likewise.
9389 * script/lua/ldump.c: Likewise.
9390 * script/lua/ldo.h: Likewise.
9391 * script/lua/loslib.c: Likewise.
9392 * script/lua/lundump.c: Likewise.
9393 * script/lua/grub_lib.c: Likewise.
9394 * script/lua/ldblib.c: Likewise.
9395 * script/lua/lundump.h: Likewise.
9396 * script/lua/lmem.c: Likewise.
9397 * script/lua/grub_lib.h: Likewise.
9398 * script/lua/lmathlib.c: Likewise.
9399 * script/lua/lstate.c: Likewise.
9400 * script/lua/ltm.c: Likewise.
9401 * script/lua/lvm.c: Likewise.
9402 * script/lua/lmem.h: Likewise.
9403 * script/lua/lstate.h: Likewise.
9404 * script/lua/ltm.h: Likewise.
9405 * script/lua/ltable.c: Likewise.
9406 * script/lua/lvm.h: Likewise.
9407 * script/lua/llex.c: Likewise.
9408 * script/lua/lgc.c: Likewise.
9409 * script/lua/grub_lua.h: Likewise.
9410 * script/lua/loadlib.c: Likewise.
9411 * script/lua/lfunc.c: Likewise.
9412 * script/lua/lopcodes.c: Likewise.
9413 * script/lua/lparser.c: Likewise.
9414 * script/lua/ltable.h: Likewise.
9415 * script/lua/llex.h: Likewise.
9416 * script/lua/lgc.h: Likewise.
9417 * script/lua/lfunc.h: Likewise.
9418 * script/lua/lbaselib.c: Likewise.
9419 * script/lua/lopcodes.h: Likewise.
9420 * script/lua/lparser.h: Likewise.
9421 * script/lua/lzio.c: Likewise.
9422 * script/lua/linit.c: Likewise.
9423 * script/lua/lobject.c: Likewise.
9424 * script/lua/llimits.h: Likewise.
9425 * script/lua/lstring.c: Likewise.
9426 * script/lua/lzio.h: Likewise.
9427 * script/lua/lapi.c: Likewise.
9428 * script/lua/lcode.c: Likewise.
9429 * script/lua/lua.h: Likewise.
9430 * script/lua/lobject.h: Likewise.
9431 * script/lua/lstring.h: Likewise.
9432 * script/lua/lapi.h: Likewise.
9433 * script/lua/lcode.h: Likewise.
9434 * script/lua/luaconf.h: Likewise.
9435
cb8a2c38 94362009-09-26 Colin Watson <cjwatson@ubuntu.com>
9437
9438 * docs/grub.texi (Command-line and menu entry commands): Document
9439 date and echo commands.
9440
6b9b6276 94412009-09-24 Pavel Roskin <proski@gnu.org>
9442
9443 * include/grub/kernel.h (struct grub_module_header): Remove
9444 `grub_module_header_types'. Make `type' unsigned. Make `size'
9445 32-bit on all platforms.
9446 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9447 8-bit field. Use grub_host_to_target32() for `size'.
9448 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9449 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9450 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9451
4e5a02a7 94522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9453
9454 Fix "lost keypress" bug in at_keyboard.
9455
9456 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9457 Checks for readyness of input buffer (without flushing it).
9458 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9459 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9460
c6dcedf6 94612009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9462
9463 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9464 size check within GRUB_MACHINE_PCBIOS section.
9465
74c958b1 94662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9467
9468 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9469 return value.
9470 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9471 KEYBOARD_ISREADY check.
9472 (grub_at_keyboard_checkkey): Rename to ...
9473 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9474 Remove gratuitous cast.
9475
ff420223 94762009-09-23 Colin Watson <cjwatson@ubuntu.com>
9477
9478 * configure.ac: Call AC_PROG_MKDIR_P.
9479 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9480 version.texi in $(builddir) rather than $(srcdir).
9481 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9482 to makeinfo's @include search path.
9483
d96875df 94842009-09-23 Felix Zielcke <fzielcke@z-51.de>
9485
9486 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9487
9b3f8365 94882009-09-23 Felix Zielcke <fzielcke@z-51.de>
9489
9490 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9491 for `*.dpkg-new'.
9492
c44c90db 94932009-09-21 Colin Watson <cjwatson@ubuntu.com>
9494
9495 Build info documentation. Some code borrowed from Automake.
9496
9497 * configure.ac: Check for makeinfo.
9498 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9499 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9500 docs/version.texi.
9501 (MOSTLYCLEANFILES): Add vti.tmp.
9502 (docs/version.texi, docs/stamp-vti): Update automatically.
9503 (docs/grub.info): Build info documentation. Use --force and ignore
9504 errors for now.
9505 (all-local): Add $(INFOS).
9506 (install-local): Install info files.
9507 (uninstall): Uninstall info files.
9508 * docs/version.texi: Remove from revision control. This file is
9509 automatically generated on build now.
9510 * gendistlist.sh: Add `*.info'.
9511
e0b37bb5 95122009-09-21 Felix Zielcke <fzielcke@z-51.de>
9513
9514 * kern/term.c: Fix indentation.
9515
5a78865b 95162009-09-21 Felix Zielcke <fzielcke@z-51.de>
9517
9518 * util/hostdisk.c: Fix a comment.
9519
dace7e8a 95202009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9521
9522 Fix regression introduced in r2539.
9523
9524 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9525 to 0xA1.
9526
a83d079b 95272009-09-19 Colin Watson <cjwatson@ubuntu.com>
9528
9529 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 9530 os-prober. Under normal operation, it does not print anything to
9531 stderr; if it does, we need to debug it, and throwing away stderr
9532 makes that excessively difficult.
a83d079b 9533
be94a509 95342009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9537
63f745e8 95382009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9539
9540 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9541 AC_LANG_PROGRAM from autoconf.
9542 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9543 prototypes (fixes warning).
9544
9545 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9546 `--disable-werror' was used.
9547
bbb2a70f 95482009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9549
9550 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9551 uninitialized `lastaddr'.
9552
77c24f1d 95532009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9554
0f0b8c87 9555 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 9556
07197f23 95572009-09-14 Colin Watson <cjwatson@ubuntu.com>
9558
9559 * commands/test.c (get_fileinfo): Return immediately if
9560 grub_fs_probe fails.
9561
dabf1798 95622009-09-14 José Martínez <xosemp@gmail.com>
9563
9564 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9565
d52109a7 95662009-09-14 Colin Watson <cjwatson@ubuntu.com>
9567
9568 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9569 output.
9570
56532179 95712009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9572
9573 * configure.ac: Remove --enable-grub-pe2elf. Only build
9574 grub-pe2elf when needed by the build system itself.
9575 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9576
8ef070f5 95772009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9578
9579 * configure.ac: Bump version to 1.97~beta3.
9580 * docs/version.texi: Likewise.
9581
61229557 95822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9583
9584 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9585 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9586 from here ...
9587 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9588 (grub_linux_setup_video): ... to here (with some adjustments).
9589
5c9f8d84 95902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9591
9592 Fix memory corruption issue (spotted by Colin Watson).
9593
9594 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9595 causing returned size to be stored in an incorrect memory location.
9596 Fix use of uninitialized value when storing the returned size.
9597
e8f5d6e9 95982009-09-12 Yves Blusseau <blusseau@zetam.org>
9599
9600 Change clean rules to properly remove files
9601
9602 * genmk.rb: add new clean rules
9603 * Makefile.in (clean): add the new targets
9604 (mostlyclean): likewise
9605
cda2a409 96062009-09-11 Colin Watson <cjwatson@ubuntu.com>
9607
9608 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9609 to grub_uint64_t.
9610 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9611 non-resident files.
9612
86695375 96132009-09-11 Colin Watson <cjwatson@ubuntu.com>
9614
9615 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9616 part of bug #27349.
9617
8aa1541a 96182009-09-10 Felix Zielcke <fzielcke@z-51.de>
9619
9620 * util/grub-mkconfig.in: Make the created config mode 400 and
9621 print a warning if it fails.
9622
48d9bb0a 96232009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9624
9625 * util/grub.d/40_custom.in: Ask user to type custom entries below
9626 comment, rather than below 'exec tail' line.
9627
3b0521be 96282009-09-10 Colin Watson <cjwatson@ubuntu.com>
9629
9630 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9631 visible in grub.cfg.
9632
50051d55 96332009-09-10 Colin Watson <cjwatson@ubuntu.com>
9634
9635 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9636 file.
9637
c0d34387 96382009-09-10 Felix Zielcke <fzielcke@z-51.de>
9639
9640 * docs/grub.cfg: Add an example menu entry for memtest86+.
9641
80a608f3 96422009-09-09 Felix Zielcke <fzielcke@z-51.de>
9643
a2094832 9644 * config.guess: Update to latest version from config git.
80a608f3 9645 * config.sub: Likewise.
9646
99423078 96472009-09-08 Colin Watson <cjwatson@ubuntu.com>
9648
9649 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9650 unknown-command case. Fixes bug #27320.
9651
44454e4c 96522009-09-08 Felix Zielcke <fzielcke@z-51.de>
9653
9654 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9655 `help' if the command exists.
9656
e30d87ad 96572009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9658
9659 * INSTALL: Require GCC 4.1.3 or later.
9660
9a86f1ec 96612009-09-06 Yves Blusseau <blusseau@zetam.org>
9662
9663 * Makefile.in (RMKFILES): add i386-qemu.rmk
9664 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9665 $(srcdir)/stamp-h.in
9666
7f26d466 96672009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9668
9669 * util/grub-probe.c (probe): Comment out buggy codepath, which
9670 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9671 should be re-enabled after 1.97.
9672
3a613259 96732009-09-05 Felix Zielcke <fzielcke@z-51.de>
9674
9675 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9676 find searches for.
9677
197f76c7 96782009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9681 unnecessary calls to grub_error.
9682
70ba68ce 96832009-09-04 Colin Watson <cjwatson@ubuntu.com>
9684
9685 * NEWS: Mention `keystatus' and Unicode fonts.
9686
4ff0d7a4 96872009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9688
9689 * configure.ac: Bump version to 1.97~beta2.
9690 * docs/version.texi: Likewise.
9691
77c55a87 96922009-09-03 Colin Watson <cjwatson@ubuntu.com>
9693
9694 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9695 containing unwind information in some cases where it previously did
9696 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9697 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9698 discussion.
9699
f79572cd 97002009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9701
9702 Embedding loadenv module into grub-emu
9703
9704 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9705 commands/loadenv.c
9706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9707 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9708 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9712
93a81088 97132009-09-03 Magnus Granberg <zorry@ume.nu>
9714
9715 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9716 include -fPIE in the default specs.
9717 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9718 to TARGET_CFLAGS.
9719
160034b2 97202009-09-03 Felix Zielcke <fzielcke@z-51.de>
9721
9722 * INSTALL: Note that GNU Bison 2.3 or later is required.
9723
087c07c4 97242009-09-03 Colin Watson <cjwatson@ubuntu.com>
9725
9726 * kern/i386/pc/startup.S: Fix typo.
9727
cbf978c0 97282009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9731 according to GCS.
9732
97332009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 9734
9735 * docs/grub.texi (Naming convention): Describe one-based partition
9736 numbering.
9737 (Device syntax): Likewise.
9738 (File name syntax): Likewise.
9739 (Block list syntax): Likewise.
9740 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9741 menu.lst.
9742 (File name syntax): Likewise.
9743 (Command-line and menu entry commands): Document acpi, blocklist,
9744 crc, export, insmod, keystatus, ls, set, and unset commands.
9745
f3e8cdfd 97462009-09-02 Colin Watson <cjwatson@ubuntu.com>
9747
9748 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9749 to avoid implying that only one of --shift, --ctrl, or --alt may be
9750 used.
9751
c0bc232b 97522009-09-02 Colin Watson <cjwatson@ubuntu.com>
9753
9754 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9755 rather than comparing against S_IFREG, which will almost never work.
9756
aa0f752d 97572009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9760 (write_blocklists): Likewise.
9761
ecb3166a 97622009-09-01 Colin Watson <cjwatson@ubuntu.com>
9763
9764 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9765 argument to grub_printf.
9766
c403a125 97672009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 9768
9769 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 9770 non GNU test.
31aba781 9771
b5e7312c 97722009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * kern/file.c (grub_file_read): Spelling fix
9775
fe00f472 97762009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9779 loading of headers in some cases.
9780
cc55302e 97812009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9782
9783 * configure.ac: Bump version to 1.97~beta1.
9784 * docs/version.texi: Likewise.
9785
5c90cdd2 97862009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 9787
9788 * include/grub/i386/xnu.h: Add license header.
9789 include grub/err.h explicitly.
9790
c90edae4 97912009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9792
9793 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9794 to `ufs' in the vfs.root.mountfrom kernel parameter.
9795
d8888b5c 97962009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9797
9798 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9799
9800 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9801 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9802
9803 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9804 `ARRAY_SIZE' macro.
9805
6f07b921 98062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * kern/file.c (grub_file_read): Check offset.
9809 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9810 * fs/jfs.c (grub_jfs_read_file): Likewise.
9811 * fs/ntfs.c (grub_ntfs_read): Likewise.
9812 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9813 * fs/minix.c (grub_minix_read_file): Correct offset check.
9814 * fs/ufs.c (grub_ufs_read_file): Likewise.
9815
b4f34077 98162009-08-28 Colin Watson <cjwatson@ubuntu.com>
9817
9818 * term/i386/pc/console.c (bios_data_area): Cast
9819 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9820
e7c69859 98212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 1-bit optimised blitters.
9824
9825 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9826 prototype.
9827 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9828 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9829 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9830 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9831 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9832 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9833 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9834 function.
9835 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9836 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9837 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9838 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9839 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9840 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9841 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9842 when possible.
9843 * video/video.c (grub_video_get_blit_format): Return
9844 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9845
a57da43f 98462009-08-28 Colin Watson <cjwatson@ubuntu.com>
9847
9848 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9849 the first argument to grub_printf.
9850
4cbe67e5 98512009-08-28 Colin Watson <cjwatson@ubuntu.com>
98522009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9853
9854 Add `getkeystatus' terminal method. Add a new `keystatus' command
9855 to query it.
9856
9857 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9858 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9859 modifier key bitmasks.
9860 (struct grub_term_input): Add `getkeystatus' member.
9861 (grub_getkeystatus): Add prototype.
9862 * kern/term.c (grub_getkeystatus): New function.
9863
9864 * include/grub/i386/pc/memory.h
9865 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9866 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9867 Data Area layout.
9868 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9869 (grub_console_term_input): Set `getkeystatus' member.
9870 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9871 constants.
9872 (grub_usb_keyboard_getreport): Likewise.
9873 (grub_usb_keyboard_checkkey): Likewise.
9874 (grub_usb_keyboard_getkeystatus): New function.
9875 (grub_usb_keyboard_term): Set `getkeystatus' member.
9876
9877 * commands/keystatus.c: New file.
9878 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9879 (keystatus_mod_SOURCES): New variable.
9880 (keystatus_mod_CFLAGS): Likewise.
9881 (keystatus_mod_LDFLAGS): Likewise.
9882 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9883 commands/keystatus.c.
9884 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9885 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9886 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9888 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9889 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 9890
6e2a9085 98912009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 Split befs.mod and afs.mod into *_be.mod and *.mod
9894
9895 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9896 (grub_fstest_SOURCES): Likewise.
9897 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9898 (afs_be_mod_SOURCES): New variable.
9899 (afs_be_mod_CFLAGS): Likewise.
9900 (afs_be_mod_LDFLAGS): Likewise.
9901 (befs_be_mod_SOURCES): Likewise.
9902 (befs_be_mod_CFLAGS): Likewise.
9903 (befs_be_mod_LDFLAGS): Likewise.
9904 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9905 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9906 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9907 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9908 (grub_emu_SOURCES): Likewise.
9909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9910 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9912 * fs/afs_be.c: New file.
9913 * fs/befs_be.c: New file.
9914 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9915 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9916 (U16): Replaced with ...
9917 (grub_afs_to_cpu16): ...this. All users updated.
9918 (U32): Replaced with ...
9919 (grub_afs_to_cpu32): ...this. All users updated.
9920 (U64): Replaced with ...
9921 (grub_afs_to_cpu64): ...this. All users updated.
9922 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9923 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 9924 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 9925 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9926 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9927 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9928 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9929 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9930 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9931 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9932 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9933
32a71655 99342009-08-26 Bean <bean123ch@gmail.com>
9935
9936 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9937 64-bit number.
9938 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9939 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9940 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9941
552bf6c5 99422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 NetBSD memory map support.
9945
9946 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9947 (grub_netbsd_btinfo_mmap_header): New structure.
9948 (grub_netbsd_btinfo_mmap_entry): Likewise.
9949 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9950
1ae2078c 99512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 Enable bsd.mod on coreboot.
9954
9955 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9956 (bsd_mod_SOURCES): New variable.
9957 (bsd_mod_CFLAGS): Likewise.
9958 (bsd_mod_LDFLAGS): Likewise.
9959 (bsd_mod_ASFLAGS): Likewise.
9960 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9961 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9962
beefc598 99632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 Cleanup NetBSD root support.
9966
9967 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9968 grub_bsd_get_device.
9969 Fix typo.
9970
3b76e68b 99712009-08-25 Felix Zielcke <fzielcke@z-51.de>
9972
9973 * util/grub.d/00_header.in: Move check for the video backend of
9974 gfxterm from here ...
9975 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9976 a suitable video backend.
9977
aea664ea 99782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 Fix breakage in grub-setup.
9981
9982 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9983 "msdos_partition_map".
9984
ff747d50 99852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 Fix breakage in normal/auth.c.
9988
9989 * normal/auth.c (grub_iswordseparator): New function.
9990
e7e1f93f 99912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 Authentication support.
9994
9995 * commands/password.c: New file.
9996 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9997 (password_mod_SOURCES): New variable.
9998 (password_mod_CFLAGS): Likewise.
9999 (password_mod_LDFLAGS): Likewise.
10000 (normal_mod_SOURCES): Add normal/auth.c.
10001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
10002 normal/auth.c.
10003 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10004 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10005 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10008 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10009 * include/grub/auth.h: New file.
10010 * include/grub/err.h (grub_err_t): New enum value
10011 GRUB_ERR_ACCESS_DENIED.
10012 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
10013 'users'.
10014 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
10015 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
10016 users updated.
10017 * normal/auth.c: New file.
10018 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
10019 (grub_cmdline_run): Don't allow to go to command line without
10020 authentication.
10021 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
10022 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
10023 menuentry without superuser rights.
10024 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
10025 user isn't a superuser.
10026
70f1161d 100272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 Save space by inlining misc.c functions.
10030
10031 * kern/misc.c (grub_iswordseparator): Made static.
10032 * kern/misc.c (grub_strcat): Moved from here ...
10033 * include/grub/misc.h (grub_strcat): ... here. Inlined.
10034 * kern/misc.c (grub_strncat): Moved from here ...
10035 * include/grub/misc.h (grub_strncat): ... here. Inlined.
10036 * kern/misc.c (grub_strcasecmp): Moved from here ...
10037 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
10038 * kern/misc.c (grub_strncasecmp): Moved from here ...
10039 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
10040 * kern/misc.c (grub_isalpha): Moved from here ...
10041 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
10042 * kern/misc.c (grub_isdigit): Moved from here ...
10043 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
10044 * kern/misc.c (grub_isgraph): Moved from here ...
10045 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
10046 * kern/misc.c (grub_tolower): Moved from here ...
10047 * include/grub/misc.h (grub_tolower): ... here. Inlined.
10048
48e40bff 100492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * script/sh/function.c (grub_script_function_find): Cut error message
10052 not to flood terminal.
10053 * script/sh/lexer.c (grub_script_yylex): Remove command line length
10054 limit.
10055 * script/sh/script.c (grub_script_arg_add): Duplicate string.
10056
c385bfc3 100572009-08-24 Colin Watson <cjwatson@ubuntu.com>
10058
10059 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
10060 `report' grub_uint8_t *.
10061 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
10062 Use a 50-millisecond timeout rather than just repeating
10063 grub_usb_keyboard_getreport 50 times.
10064 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
10065
2d21e3e8 100662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 Rename *_partition_map to part_*
10069
10070 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
10071 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
10072 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
10073 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
10074 All users updated.
10075 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
10076 All users updated.
10077 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
10078 * util/grub-probe.c (probe_partmap): Don't transform partition name
10079 to get module name.
10080
dd103c4e 100812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 Fix OpenBSD and NetBSD support.
10084
10085 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
10086 memory address conflict.
10087 (OPENBSD_MMAP_ACPI): New definition.
10088 (OPENBSD_MMAP_NVS): Likewise.
10089 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
10090 and OPENBSD_MMAP_NVS.
10091 Add memory map terminator
10092 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 10093 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 10094
16c84d74 100952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 Let user specify NetBSD root device.
10098
10099 * loader/i386/bsd.c (netbsd_root): New variable.
10100 (netbsd_opts): New option 'root'.
10101 (NETBSD_ROOT_ARG): New macro.
10102 (grub_netbsd_boot): Use 'netbsd_root'.
10103 (grub_bsd_unload): Free 'netbsd_root'.
10104 (grub_cmd_netbsd): Fill 'netbsd_root'.
10105
adb29902 101062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 Support for 64-bit NetBSD.
10109
10110 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
10111 point when booting non-FreeBSD.
10112
f5ae9f74 101132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 Support --no-smp and --no-acpi for NetBSD.
10116
10117 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
10118 (NETBSD_AB_NOACPI): Likewise.
10119 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
10120 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
10121
de74f136 101222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
10125 errors.
10126 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
10127 errors. Call grub_error when needed.
10128
e9a925da 101292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * commands/search.c (search_fs): Try searching without autoload first.
10132 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10133 filesystem module explicitly for faster booting.
10134
5174302b 101352009-08-23 Colin Watson <cjwatson@ubuntu.com>
10136
10137 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
10138
c8c80635 101392009-08-23 Colin Watson <cjwatson@ubuntu.com>
10140
10141 * util/grub.d/30_os-prober.in: Disable os-prober if
10142 `GRUB_DISABLE_OS_PROBER' was set to true.
10143
71acf5e5 101442009-08-23 Robert Millan <rmh.grub@aybabtu.com>
10145
10146 * partmap/pc.c: Rename to ...
10147 * partmap/msdos.c: ... this. Update all users.
10148 (grub_pc_partition_map): Rename to ...
10149 (grub_msdos_partition_map): ... this. Update all users.
10150
10151 * parttool/pcpart.c: Rename to ...
10152 * parttool/msdospart.c: ... this. Update all users.
10153
10154 * include/grub/pc_partition.h: Rename to ...
10155 * include/grub/msdos_partition.h: ... this. Update all users.
10156 (grub_pc_partition_bsd_entry): Rename to ...
10157 (grub_msdos_partition_bsd_entry): ... this. Update all users.
10158 (grub_pc_partition_disk_label): Rename to ...
10159 (grub_msdos_partition_disk_label): ... this. Update all users.
10160 (grub_pc_partition_entry): Rename to ...
10161 (grub_msdos_partition_entry): ... this. Update all users.
10162 (grub_pc_partition_mbr): Rename to ...
10163 (grub_msdos_partition_mbr): ... this. Update all users.
10164 (grub_pc_partition): Rename to ...
10165 (grub_msdos_partition): ... this. Update all users.
10166 (grub_pc_partition_is_empty): Rename to ...
10167 (grub_msdos_partition_is_empty): ... this. Update all users.
10168 (grub_pc_partition_is_extended): Rename to ...
10169 (grub_msdos_partition_is_extended): ... this. Update all users.
10170 (grub_pc_partition_is_bsd): Rename to ...
10171 (grub_msdos_partition_is_bsd): ... this. Update all users.
10172
10173 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
10174 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
10175 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
10176 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
10177 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
10178 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
10179 (gpt_mod_LDFLAGS): Rename to ...
10180 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
10181 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
10182 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
10183 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
10184 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
10185 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
10186 (part_gpt_mod_LDFLAGS): ... this.
10187 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
10188 `pcpart.mod' to `msdospart.mod'.
10189 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
10190 to ...
10191 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
10192 (msdospart_mod_LDFLAGS): ... this.
10193
c11fded5 101942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
10197 (openbsd_opts): Likewise.
10198 (netbsd_opts): Likewise.
10199 (freebsd_flags): Added 0 terminator.
10200 (openbsd_flags): Likewise.
10201 (netbsd_flags): Likewise.
10202 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
10203 (grub_cmd_freebsd): Transformed into extended command.
10204 (grub_cmd_openbsd): Likewise.
10205 (grub_cmd_netbsd): Likewise.
10206 (cmd_freebsd): Changed type to grub_extcmd_t.
10207 (cmd_openbsd): Likewise.
10208 (cmd_netbsd): Likewise.
10209 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
10210 grub_cmd_openbsd as extended commands.
10211 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
10212 cmd_netbsd and cmd_openbsd
10213
11d1c769 102142009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
10217
7a9094e5 102182009-08-21 Pavel Roskin <proski@gnu.org>
10219
5496c37e 10220 * Makefile.in (install-local): When checking if a file is in the
10221 build directory, use "test -e" to detect symlinks.
10222
7a9094e5 10223 * Makefile.in (install-local): Remove all files in
10224 $(DESTDIR)$(pkglibdir) before installing new files there.
10225
e53cea11 102262009-08-18 Felix Zielcke <fzielcke@z-51.de>
10227
10228 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
10229 grub-mkelfimage.
10230
9aced544 102312009-08-18 Felix Zielcke <fzielcke@z-51.de>
10232
10233 * util/grub-mkconfig.in: Don't use gfxterm by default if not
10234 explicitly specified by the user.
10235
b7da6bab 102362009-08-18 Pavel Roskin <proski@gnu.org>
10237
10238 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
10239 grub_uint8_t pointer for data.
10240 * include/grub/fbutil.h (struct grub_video_fbblit_info):
10241 Likewise.
10242 * video/fb/fbutil.c: Remove unnecessary casts.
10243
19f1b335 102442009-08-17 Michal Suchanek <hramrach@centrum.cz>
10245
10246 VBE cleanup.
10247
10248 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
10249 (grub_vbe_set_video_mode): Save active mode info
10250 only after setting the mode.
10251 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
10252 second argument.
10253
2f467aa9 102542009-08-17 Michal Suchanek <hramrach@centrum.cz>
10255
10256 Rename variables for clarity.
10257
10258 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10259 (active_vbe_mode_info): ... this. All users updated.
10260 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10261 All users updated.
10262 (initial_mode): Rename to ...
10263 (initial_vbe_mode): ... this. All users updated.
10264 (mode_in_use): Rename to ..
10265 (vbe_mode_in_use): ... this. All users updated.
10266 (mode_list): Rename to ..
10267 (vbe_mode_list): ... this. All users updated.
10268 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10269 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10270 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10271 'mode_list_size' to 'vbe_mode_list_size'.
10272 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10273 'best_mode_info' to 'best_vbe_mode_info' and
10274 'best_mode' to 'best_vbe_mode'
10275
6025fcd7 102762009-08-17 Michal Suchanek <hramrach@centrum.cz>
10277
10278 Remove duplicate grub_video_fb_get_video_ptr.
10279
10280 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10281 (grub_video_fb_get_video_ptr): ... this.
10282 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10283 * video/fb/fbutil.c: Add comment about addressing.
10284 (get_data_ptr): Rename to ...
10285 (grub_video_fb_get_video_ptr): ... this. All users updated.
10286 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10287
cc8c6faf 102882009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10289
10290 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10291 grub_dprintf() that was just added.
10292
08aa61f0 102932009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10294
10295 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10296 (DEFAULT_VIDEO_MODE): Remove macros.
10297 (grub_linux_boot): Remove assumption that Linux has FB support,
10298 and use "text" as default video mode.
10299
7cef4f75 103002009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10303 grub_dprintf.
10304 * fs/fat.c (grub_fat_read_data): Likewise.
10305
e1f39873 103062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10309 payload.
10310 (grub_module): Likewise.
10311
c166d79e 103122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10315 mbi->cmdline but free playground.
10316
c60cee8e 103172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 Handle group offset on UFS1.
10320
10321 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10322 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10323
c0d8b5d4 103242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 Split ufs.mod into ufs1.mod and ufs2.mod.
10327
10328 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10329 (grub_fstest_SOURCES): Likewise.
10330 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10331 (ufs_mod_SOURCES): Remove.
10332 (ufs_mod_CFLAGS): Likewise.
10333 (ufs_mod_LDFLAGS): Likewise.
10334 (ufs1_mod_SOURCES): New variable.
10335 (ufs1_mod_CFLAGS): Likewise.
10336 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 10337 (ufs2_mod_SOURCES): New variable.
10338 (ufs2_mod_CFLAGS): Likewise.
10339 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 10340 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10341 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10342 Likewise.
10343 (grub_emu_SOURCES): Likewise.
10344 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10345 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10346 (grub_setup_SOURCES): Likewise.
10347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10348 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10349 (grub_setup_SOURCES): Likewise.
10350 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10351 Likewise.
10352 * fs/ufs2.c: New file.
10353 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10354
d3539132 103552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 Framebuffer split.
10358
10359 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10360 subsystem at the end.
10361 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10362 (video_fb_mod_SOURCES): New variable.
10363 (video_fb_mod_CFLAGS): Likewise.
10364 (video_fb_mod_LDFLAGS): Likewise.
10365 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10366 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10367 * video/i386/pc/vbeblit.c: Moved from here ...
10368 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10369 * video/i386/pc/vbefill.c: Moved from here ...
10370 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10371 * video/i386/pc/vbeutil.c: Moved from here ...
10372 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10373 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10374 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10375 * include/grub/i386/pc/vbefill.h: Moved from here ...
10376 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10377 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10378 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10379 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10380 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10381 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10382 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10383 (grub_video_adapter): Added 'get_info_and_fini'.
10384 (grub_video_get_info_and_fini): New prototype.
10385 (grub_video_set_mode): make modestring const char *.
10386 * loader/i386/linux.c (grub_linux_setup_video): Use
10387 grub_video_get_info_and_fini.
10388 (grub_linux_boot): Move modesetting just before booting.
10389 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10390 grub_video_get_info_and_fini.
10391 * video/i386/pc/vbe.c: Moved framebuffer part ...
10392 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10393 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10394 grub_video_fbstd_colors and grub_video_fb_set_palette.
10395 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10396 grub_video_fb_init.
10397 (grub_video_vbe_fini): Use grub_video_fb_fini.
10398 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10399 render_target and use grub_video_fb_set_active_render_target and
10400 grub_video_fb_set_palette.
10401 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10402 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10403 (grub_video_vbe_adapter): Use framebuffer.
10404 * video/video.c (grub_video_get_info_and_fini): New function.
10405 (grub_video_set_mode): Make modestring const char *.
10406 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10407 values are already initialised.
10408
d404ee56 104092009-08-14 Pavel Roskin <proski@gnu.org>
10410
10411 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10412 ABS and APPLE_CC.
10413 * boot/i386/pc/diskboot.S: Likewise.
10414 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10415 sectors allow compilation on MacOSX.
10416 * conf/i386-pc.rmk: Enable unconditional compilation of
10417 lnxboot.img.
10418
9a10df16 104192009-08-13 Colin Watson <cjwatson@ubuntu.com>
10420
10421 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10422 * util/grub.d/00_header.in: Enter interruptible sleep if
10423 GRUB_HIDDEN_TIMEOUT is set.
10424
be3c9ca7 104252009-08-13 Yves Blusseau <blusseau@zetam.org>
10426
10427 * include/grub/symbol.h: Add the LOCAL macro.
10428 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10429 starting with "L_".
10430
1f9e557e 104312009-08-13 Pavel Roskin <proski@gnu.org>
10432
9ca62843 10433 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10434 any modern compilers we support.
10435
1f9e557e 10436 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10437 Use local labels starting with "L_" so that Apple assembler
10438 knows they are local.
10439
81623db6 104402009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10441
10442 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10443 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10444 (bsd_kernel_types): ... this enum.
10445
10446 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10447 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10448 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10449
10450 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10451 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10452 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10453 messages.
10454
f5d35e7a 104552009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10456
10457 * util/grub-dumpdevtree: Moved from here ...
10458 * util/i386/efi/grub-dumpdevtree: ... to here.
10459 (hexify): New function. Converts a string to its hex version.
10460 Generate hex versions of "efi" and "device-properties" by calling
10461 hexify() on the ASCII strings rather than by hardcoding numbers.
10462
d1e1d527 104632009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10464
10465 * fs/jfs.c: Update copyright year.
10466
1ebbe064 104672009-08-08 Felix Zielcke <fzielcke@z-51.de>
10468
10469 * util/grub.d/00_header.in: Fix a comment.
10470 * util/grub.d/10_linux.in: Likewise.
10471 * util/grub.d/10_windows.in: Likewise.
10472 * util/grub.d/10_hurd.in: Likewise.
10473
a78c8d24 104742009-08-08 Felix Zielcke <fzielcke@z-51.de>
10475
10476 * util/grub-mkconfig.in: Allow the user to specify the used font
10477 with GRUB_FONT.
10478
29a6b9e8 104792009-08-08 Pavel Roskin <proski@gnu.org>
10480
b5f16cc4 10481 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10482 available, xfs.mod needs it now.
10483
2f5cb827 10484 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10485 the "g" modifier in sed when the intention is to strip something
10486 once. This fixes comparison of kernels with multiple dashes.
10487
29a6b9e8 10488 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10489 on it. Add missing space before closing bracket. Fix
10490 misleading formatting.
10491
892a3d98 104922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10493
10494 * docs/grub.texi: Major overhaul. Remove all sections that are
10495 specific to GRUB Legacy, or mostly composed of Legacy-specific
10496 information.
10497
ed94253f 104982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10499
10500 * docs/version.texi: New file. Provides version information for
10501 grub.texi.
10502
126d6628 105032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10504
10505 * docs/grub.texi: Update CVS information to SVN.
10506 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10507
998b5aa9 105082009-08-07 Felix Zielcke <fzielcke@z-51.de>
10509
10510 * util/grub-mkconfig.in: Remove a wrong `fi'.
10511
818e094a 105122009-08-07 Felix Zielcke <fzielcke@z-51.de>
10513
10514 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10515 (grub_jfs_uuid): New function.
10516 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10517
b969c52f 105182009-08-07 Felix Zielcke <fzielcke@z-51.de>
10519
10520 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10521 of it to ...
10522 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10523 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10524
7a4894cc 105252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10526
10527 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10528 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10529 Update all users.
10530
10531 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10532 not just "vmlinu[zx]".
10533 Moved from here ...
10534 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10535 all users.
10536
10537 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10538 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10539 all users.
10540
4e2171f8 105412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10542
10543 * util/grub.d/10_freebsd.in: Use an absolute device path for
10544 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10545
6dcfcb32 105462009-08-06 Felix Zielcke <fzielcke@z-51.de>
10547
10548 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10549 handling of multiple abstraction modules.
10550
f56a8756 105512009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10552
10553 Fix a bug resulting in black screen when loading Linux using a
10554 packed video mode.
10555
10556 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10557 function.
10558
10559 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10560 (grub_vbe_bios_getset_dac_palette_width): New function.
10561 (grub_vbe_bios_get_dac_palette_width)
10562 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10563 grub_vbe_bios_getset_dac_palette_width()).
10564
10565 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10566 check for return status.
10567 (grub_vbe_get_video_mode_info): When getting information for a packed
10568 mode (<= 8 bpp), obtain DAC palette width using
10569 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10570 {red,green,blue}_mark_size.
10571
222671b2 105722009-08-04 Felix Zielcke <fzielcke@z-51.de>
10573
ecb1a6d9 10574 * commands/search.c (options): Fix help output to match actual code.
222671b2 10575
f84114f5 105762009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10579 of homegrown code.
10580
bd288a20 105812009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 10582
10583 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10584 on XFS or ReiserFS.
10585
8aab5e25 105862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 Support Apple partition map with sector size different from 512 bytes.
10589
10590 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10591 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10592 and 'apart.partmap_size'.
10593
6ad6258a 105942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
105952009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10596
10597 Fix cpuid command.
10598
10599 * commands/i386/cpuid.c (options): New variable.
10600 (grub_cmd_cpuid): Return real error.
10601 (GRUB_MOD_INIT(cpuid)): Declare options.
10602
67459bc6 106032009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10606 valid.
10607
fbc6ab54 106082009-07-31 Bean <bean123ch@gmail.com>
10609
10610 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10611 log2_inode.
10612 (grub_fshelp_node): Move inode field to the end.
10613 (grub_xfs_data): Remove inode field.
10614 (grub_xfs_inode_block): Calculate inode size using sblock.
10615 (grub_xfs_inode_offset): Likewise.
10616 (grub_xfs_read_inode): Calculate inode size using sblock.
10617 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10618 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10619 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10620 to match inode size.
10621 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10622 not accessible when data is null.
10623 (grub_xfs_open): Likewise.
10624
f45d6cfc 106252009-07-31 Bean <bean123ch@gmail.com>
10626
10627 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10628 Don't change pv->disk if it's already set.
10629
10630 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10631 (grub_raid_register): ... here.
10632 (grub_raid_rescan): Removed.
10633
10634 * include/grub/raid.h (grub_raid_rescan): Removed.
10635
10636 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10637 (fstest): Replace grub_raid_rescan with module fini function followed
10638 by init function.
10639
10640 * util/grub-probe.c: Add include file <grub/raid.h>.
10641 (probe_raid_level): New function.
10642 (probe): Detect abstraction by walking the disk device, support two
10643 level of abstraction (LVM on RAID) when detecting partition map.
10644
24443b5a 106452009-07-31 Pavel Roskin <proski@gnu.org>
10646
10647 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10648 to grub_zalloc(), it was erroneous.
10649 Reported by Bean <bean123ch@gmail.com>
10650
a275d9e7 106512009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 10654 embedding zone, not only the first one.
a275d9e7 10655
56c5a47f 106562009-07-29 Joe Auricchio <jauricchio@gmail.com>
10657
10658 * term/gfxterm.c (clear_char): New function.
10659 (grub_virtual_screen_setup): Use clear_char.
10660 (scroll_up): Likewise.
10661 (grub_virtual_screen_cls): Likewise.
10662
67bb323a 106632009-07-29 Felix Zielcke <fzielcke@z-51.de>
10664
10665 * util/deviceiter.c (get_acceleraid_disk_name): New static
10666 function.
10667 (grub_util_iterate_devices): Handle Accelraid devices.
10668 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10669
388a7c75 106702009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10671
10672 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10673 separator for the suggested gfxpayload string (';' collides with the
10674 parser and needs escaping).
10675
3bb7abcf 106762009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10679 Clear direction flag before jumping to OS.
10680 (grub_multiboot2_real_boot): Likewise.
10681
2ddd36d7 106822009-07-28 Felix Zielcke <fzielcke@z-51.de>
10683
10684 * util/i386/pc/grub-install: Fix parsing of --disk-module
10685 option.
10686
c521b62b 106872009-07-28 Felix Zielcke <fzielcke@z-51.de>
10688
10689 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10690 when embedding.
10691
880e0a0c 106922009-07-26 Felix Zielcke <fzielcke@z-51.de>
10693
10694 * util/grub-mkconfig.in (package_version): New variable.
10695 Use it do display the version.
10696
2366e356 106972009-07-25 Felix Zielcke <fzielcke@z-51.de>
10698
10699 * kern/file.c (grub_file_open): Revert to previous check with
10700 grub_errno.
10701
7ad8c80e 107022009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10705 from help line. It's out of sync with code.
10706
72b9658b 107072009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10710 entries on failed boot.
10711
77435277 107122009-07-25 Felix Zielcke <fzielcke@z-51.de>
10713
10714 * kern/file.c (grub_file_open): Fix an error check.
10715
fcaa8b21 107162009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10717
35d16c74 10718 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10719 partition map couldn't be identified.
fcaa8b21 10720
48904cd1 107212009-07-23 Pavel Roskin <proski@gnu.org>
10722
ef3c317f 10723 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10724 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10725 case of little endian words becomes just an optimization.
10726 Respect const modifier.
ad8ea1f4 10727 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 10728
48904cd1 10729 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10730 to avoid loss of upper bits if align is unsigned and shorter
10731 than addr.
10732
260c9a89 107332009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 UUID support for UFS
10736
10737 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10738 (grub_ufs_uuid): New function.
10739 (grub_ufs_fs): add .uuid
10740
f76ce889 107412009-07-21 Pavel Roskin <proski@gnu.org>
10742
10743 * kern/dl.c (grub_dl_check_header): Make static.
10744
6a6cbcaf 107452009-07-21 Felix Zielcke <fzielcke@z-51.de>
10746
10747 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10748 add drivemap for Vista. It breaks Windows 7.
10749
cffcddb2 107502009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10753 128 bytes
10754
1ef44b80 107552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 Add BFS support
10758
10759 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10760 (grub_fstest_SOURCES): Likewise.
10761 (pkglib_MODULES): Add befs.mod.
10762 (befs_mod_SOURCES): New variable.
10763 (befs_mod_CFLAGS): Likewise.
10764 (befs_mod_LDFLAGS): Likewise.
10765 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10766 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10767 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10768 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10769 (grub_setup_SOURCES): Likewise.
10770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10771 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10772 (grub_setup_SOURCES): Likewise.
10773 * fs/befs.c: New file.
10774 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10775 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10776 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10777 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10778 (B_KEY_INDEX_ALIGN): New declaration.
10779 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10780 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10781 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10782 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10783 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10784 (grub_afs_mount) [MODE_BFS]: Likewise.
10785 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10786 (grub_afs_fs): Use GRUB_AFS_FSNAME
10787 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10788 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10789 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10790 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10791
4f253044 107922009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10793
10794 * util/getroot.c (find_root_device): Add support for MacOSX.
10795 * util/hostdisk.c: Likewise.
10796
57a55913 107972009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * font/font.c (find_glyph): Check whether a font is present to avoid
10800 segmentation fault.
75421ca9 10801
108022009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 10803
10804 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10805
e98cd0c2 108062009-07-20 Pavel Roskin <proski@gnu.org>
10807
10808 * configure.ac: Trim excessively wordy excuses.
10809
1d2d169a 108102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 Add symlink, mtime and label support to AtheFS.
10813
10814 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10815 (grub_afs_iterate_dir): Handle symlinks.
10816 (grub_afs_open): Use grub_afs_read_symlink.
10817 (grub_afs_dir): Likewise.
10818 Pass mtime.
10819 (grub_afs_label): New function.
10820 (grub_afs_fs): Add grub_afs_label.
10821 (grub_afs_read_symlink): New function.
10822
186f3189 108232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 Fix AtheFS support.
10826
10827 * fs/afs.c: Fix comments style.
10828 (grub_afs_blockrun): Declare as packed.
10829 (grub_afs_datastream): Likewise.
10830 (grub_afs_bnode): Likewise.
10831 (grub_afs_btree): Likewise.
10832 (grub_afs_sblock): Likewise.
10833 Declare `name' as char.
10834 (grub_afs_inode): Declare as packed.
10835 Change void *vnode to grub_uint32_t unused.
10836 (grub_afs_iterate_dir): Check that key_size is positive.
10837 (grub_afs_mount): Don't read superblock twice.
75421ca9 10838 (grub_afs_dir): Don't free node in case of error,
186f3189 10839 grub_fshelp_find_file already handles this.
10840 (grub_afs_open): Likewise.
10841
5680109e 108422009-07-19 Pavel Roskin <proski@gnu.org>
10843
10844 * Makefile.in: Remove LIBLZO and enable_lzo.
10845 * conf/i386-pc.rmk: Remove lzo support.
10846 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10847 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10848 support.
10849 * kern/i386/pc/lzo1x.S: Remove.
10850 * kern/i386/pc/startup.S: Remove lzo support.
10851 * util/i386/pc/grub-mkimage.c: Likewise.
10852
ac70fa32 108532009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10856 * fs/xfs.c (grub_xfs_dir): Likewise.
10857 * fs/afs.c (grub_afs_dir): Likewise.
10858 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10859 (grub_iso9660_open): Likewise.
10860 * fs/jfs.c (grub_jfs_open): Likewise.
10861 * fs/ext2.c (grub_ext2_dir): Likewise.
10862 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10863 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 10864
eab58da2 108652009-07-16 Pavel Roskin <proski@gnu.org>
10866
d2838156 10867 * configure.ac: Never add "-c" to CFLAGS.
10868
55c70904 10869 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10870
43e6200c 10871 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10872 grub_cv_cc_efiemu should be used.
10873
ce7a733d 10874 * configure.ac: Typo fixes.
10875
eab58da2 10876 * kern/mm.c (grub_zalloc): New function.
10877 (grub_debug_zalloc): Likewise.
10878 * include/grub/mm.h: Declare grub_zalloc() and
10879 grub_debug_zalloc().
10880 * util/misc.c (grub_zalloc): New function.
10881 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10882 instead of grub_malloc(), remove unneeded initializations.
10883 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10884 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10885 * commands/parttool.c (grub_cmd_parttool): Likewise.
10886 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10887 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10888 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10889 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10890 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10891 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10892 (grub_cmd_efiemu_pnvram): Likewise.
10893 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10894 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10895 (grub_iso9660_iterate_dir): Likewise.
10896 * fs/jfs.c (grub_jfs_opendir): Likewise.
10897 * fs/ntfs.c (list_file): Likewise.
10898 (grub_ntfs_mount): Likewise.
10899 * kern/disk.c (grub_disk_open): Likewise.
10900 * kern/dl.c (grub_dl_load_core): Likewise.
10901 * kern/elf.c (grub_elf_file): Likewise.
10902 * kern/env.c (grub_env_context_open): Likewise.
10903 (grub_env_set): Likewise.
10904 (grub_env_set_data_slot): Likewise.
10905 * kern/file.c (grub_file_open): Likewise.
10906 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10907 * loader/i386/multiboot.c (grub_module): Likewise.
10908 * loader/xnu.c (grub_xnu_create_key): Likewise.
10909 (grub_xnu_create_value): Likewise.
10910 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10911 (read_config_file): Likewise.
10912 * normal/menu_entry.c (make_screen): Likewise.
10913 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10914 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10915 * script/sh/script.c (grub_script_parse): Likewise.
10916 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10917 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10918 * video/readers/png.c (grub_png_output_byte): Likewise.
10919 (grub_video_reader_png): Likewise.
10920
830afef7 109212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 10922
10923 Enable all targets that can be built by default
10924
830afef7 10925 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 10926 grub-mkfont and grub-fstest if they can be built
10927
ee293aee 109282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 Fix hang and segmentation fault in grub-emu-usb
10931
10932 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10933 * util/usb.c (grub_libusb_devices): likewise
10934 (grub_libusb_init): rename to ...
10935 (GRUB_MOD_INIT (libusb)):...this
10936 (grub_libusb_fini): rename to ..
10937 (GRUB_MOD_FINI (libusb)):...this
10938 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10939 * include/grub/disk.h (grub_raid_init): removed, it's useless
10940 (grub_raid_fini): likewise
10941 (grub_lvm_init): likewise
10942 (grub_lvm_fini): likewise
10943 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10944 by grub_init_all
10945
94414221 109462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 Fix libusb
10949
10950 * Makefile.in (LIBUSB): new macro
10951 * genmk.rb (Utility/print_tail): new method
10952 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10953 (top level): call util.print_tail at the end.
10954
59ade63d 109552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 Make FreeBSD accept zpool.cache
10958
10959 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10960 type is /boot/zfs/zpool.cache
10961
a58da8c7 109622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Fix 64-bit efiemu
10965
10966 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10967 correct wrong typedef
10968 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10969
20591577 109702009-07-15 Pavel Roskin <proski@gnu.org>
10971
560ca572 10972 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10973 * kern/disk.c (struct grub_disk_cache): Likewise.
10974
e8e8e4fd 10975 * commands/probe.c (options): Typo fix.
10976
fde24e10 10977 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10978 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10979 accordingly.
10980 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10981
379c54c1 10982 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10983 the end of "Error" to make the message more readable.
10984
7bd8f5bf 10985 * boot/i386/pc/boot.S (kernel_segment): Remove.
10986 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10987 for destination.
10988
40b132c5 10989 * boot/i386/pc/boot.S (boot_version): Remove.
10990 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10991 Remove.
10992
20591577 10993 * include/grub/i386/pc/boot.h: Sort all offsets.
10994 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10995 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10996 * boot/i386/pc/boot.S: Assert location of every offset listed in
10997 include/grub/i386/pc/boot.h.
10998
2df32b2c 109992009-07-13 Pavel Roskin <proski@gnu.org>
11000
44b5d879 11001 * include/grub/i386/coreboot/machine.h: Rename
11002 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
11003 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
11004 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
11005
17dc3751 11006 * kern/dl.c: Force native word size to suppress warnings when
11007 compiling grub-emu.
11008
2df32b2c 11009 * kern/device.c (grub_device_iterate): Change struct part_ent to
11010 hold the name, not a pointer to it. Use one grub_malloc() per
11011 partition, not two. Free partition_name if grub_malloc() fails.
11012 Set ents to NULL only before grub_partition_iterate() is called.
11013
75c59f59 110142009-07-11 Bean <bean123ch@gmail.com>
11015
11016 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
11017 childname.
11018
0ae1bf88 110192009-07-10 Bean <bean123ch@gmail.com>
110202009-07-10 Robert Millan <rmh.grub@aybabtu.com>
11021
11022 * kern/ieee1275/openfw.c (grub_children_iterate)
11023 (grub_devalias_iterate): Fix size evaluation for property or path
11024 strings, which was broken since r2132.
11025
8279cade 110262009-07-07 Pavel Roskin <proski@gnu.org>
11027
7d8a52d3 11028 * commands/search.c (search_file): Merge into ...
11029 (search_fs): ... this. Accept search type as argument.
11030 (grub_cmd_search): Pass search type to search_fs().
11031
25f9a05a 11032 * include/grub/util/console.h: New file.
11033 * util/console.c: Use it instead of grub/machine/console.h.
11034 * util/grub-emu.c: Likewise.
11035
8279cade 11036 * lib/arg.c (find_long_option): Remove.
11037 (find_long): Add `len' argument, make `s' const char *.
11038 (grub_arg_parse): Parse long options in place, not in a
11039 temporary buffer.
11040
4a11b60f 110412009-07-06 Pavel Roskin <proski@gnu.org>
11042
99f68041 11043 * commands/search.c (search_fs): Fix potential NULL pointer
11044 dereference.
11045
4a11b60f 11046 * commands/search.c (search_fs): Replace QUID macro with quid_fn
11047 function pointer.
11048
e110f4de 110492009-07-06 Daniel Mierswa <impulze@impulze.org>
11050
11051 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
11052 comparison.
11053
46eeb6a2 110542009-07-05 Pavel Roskin <proski@gnu.org>
11055
bab74958 11056 * include/grub/i386/linux.h (struct linux_kernel_params):
11057 Restore padding3, it's still needed.
11058
46eeb6a2 11059 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
11060 FreeBSD.
11061 * util/osdetect.lua: Likewise.
11062
b4a1dc79 110632009-07-05 Bean <bean123ch@gmail.com>
11064
11065 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
11066
11067 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
11068 (grub_lua_getenv): Likewise.
11069 (grub_lua_setenv): Likewise.
11070 (save_errno): New function.
11071 (push_result): Likewise.
11072 (grub_lua_enum_device): Likewise.
11073 (grub_lua_enum_file): Likewise.
11074 (grub_lua_file_open): Likewise.
11075 (grub_lua_file_close): Likewise.
11076 (grub_lua_file_seek): Likewise.
11077 (grub_lua_file_read): Likewise.
11078 (grub_lua_file_getline): Likewise.
11079 (grub_lua_file_getsize): Likewise.
11080 (grub_lua_file_getpos): Likewise.
11081 (grub_lua_file_eof): Likewise.
11082 (grub_lua_file_exist): Likewise.
11083 (grub_lua_add_menu): Likewise.
11084
11085 * script/lua/grub_lua.h (isupper): New inline function.
11086 (islower): Likewise.
11087 (ispunct): Likewise.
11088 (isxdigit): Likewise.
11089 (strcspn): Change to normal function.
11090 (strpbkr): New function declaration.
11091 (memchr): Likewise.
11092
11093 * script/lua/grub_main.c (scan_str): New function.
11094 (strcspn): Likewise.
11095 (strpbrk): Likewise.
11096 (memchr): Likewise.
11097
11098 * script/lua/linit.c (lualibs): Enable the string library.
11099
11100 * util/osdetect.lua: New file.
11101
2da92295 111022009-07-04 Robert Millan <rmh.grub@aybabtu.com>
11103
11104 * include/grub/i386/linux.h (struct linux_kernel_params): Add
11105 `capabilities' member.
11106
b2582ec9 111072009-07-02 Pavel Roskin <proski@gnu.org>
11108
11109 * genparttoollist.sh: Add missing newline at the end.
11110
32622956 111112009-07-01 Pavel Roskin <proski@gnu.org>
11112
87a7339e 11113 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
11114
d23af54e 11115 * util/hostdisk.c (open_device): Remove `const' from
11116 `sysctl_size', as sysctlbyname() can change it (in this case it
11117 doesn't actually happen).
11118
c94b18a9 11119 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
11120 using signed long int constants.
11121
c6cd3ef0 11122 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
11123 constant to avoid a warning on FreeBSD.
11124
0df63420 11125 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
11126 where it's needed.
11127
999577f1 11128 * Makefile.in: Install include/grub/machine symlink.
11129
6f41557f 11130 * Makefile.in: When installing symlinks, use "cp -fR", which
11131 works on FreeBSD and MacOSX.
11132 From Yves Blusseau <cl7m42e02@sneakemail.com>
11133
c8d22988 11134 * kern/dl.c (grub_dl_resolve_symbol): Make static.
11135 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
11136
1b96e952 11137 * util/misc.c: Move grub_reboot() and grub_halt() ...
11138 * util/grub-emu.c: ... here. Make main_env static.
11139 * include/grub/util/misc.h: Remove main_env.
11140
2ef0084d 11141 * kern/mm.c: Use correct format to print size_t.
11142
32622956 11143 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
11144 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
11145 * kern/powerpc/dl.c: Likewise.
11146 * kern/sparc64/dl.c: Likewise.
11147 * kern/x86_64/dl.c: Likewise.
11148
3f7f0cd0 111492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11150
11151 Fix grub-emu build on sparc64-ieee1275.
11152
75421ca9 11153 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 11154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
11155
211d06b5 111562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11157
11158 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
11159 (grub_reboot, grub_halt): New functions.
11160
11161 * util/i386/pc/misc.c: Delete. Update all users.
11162 * util/sparc64/ieee1275/misc.c: Likewise.
11163 * util/powerpc/ieee1275/misc.c: Likewise.
11164
aaf53e3c 111652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11166
11167 * conf/i386.rmk (setjmp_mod_SOURCES)
11168 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
11169 * conf/common.rmk (setjmp_mod_SOURCES)
11170 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
11171 to use $(target_cpu).
11172 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
11173 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
11174 * conf/powerpc-ieee1275.rmk: Likewise.
11175 * conf/sparc64-ieee1275.rmk: Likewise.
11176
11177 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
11178 $(target_cpu) for kern/$(target_cpu)/dl.c.
11179 * conf/i386-efi.rmk: Likewise.
11180 * conf/i386-ieee1275.rmk: Likewise.
11181 * conf/x86_64-efi.rmk: Likewise.
11182 * conf/i386-coreboot.rmk: Likewise.
11183 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
11184 $(target_cpu) for kern/$(target_cpu)/dl.c and for
11185 kern/$(target_cpu)/cache.S.
11186 * conf/sparc64-ieee1275.rmk: Likewise.
11187
a337130b 111882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11189
11190 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
11191 type to `grub_uint8_t', and adjust `padding9' accordingly.
11192
c6fe4d53 111932009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11194
b09db61d 11195 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
11196
c6fe4d53 11197 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
11198 assembly in final jump, using register constraints.
11199
b09db61d 11200 (grub_linux_boot): For text mode, initialize `have_vga' using
11201 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
11202
11203 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
11204 right before the final jump.
11205
11206 Set `video_mode' to 0x3.
11207
11208 Document initialization of `video_page', `video_mode' and
11209 `video_ega_bx'.
11210
28333ad0 112112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11212
11213 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
11214 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 11215 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 11216
02164e1b 112172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11218
11219 Fix build on Debian / sparc.
11220
11221 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
11222
18b6c557 112232009-06-28 Pavel Roskin <proski@gnu.org>
11224
85f2aab6 11225 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
11226 fix a warning.
11227
18b6c557 11228 * util/grub.d/10_linux.in: Match SUSE style initrd names.
11229
ad760f81 112302009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11231
11232 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
11233 `err'.
11234
87a4623b 112352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11236
11237 Revert r2338.
11238
11239 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
11240 file can't be opened. grub_file_open() is already supposed to set
75421ca9 11241 grub_errno / grub_errmsg appropriately.
87a4623b 11242 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11243
8231fb77 112442009-06-27 Pavel Roskin <proski@gnu.org>
112452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11246
11247 * include/grub/dl.h: Include grub/elf.h.
11248 (struct grub_dl): Add symtab field.
11249 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
11250 GRUB_MODULES_MACHINE_READONLY.
11251 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
11252 of the header for read-only modules.
11253 (grub_dl_unload): Free mod->symtab for read-only modules.
11254 * kern/i386/dl.c: Use mod->symtab.
11255 * kern/powerpc/dl.c: Likewise.
11256 * kern/sparc64/dl.c: Likewise.
11257 * kern/x86_64/dl.c: Likewise.
11258
11259 * conf/i386-qemu.rmk: New file.
11260 * kern/i386/qemu/startup.S: Likewise.
11261 * kern/i386/qemu/mmap.c: Likewise.
11262 * boot/i386/qemu/boot.S: Likewise.
11263 * include/grub/i386/qemu/time.h: Likewise.
11264 * include/grub/i386/qemu/serial.h: Likewise.
11265 * include/grub/i386/qemu/kernel.h: Likewise.
11266 * include/grub/i386/qemu/console.h: Likewise.
11267 * include/grub/i386/qemu/boot.h: Likewise.
11268 * include/grub/i386/qemu/init.h: Likewise.
11269 * include/grub/i386/qemu/machine.h: Likewise.
11270 * include/grub/i386/qemu/loader.h: Likewise.
11271 * include/grub/i386/qemu/memory.h: Likewise.
11272
11273 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11274 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11275 [qemu] (pkglib_IMAGES): Add `boot.img'.
11276 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11277 [qemu] (boot_img_FORMAT): New variables.
11278 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11279 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11280 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11281 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11282 [qemu] (kernel_img_FORMAT): New variables.
11283
11284 * configure.ac: Recognise `i386-qemu'.
11285
11286 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11287 (for no compression).
11288 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11289 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11290 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11291 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11292 ifdefs).
11293
97fe384e 112942009-06-27 Pavel Roskin <proski@gnu.org>
11295
11296 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11297 read.
11298 * efiemu/prepare32.c: Likewise.
11299 * efiemu/prepare64.c: Likewise.
11300
c402ab17 113012009-06-26 Pavel Roskin <proski@gnu.org>
11302
11303 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11304 * include/grub/elf.h: Define symbols without "32" or "64" based
11305 on GRUB_TARGET_WORDSIZE.
11306 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11307 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11308 ELF definitions.
11309 * efiemu/loadcore64.c: Likewise.
11310 * loader/i386/bsd32.c: Likewise.
11311 * loader/i386/bsd64.c: Likewise.
11312 * kern/dl.c: Remove own ELF definitions.
11313 * util/i386/efi/grub-mkimage.c: Likewise.
11314
9bbdfd4d 113152009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11316
11317 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11318 segment 0x0 unconditionally, because the reference generated by
11319 GAS is an absolute address.
11320
a42ce6e9 113212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11322
11323 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11324 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11325
c952cf92 113262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11327
11328 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11329 indexes. Check for -f explicitly.
cc3752ad 11330 (search_file): Improve error message.
11331 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 11332
132a0a59 113332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11334
11335 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11336 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11337
387a140c 113382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11339
11340 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11341 * conf/i386-ieee1275.rmk: Likewise.
11342 * conf/i386-coreboot.rmk: Likewise.
11343
11344 * kern/i386/pc/startup.S (grub_stop): Remove function.
11345 * kern/i386/ieee1275/startup.S: Likewise.
11346 * kern/i386/coreboot/startup.S: Likewise.
11347 * kern/i386/misc.S (grub_stop): New function.
11348
41da9665 113492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11350
11351 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11352 * kern/i386/realmode.S (real_to_prot): ... to here.
11353
bf337234 113542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11355
11356 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11357 with `kernel.img'.
11358 (kernel_elf_SOURCES): Rename to ...
11359 (kernel_img_SOURCES): ... this.
11360 (kernel_elf_HEADERS): Rename to ...
11361 (kernel_img_HEADERS): ... this. Update all users.
11362 (kernel_elf_ASFLAGS): Rename to ...
11363 (kernel_img_ASFLAGS): ... this.
11364 (kernel_elf_CFLAGS): Rename to ...
11365 (kernel_img_CFLAGS): ... this.
11366 (kernel_elf_LDFLAGS): Rename to ...
11367 (kernel_img_LDFLAGS): ... this.
11368 * conf/i386-coreboot.rmk: Likewise.
11369 * conf/powerpc-ieee1275.rmk: Likewise.
11370
11371 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11372 with "kernel.img".
11373
f52196ff 113742009-06-21 Pavel Roskin <proski@gnu.org>
11375
c3cee413 11376 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11377 to match nested functions.
11378 * loader/sparc64/ieee1275/linux.c: Likewise.
11379
f52196ff 11380 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11381
58750afc 113822009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11383
11384 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11385 all i386 platforms.
11386
15355c7d 113872009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11388
11389 Fix asm file handling on ELF, and remove workarounds.
11390
11391 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 11392 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 11393 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11394 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11395
3f3ec72b 113962009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 Load BSD ELF modules
11399
11400 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11401 and loader/i386/bsd64.c
11402 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11403 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11404 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11405 (grub_freebsd_load_elfmodule32): New declaration
11406 (grub_freebsd_load_elfmoduleobj64): Likewise
11407 (grub_freebsd_load_elf_meta32): Likewise
11408 (grub_freebsd_load_elf_meta64): Likewise
11409 (grub_freebsd_add_meta): Likewise
11410 (grub_freebsd_add_meta_module): Likewise
11411 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11412 (grub_freebsd_add_meta_module): Likewise and move module-specific
11413 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11414 (grub_cmd_freebsd): Add elf-kernel specific parts
11415 based on grub_freebsd_add_meta_module
11416 (grub_cmd_freebsd_module): Add type parsing moved from
11417 grub_freebsd_add_meta_module
11418 (grub_cmd_freebsd_module_elf): New function
11419 (cmd_freebsd_module_elf): New variable
11420 (GRUB_MOD_INIT): Register freebsd_module_elf
11421 * loader/i386/bsd32.c: New file
11422 * loader/i386/bsd64.c: Likewise
11423 * loader/i386/bsdXX.c: Likewise
11424 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11425 (grub_elf64_load): Likewise
11426 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11427 All users updated
11428 (grub_elf64_load_hook_t): Likewise
11429
0db15301 114302009-06-21 Colin Watson <cjwatson@ubuntu.com>
11431
11432 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11433 variable.
11434 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11435 don't write a menu entry for recovery mode.
11436
546796c1 114372009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11438
11439 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11440 after it's no longer needed.
11441
cd7310d5 114422009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11443
11444 * include/grub/i386/loader.h (grub_linux_prot_size)
11445 (grub_linux_tmp_addr, grub_linux_real_addr)
11446 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11447 GRUB_MACHINE_PCBIOS.
11448 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11449 common grub_util_info() call to ...
11450 (generate_image): ... here.
11451 Fix use of uninitialized memory, comparison of signed with
11452 unsigned integers and memory leak.
11453 Remove bogus module address message.
11454
ab32d3b5 114552009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11458 grub_raid_register
11459 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11460
024ef597 114612009-06-19 Pavel Roskin <proski@gnu.org>
11462
11463 * configure.ac: Remove stray AC_MSG_CHECKING.
11464
3ac72b51 114652009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 11468
e14cd814 114692009-06-18 Pavel Roskin <proski@gnu.org>
11470
11471 * conf/common.rmk: Add fs_file.mod.
11472 * disk/fs_file.c: New file.
11473 * include/grub/disk.h (enum grub_disk_dev_id): Add
11474 GRUB_DISK_DEVICE_FILE_ID.
11475
26586d98 114762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 Fix build with Apple's toolchain. Part 2
11479
11480 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11481 a fake start
11482
26de2bcd 114832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 Fix build with Apple's toolchain. Part 1
11486
11487 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11488 for long calls
11489 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 11490 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 11491 Apple's toolchain
11492
09b3490b 114932009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 Fix warnings
11496
11497 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11498 (decomp_block): initialize ch
11499 use grub_memcpy instead of memcpy
11500
c22a006a 115012009-06-17 Pavel Roskin <proski@gnu.org>
11502
d3638678 11503 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11504 version, use declarations needed to use vga_text as the startup
11505 console.
11506
c22a006a 11507 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11508 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11509 the kernel.
11510 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11511 and grub_at_keyboard_fini(), it's done on module load and
11512 unload.
11513
05b129e0 115142009-06-17 Felix Zielcke <fzielcke@z-51.de>
11515
11516 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11517 file can't be found.
11518 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11519
cf24ed9e 115202009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Fix newline handling
11523
11524 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 11525 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 11526 (grub_script_yylex): don't segfault on unterminated script
11527 newline terminates command and variable
11528
74aa8e4b 115292009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 avoid double grub_adjust_range call. Bug reported by David Simner
11532
11533 * kern/disk.c (grub_disk_write): change to raw disk access before
11534 calling disk_read
11535
1bd265f3 115362009-06-17 Colin Watson <cjwatson@ubuntu.com>
11537
11538 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11539 spaces, for the benefit of help2man.
11540 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11541
a2d08c06 115422009-06-16 Pavel Roskin <proski@gnu.org>
11543
11544 * kern/i386/halt.c: Include grub/machine/init.h.
11545 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11546
b97bcb19 115472009-06-16 Felix Zielcke <fzielcke@z-51.de>
11548
11549 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11550 drivemap menuentry.
11551
0644f96c 115522009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11553
11554 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11555 `echo' command.
11556
3ef17a2e 115572009-06-16 Pavel Roskin <proski@gnu.org>
11558
11559 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11560 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11561 save %dx, we only need %dl and we never change it.
11562 * boot/i386/pc/cdboot.S: Don't set the root drive.
11563 * boot/i386/pc/pxeboot.S: Likewise.
11564 * include/grub/i386/pc/boot.h: Remove
11565 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11566 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11567 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11568 * kern/i386/pc/init.c (make_install_device): Remove references
11569 to grub_root_drive.
11570 * kern/i386/pc/startup.S: Likewise.
11571 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11572
693fe637 115732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 xnu_uuid command
11576
11577 * commands/xnu_uuid.c: new file
11578 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11579 (xnu_uuid_mod_SOURCES): new variable
11580 (xnu_uuid_mod_CFLAGS): likewise
11581 (xnu_uuid_mod_LDFLAGS): likewise
11582 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11583 * conf/i386-ieee1275.rmk: likewise
11584 * conf/i386-pc.rmk: likewise
11585 * conf/powerpc-ieee1275.rmk: likewise
11586 * conf/sparc64-ieee1275.rmk: likewise
11587 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11588
c9da87d0 115892009-06-16 Pavel Roskin <proski@gnu.org>
11590
11591 * configure.ac: Avoid '==' in test command, it's not portable.
11592
9c6f4596 115932009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 Probe command
11596
11597 * commands/probe.c: new file
11598 * conf/common.rmk (pkglib_MODULES): add probe.mod
11599 (probe_mod_SOURCES): new variable
11600 (probe_mod_CFLAGS): likewise
11601 (probe_mod_LDFLAGS): likewise
11602 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11603 * conf/i386-ieee1275.rmk: likewise
11604 * conf/i386-pc.rmk: likewise
11605 * conf/powerpc-ieee1275.rmk: likewise
11606 * conf/sparc64-ieee1275.rmk: likewise
11607
70b7f9fd 116082009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 Fix handling of string like \"hello\" and "a
11611 b"
11612
11613 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11614 (grub_script_yylex): fix parsing of quoting, escaping and newline
11615
71c79a6b 116162009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11617
dd74360c 11618 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 11619 handling
dd74360c 11620
0644f96c 116212009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 11622
11623 * util/grub-mkconfig.in: Fix parsing of --output option.
11624
e40893c3 116252009-06-12 Pavel Roskin <proski@gnu.org>
11626
11627 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11628 genmk.rb don't need to be generated or installed.
11629
3a1acfe2 116302009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * commands/i386/pc/drivemap_int13h.S: add more comments
11633
3a4575d4 116342009-06-11 Pavel Roskin <proski@gnu.org>
11635
0658e928 11636 * Makefile.in (uninstall): Uninstall manuals.
11637
ca0388f0 11638 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11639 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11640 and update-grub_lib in two places.
11641 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11642
e3b27c39 11643 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11644 a compiler warning.
11645
3a4575d4 11646 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11647 `entry_lo' to fix variable shadowing.
11648
af1f4f55 116492009-06-11 Christian Franke <franke@computer.org>
11650
11651 * kern/misc.c (__enable_execute_stack): Add missing return type
11652 to prevent gcc warning.
11653
5225e649 116542009-06-11 Felix Zielcke <fzielcke@z-51.de>
11655
11656 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11657
7d83bd47 116582009-06-11 Pavel Roskin <proski@gnu.org>
11659
c1cb63ba 11660 * Makefile.in: Don't rely on any scripts being executable.
11661 Always use $(SHELL) to run shell scripts.
11662
7d83bd47 11663 * configure.ac: Always define ___main if using -nostdlib. This
11664 fixes tests on Cygwin.
11665
948f48e7 116662009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11667
11668 UDF fix
11669
7d83bd47 11670 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 11671 is in bytes and not in blocks
7d83bd47 11672
8ada9bc1 116732009-06-11 Pavel Roskin <proski@gnu.org>
11674
11675 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11676 warning.
11677
25ad2323 116782009-06-11 Felix Zielcke <fzielcke@z-51.de>
11679
11680 * util/grub.d/30_os-prober.in: Fix a comment. Source
11681 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11682 to set the root device. Place drivemap command in the generated
11683 chain entry.
11684
e65acb0c 116852009-06-11 Pavel Roskin <proski@gnu.org>
11686
11687 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11688 have long been resolved.
11689
f285fe2d 116902009-06-11 Colin Watson <cjwatson@ubuntu.com>
11691
bd47b0b5 11692 * util/grub.d/10_linux.in: Capitalise "Linux".
11693
f285fe2d 11694 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11695
a0c62e4e 116962009-06-11 Pavel Roskin <proski@gnu.org>
11697
b6783cb2 11698 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11699 fix a gcc warning and ensure that the function won't ever exit.
11700
dde032e8 11701 * kern/i386/ieee1275/init.c: Add missing prototype for
11702 grub_stop_floppy().
11703
22cd079d 11704 * loader/ieee1275/multiboot2.c [__i386__]: Include
11705 grub/cpu/multiboot.h.
11706
a0c62e4e 11707 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11708 casts to short - they are not portable and cause warnings. Fix
11709 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11710
63963d17 117112009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 Drivemap fixes
11714
11715 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11716 new function
11717 (grub_get_root_biosnumber_saved): new variable
11718 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11719 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 11720 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 11721 %dx after the call if necessary
11722 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11723 (boot_mod_SOURCES): remove
11724 (boot_mod_CFLAGS): remove
11725 (boot_mod_LDFLAGS): remove
11726 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11727 (boot_mod_SOURCES): new variable
11728 (boot_mod_CFLAGS): likewise
11729 (boot_mod_LDFLAGS): likewise
11730 * conf/i386-efi.rmk: likewise
11731 * conf/i386-ieee1275.rmk: likewise
11732 * conf/i386-pc.rmk: likewise
11733 * conf/powerpc-ieee1275.rmk: likewise
11734 * conf/sparc64-ieee1275.rmk: likewise
11735 * conf/x86_64-efi.rmk: likewise
11736 * include/grub/i386/pc/biosnum.h: new file
11737 * lib/i386/pc/biosnum.c: likewise
11738 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11739 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11740 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 11741
33abf7ae 117422009-06-10 Pavel Roskin <proski@gnu.org>
11743
5ac35b35 11744 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11745 Use separate variables. Read only the file size at the end, but
11746 not the checksum that we don't use.
11747
5c5215d5 11748 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11749 Adjust all callers.
11750
27d5fef7 11751 * kern/ieee1275/openfw.c: Remove libc includes.
11752 * kern/ieee1275/cmain.c: Likewise.
11753 * include/grub/ieee1275/ieee1275.h: Likewise.
11754
33abf7ae 11755 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11756 compiler warnings.
11757
19d50c2b 117582009-06-10 Felix Zielcke <fzielcke@z-51.de>
11759
11760 * Makefile.in: Remove all trailing whitespace.
11761 * conf/i386-pc.rmk: Likewise.
11762 * conf/powerpc-ieee1275.rmk: Likewise.
11763 * conf/sparc64-ieee1275.rmk: Likewise.
11764 * docs/grub.texi: Likewise.
11765 * docs/texinfo.tex: Likewise.
11766 * disk/fs_uuid.c: Likewise.
11767 * disk/lvm.c: Likewise.
11768 * disk/scsi.c: Likewise.
11769 * disk/ata.c: Likewise.
11770 * disk/ieee1275/ofdisk.c: Likewise.
11771 * disk/i386/pc/biosdisk.c: Likewise.
11772 * disk/host.c: Likewise.
11773 * disk/raid.c: Likewise.
11774 * disk/efi/efidisk.c: Likewise.
11775 * disk/usbms.c: Likewise.
11776 * disk/memdisk.c: Likewise.
11777 * disk/loopback.c: Likewise.
11778 * kern/powerpc/dl.c: Likewise.
11779 * kern/device.c: Likewise.
11780 * kern/dl.c: Likewise.
11781 * kern/sparc64/dl.c: Likewise.
11782 * kern/ieee1275/ieee1275.c: Likewise.
11783 * kern/term.c: Likewise.
11784 * kern/fs.c: Likewise.
11785 * kern/i386/dl.c: Likewise.
11786 * kern/i386/pc/startup.S: Likewise.
11787 * kern/i386/pc/init.c: Likewise.
11788 * kern/i386/pc/mmap.c: Likewise.
11789 * kern/i386/pc/lzo1x.S: Likewise.
11790 * kern/i386/ieee1275/init.c: Likewise.
11791 * kern/i386/realmode.S: Likewise.
11792 * kern/i386/tsc.c: Likewise.
11793 * kern/partition.c: Likewise.
11794 * kern/corecmd.c: Likewise.
11795 * kern/file.c: Likewise.
11796 * kern/efi/efi.c: Likewise.
11797 * kern/efi/init.c: Likewise.
11798 * kern/efi/mm.c: Likewise.
11799 * kern/main.c: Likewise.
11800 * kern/err.c: Likewise.
11801 * kern/env.c: Likewise.
11802 * kern/disk.c: Likewise.
11803 * kern/generic/millisleep.c: Likewise.
11804 * kern/generic/rtc_get_time_ms.c: Likewise.
11805 * kern/misc.c: Likewise.
11806 * kern/parser.c: Likewise.
11807 * genmk.rb: Likewise.
11808 * configure.ac: Likewise.
11809 * boot/i386/pc/diskboot.S: Likewise.
11810 * boot/i386/pc/pxeboot.S: Likewise.
11811 * boot/i386/pc/boot.S: Likewise.
11812 * boot/i386/pc/lnxboot.S: Likewise.
11813 * boot/i386/pc/cdboot.S: Likewise.
11814 * parttool/pcpart.c: Likewise.
11815 * video/readers/tga.c: Likewise.
11816 * video/video.c: Likewise.
11817 * video/bitmap.c: Likewise.
11818 * lib/envblk.c: Likewise.
11819 * lib/i386/setjmp.S: Likewise.
11820 * fs/xfs.c: Likewise.
11821 * fs/afs.c: Likewise.
11822 * fs/fat.c: Likewise.
11823 * fs/ntfs.c: Likewise.
11824 * fs/udf.c: Likewise.
11825 * fs/affs.c: Likewise.
11826 * fs/iso9660.c: Likewise.
11827 * fs/hfs.c: Likewise.
11828 * fs/fshelp.c: Likewise.
11829 * fs/ext2.c: Likewise.
11830 * fs/jfs.c: Likewise.
11831 * fs/reiserfs.c: Likewise.
11832 * fs/hfsplus.c: Likewise.
11833 * fs/minix.c: Likewise.
11834 * fs/cpio.c: Likewise.
11835 * fs/sfs.c: Likewise.
11836 * fs/ufs.c: Likewise.
11837 * efiemu/prepare.c: Likewise.
11838 * efiemu/loadcore_common.c: Likewise.
11839 * efiemu/runtime/efiemu.sh: Likewise.
11840 * efiemu/runtime/efiemu.S: Likewise.
11841 * efiemu/runtime/efiemu.c: Likewise.
11842 * efiemu/pnvram.c: Likewise.
11843 * efiemu/main.c: Likewise.
11844 * efiemu/i386/pc/cfgtables.c: Likewise.
11845 * efiemu/i386/loadcore64.c: Likewise.
11846 * efiemu/i386/loadcore32.c: Likewise.
11847 * efiemu/loadcore.c: Likewise.
11848 * efiemu/symbols.c: Likewise.
11849 * efiemu/mm.c: Likewise.
11850 * include/grub/autoefi.h: Likewise.
11851 * include/grub/datetime.h: Likewise.
11852 * include/grub/term.h: Likewise.
11853 * include/grub/hfs.h: Likewise.
11854 * include/grub/lvm.h: Likewise.
11855 * include/grub/i386/tsc.h: Likewise.
11856 * include/grub/i386/linux.h: Likewise.
11857 * include/grub/i386/xnu.h: Likewise.
11858 * include/grub/i386/efiemu.h: Likewise.
11859 * include/grub/i386/pc/biosdisk.h: Likewise.
11860 * include/grub/i386/pc/memory.h: Likewise.
11861 * include/grub/i386/pc/vbe.h: Likewise.
11862 * include/grub/parttool.h: Likewise.
11863 * include/grub/video.h: Likewise.
11864 * include/grub/memory.h: Likewise.
11865 * include/grub/fs.h: Likewise.
11866 * include/grub/partition.h: Likewise.
11867 * include/grub/xnu.h: Likewise.
11868 * include/grub/efi/api.h: Likewise.
11869 * include/grub/efi/pe32.h: Likewise.
11870 * include/grub/efi/memory.h: Likewise.
11871 * include/grub/multiboot.h: Likewise.
11872 * include/grub/usbdesc.h: Likewise.
11873 * include/grub/multiboot2.h: Likewise.
11874 * include/grub/acpi.h: Likewise.
11875 * include/grub/efiemu/efiemu.h: Likewise.
11876 * include/grub/disk.h: Likewise.
11877 * include/grub/ieee1275/ieee1275.h: Likewise.
11878 * include/grub/net.h: Likewise.
11879 * include/grub/machoload.h: Likewise.
11880 * include/grub/macho.h: Likewise.
11881 * include/multiboot.h: Likewise.
11882 * genmoddep.awk: Likewise.
11883 * normal/main.c: Likewise.
11884 * normal/menu_entry.c: Likewise.
11885 * normal/menu_viewer.c: Likewise.
11886 * normal/completion.c: Likewise.
11887 * normal/cmdline.c: Likewise.
11888 * normal/misc.c: Likewise.
11889 * normal/datetime.c: Likewise.
11890 * bus/usb/usbtrans.c: Likewise.
11891 * bus/usb/ohci.c: Likewise.
11892 * bus/usb/uhci.c: Likewise.
11893 * bus/usb/usb.c: Likewise.
11894 * mmap/efi/mmap.c: Likewise.
11895 * mmap/i386/pc/mmap_helper.S: Likewise.
11896 * mmap/i386/pc/mmap.c: Likewise.
11897 * mmap/i386/mmap.c: Likewise.
11898 * mmap/i386/uppermem.c: Likewise.
11899 * mmap/mmap.c: Likewise.
11900 * commands/acpi.c: Likewise.
11901 * commands/echo.c: Likewise.
11902 * commands/blocklist.c: Likewise.
11903 * commands/loadenv.c: Likewise.
11904 * commands/usbtest.c: Likewise.
11905 * commands/boot.c: Likewise.
11906 * commands/parttool.c: Likewise.
11907 * commands/search.c: Likewise.
11908 * commands/cat.c: Likewise.
11909 * commands/i386/pc/play.c: Likewise.
11910 * commands/i386/pc/drivemap.c: Likewise.
11911 * commands/i386/pc/vbeinfo.c: Likewise.
11912 * commands/i386/pc/acpi.c: Likewise.
11913 * commands/i386/pc/vbetest.c: Likewise.
11914 * commands/ls.c: Likewise.
11915 * commands/cmp.c: Likewise.
11916 * commands/test.c: Likewise.
11917 * commands/efi/acpi.c: Likewise.
11918 * commands/gptsync.c: Likewise.
11919 * commands/help.c: Likewise.
11920 * partmap/amiga.c: Likewise.
11921 * partmap/apple.c: Likewise.
11922 * partmap/acorn.c: Likewise.
11923 * partmap/pc.c: Likewise.
11924 * partmap/sun.c: Likewise.
11925 * partmap/gpt.c: Likewise.
11926 * script/sh/lexer.c: Likewise.
11927 * script/sh/function.c: Likewise.
11928 * font/font.c: Likewise.
11929 * font/font_cmd.c: Likewise.
11930 * loader/powerpc/ieee1275/linux.c: Likewise.
11931 * loader/efi/chainloader.c: Likewise.
11932 * loader/multiboot_loader.c: Likewise.
11933 * loader/macho.c: Likewise.
11934 * loader/i386/multiboot.c: Likewise.
11935 * loader/i386/linux.c: Likewise.
11936 * loader/i386/pc/linux.c: Likewise.
11937 * loader/i386/pc/multiboot2.c: Likewise.
11938 * loader/i386/pc/chainloader.c: Likewise.
11939 * loader/i386/pc/xnu.c: Likewise.
11940 * loader/i386/bsd_trampoline.S: Likewise.
11941 * loader/i386/efi/linux.c: Likewise.
11942 * loader/i386/multiboot_elfxx.c: Likewise.
11943 * loader/i386/bsd_helper.S: Likewise.
11944 * loader/i386/bsd.c: Likewise.
11945 * loader/i386/linux_trampoline.S: Likewise.
11946 * loader/i386/xnu_helper.S: Likewise.
11947 * loader/i386/xnu.c: Likewise.
11948 * loader/i386/bsd_pagetable.c: Likewise.
11949 * loader/i386/multiboot_helper.S: Likewise.
11950 * loader/xnu.c: Likewise.
11951 * loader/xnu_resume.c: Likewise.
11952 * io/gzio.c: Likewise.
11953 * term/efi/console.c: Likewise.
11954 * term/terminfo.c: Likewise.
11955 * term/ieee1275/ofconsole.c: Likewise.
11956 * term/i386/pc/serial.c: Likewise.
11957 * term/i386/pc/vesafb.c: Likewise.
11958 * term/i386/pc/vga.c: Likewise.
11959 * term/usb_keyboard.c: Likewise.
11960 * term/gfxterm.c: Likewise.
11961 * aclocal.m4: Likewise.
11962 * util/lvm.c: Likewise.
11963 * util/grub.d/30_os-prober.in: Likewise.
11964 * util/grub.d/10_hurd.in: Likewise.
11965 * util/console.c: Likewise.
11966 * util/grub-macho2img.c: Likewise.
11967 * util/grub-probe.c: Likewise.
11968 * util/hostfs.c: Likewise.
11969 * util/i386/pc/grub-mkimage.c: Likewise.
11970 * util/i386/pc/grub-setup.c: Likewise.
11971 * util/i386/efi/grub-mkimage.c: Likewise.
11972 * util/grub-mkconfig.in: Likewise.
11973 * util/raid.c: Likewise.
11974 * util/resolve.c: Likewise.
11975 * util/grub-mkdevicemap.c: Likewise.
11976 * util/grub-emu.c: Likewise.
11977 * util/getroot.c: Likewise.
11978 * util/hostdisk.c: Likewise.
11979 * util/usb.c: Likewise.
11980 * util/grub-editenv.c: Likewise.
11981 * util/misc.c: Likewise.
11982
d2d49665 119832009-06-10 Felix Zielcke <fzielcke@z-51.de>
11984
11985 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11986 `genparttoollist.sh'.
11987 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11988 Add `*.sh' to the list find searches for and change `mdate.sh'
11989 to `mdate-sh'.
11990
fe052e37 119912009-06-10 Pavel Roskin <proski@gnu.org>
11992
2763ac18 11993 * include/grub/multiboot2.h: Provide compatibility defines for
11994 multiboot2.h.
11995 * include/multiboot2.h: Include stdint.h only if needed, using
11996 angle brackets.
11997 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11998 grub/multiboot2.h.
11999 * loader/ieee1275/multiboot2.c: Likewise.
12000 * loader/multiboot2.c: Likewise.
12001 * loader/multiboot_loader.c: Likewise.
12002
437e6adc 12003 * configure.ac: Use -nostdlib when probing for the target. It
12004 should not be required to have libc for the target.
12005
06a6836c 12006 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
12007 they fail without libc headers for the target.
12008 * include/grub/powerpc/libgcc.h: Use weak attribute for all
12009 exports.
12010 * include/grub/sparc64/libgcc.h: Likewise. Don't use
12011 preprocessor conditionals.
12012
fe052e37 12013 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
12014 build system doesn't need to be aware of the tar.c internals.
12015
afd22553 120162009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 12017
afd22553 12018 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 12019
6b787c4f 120202009-06-09 Robert Millan <rmh.grub@aybabtu.com>
12021
12022 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
12023 disk limit to 26 for IDE, Virtio, Xen and SCSI.
12024
120252009-06-09 Felix Zielcke <fzielcke@z-51.de>
12026
12027 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 12028 aren't available if ata.mod gets used.
6b787c4f 12029
473d1e45 120302009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 12031
473d1e45 12032 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 12033 initialising controller.
473d1e45 12034 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 12035
255a27d4 120362009-06-08 Felix Zielcke <fzielcke@z-51.de>
12037
12038 * util/i386/pc/grub-install.in: Add a parameter --disk-module
12039 to choose between ata and biosdisk module on i386-pc.
12040
473d1e45 120412009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 12042
d55842d8 12043 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
12044 Subclass and Programming Interface fields in terms of the 3 byte
12045 Class Code register.
12046 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12047
fa5db0b1 12048 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
12049 interface is OHCI. Add grub_dprintf for symmetry with
12050 bus/usb/uhci.c.
12051 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
12052 interface is UHCI. Add interf variable for programming
12053 interface. Print interface with class/subclass.
12054
c0947beb 12055 * bus/usb/ohci.c: Set interf with correct field.
12056
69da8877 12057 * bus/usb/uhci.c: Remove unneeded doubled lines.
12058 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
12059 Remove whitespace inside comment.
12060
9e172e30 120612009-06-08 Robert Millan <rmh.grub@aybabtu.com>
12062
12063 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
12064 as fallback an equivalent option without depth.
12065
de65ee2b 120662009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 Not fail if unable to retrieve C/H/S on LBA disks
12069
473d1e45 12070 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 12071 if unable to retrieve C/H/S on LBA disks
12072
b57ea2c9 120732009-06-08 Pavel Roskin <proski@gnu.org>
12074
12075 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
12076 about aliasing.
12077
af361263 120782009-06-08 Felix Zielcke <fzielcke@z-51.de>
12079
12080 * Makefile.in (uninstall): Remove all $lib_DATA files.
12081
4c9ec6b3 120822009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 Bugfix: install on partitionless device
12085
12086 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
12087 is a whole disk
12088
e76fc924 120892009-06-08 Felix Zielcke <fzielcke@z-51.de>
12090
12091 * Makefile.in (uninstall): Remove all $include_DATA files.
12092
ba5a0d05 120932009-06-08 Felix Zielcke <fzielcke@z-51.de>
12094
12095 * commands/true.c: New file. Implement the true and false commands.
12096 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
12097 (true_mod_SOURCES): New variable.
12098 (true_mod_CFLAGS): Likewise.
12099 (true_mod_LDFLAGS): Likewise.
12100
c8048e32 121012009-06-05 Colin D Bennett <colin@gibibit.com>
12102
12103 Optimized font character lookup using binary search instead of linear
12104 search. Fonts now are required to have the character index ordered by
12105 code point.
12106
12107 * font/font.c (load_font_index): Verify that fonts have ordered
12108 character indices.
12109 (find_glyph): Use binary search instead of linear search to find a
12110 character in a font.
12111
408305be 121122009-06-05 Michael Scherer <misc@mandriva.org>
12113
12114 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
12115 uses case sensitive btree.
12116 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
12117 only for case insensitive filesystems.
12118
8ee1e0d9 121192009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
12122 * conf/common.rmk (search_mod_CFLAGS): likewise
12123
a9966eb1 121242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12125
473d1e45 12126 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 12127 compensate a compiler bug
12128
9e7100fb 121292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12130
473d1e45 12131 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 12132 instead of '\b'
473d1e45 12133
ede21d71 121342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 Definitions for creating asm symbols with Apple's CC
12137
12138 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
12139 [APPLE_CC] (VARIABLE): likewise
12140
9dbf7653 121412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 Disable lnxboot.img when compiled
12144 with Apple's CC
12145
12146 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
12147 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
12148 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
12149 [! APPLE_CC] (CODE_LENG): skip
12150 [! APPLE_CC] (setup_sects): likewise
12151 [! APPLE_CC]: skip filling
473d1e45 12152
e93cdc3d 121532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 Address in trampolines based on 32-bit registers when compiled
12156 with Apple's CC
12157
473d1e45 12158 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 12159 for addresses
12160 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
12161
6c688477 121622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 Avoid aliases when compiling with Apple's CC for PCBIOS machine
12165
12166 * kern/misc.c [APPLE_CC] (memcpy): new function
12167 [APPLE_CC] (memmove): likewise
12168 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 12169 (memcpy): define alias conditionally on !APPLE_CC
6c688477 12170 (memset): likewise
12171 (abort): likewise
12172 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
12173 APPLE_CC are defined
12174 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
12175 (grub_assert_fail): make prototype conditional
12176
e37ffc5c 121772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12178
12179 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
12180
473d1e45 12181 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
12182 grub-macho2img
e37ffc5c 12183 (CLEANFILES): add grub-macho2img
12184 (grub_macho2img_SOURCES): new variable
12185 * kern/i386/pc/startup.S (bss_start): new variable
12186 (bss_end): likewise
12187 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
12188 * util/grub-macho2img.c: new file
12189
cf00df31 121902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 Use objconv when compiling with Apple's CC
12193
12194 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
12195 (efiemu64.o): likewise
12196 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
12197 when compiling with Apple's CC
12198 (efiemu64_s.o): likewise
12199 * configure.ac: check for objconv when compiling with Apple's CC
12200 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 12201
d119a20c 122022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 Define segment as well as section when compiling with
12205 Apple's CC
12206
12207 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
12208 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
12209 (efiemu_convert_pointer): likewise
12210 (efiemu_set_virtual_address_map): likewise
12211 (efiemu_convert_pointer): likewise
12212 (efiemu_getcrc32): likewise
12213 (init_crc32_table): likewise
12214 (reflect): likewise
12215 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
12216 (GRUB_MOD_DEP): likewise
473d1e45 12217
c8600122 122182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 Allow a compilation without -mcmodel=large
12221
12222 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
12223 when compiled without -mcmodel=large
473d1e45 12224 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 12225 without -mcmodel=large
473d1e45 12226 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 12227 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 12228
e8df1d4e 122292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Remove nested functions in efiemu core
12232
12233 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 12234
cc6c3ac1 122352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
12238
12239 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
12240 temporary storage
473d1e45 12241 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
12242 using Apple's CC
cc6c3ac1 12243 (grub_cpu_is_tsc_supported): likewise
12244 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 12245
3e325901 122462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 Absolute addressing through constant with Apple's cc
12249
12250 * kern/i386/pc/startup.S: Define necessary constants
12251 and address through it when using ABS with Apple's CC
12252 * boot/i386/pc/diskboot.S: likewise
12253 * boot/i386/pc/boot.S: likewise
12254 * boot/i386/pc/lnxboot.S: likewise
12255 * boot/i386/pc/cdboot.S: likewise
12256 * mmap/i386/pc/mmap_helper.S: likewise
12257 * commands/i386/pc/drivemap_int13h.S: likewise
12258
2b167a72 122592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 Check if compiler is apple cc
12262
12263 * Makefile.in (ASFLAGS): new variable
12264 (TARGET_ASFLAGS): likewise
12265 (TARGET_MODULE_FORMAT): likewise
12266 (TARGET_APPLE_CC): likewise
12267 (OBJCONV): likewise
12268 (TARGET_IMG_CFLAGS): likewise
12269 (TARGET_CPPFLAGS): add includedir
12270 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12271 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12272 Check for linker script only if compiler isn't Apple's CC
12273 (TARGET_MODULE_FORMAT): set
12274 (TARGET_APPLE_CC): likewise
12275 (TARGET_ASFLAGS): likewise
12276 (ASFLAGS): likewise
12277 Check for objcopy only if compiler isn't Apple's CC
12278 Check for BSS symbol only if compiler isn't Apple's CC
12279 * genmk.rb: adapt nm options if we use Apple's utils
12280 * aclocal.m4 (grub_apple_cc): new test
12281 (grub_apple_target_cc): likewise
473d1e45 12282
fb14123e 122832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 Simplify sed expressions and improve awk
12286
12287 * Makefile.in (install-local): simplify sed expression
12288 * gencmdlist.sh: likewise
12289 * genmoddep.awk: avoid adding module as a dependency of itself
12290
5b889789 122912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 Add missing start symbols
12294
12295 * boot/i386/pc/boot.S: add start
fb14123e 12296 * boot/i386/pc/pxeboot.S: likewise
473d1e45 12297
fd2bf2e3 122982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 12301
12302 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 12303 (relocate_addresses): consider both r_addend and value at offset
12304 (make_mods_section): zerofill modinfo and header
12305 (convert_elf): write prefix here
473d1e45 12306
5389763d 123072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 Use .asciz instead of .string
12310
12311 * i386/pc/diskboot.S: use .asciz instead of .string
12312 * i386/pc/boot.S: likewise
12313 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12314 (GRUB_MOD_NAME): likewise
473d1e45 12315
3eb5ed4e 123162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 gfxpayload support
12319
12320 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12321 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12322 (grub_video_setup): remove
12323 (grub_video_set_mode): new prototype
12324 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12325 (vid_mode): remove
12326 (linux_vesafb_res): compile only on PCBIOS
12327 (grub_linux_boot): support gfxpayload
12328 * loader/i386/pc/xnu.c (video_hook): new function
12329 (grub_xnu_set_video): support gfxpayload
12330 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12331 (DEFAULT_VIDEO_HEIGHT): likewise
12332 (DEFAULT_VIDEO_FLAGS): likewise
12333 (DEFAULT_VIDEO_MODE): new definition
12334 (video_hook): new function
12335 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 12336 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 12337 loading xnu
12338 * video/video.c (grub_video_setup): removed
473d1e45 12339 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 12340 grub_video_setup
12341
4b0e1143 123422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 Avoid calling biosdisk in drivemap
12345
12346 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12347 (revparse_biosdisk): likewise
12348 (list_mappings): derive name from id directly
12349 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 12350
fda6cb98 123512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 Script fixes
12354
12355 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12356 (grub_lexer_param): add tokenonhold
12357 (grub_script_create_cmdline): remove cmdline. All callers updated
12358 (grub_script_function_create): make functionname
12359 grub_script_arg. All callers updated
12360 (grub_script_execute_argument_to_string): new prototype
12361 * kern/parser.c (state_transitions): reorder
12362 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 12363 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 12364 make global
12365 (grub_script_execute_cmdline): use new format
12366 * script/sh/function.c (grub_script_function_create): make functionname
12367 grub_script_arg. All callers updated
473d1e45 12368 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 12369 (grub_script_yylex): remove
12370 (grub_script_yylex2): renamed to ...
12371 (grub_script_yylex): ...renamed
12372 parse the expressions like a${b}c
12373 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12374 (GRUB_PARSER_TOKEN_VAR): remove
12375 (GRUB_PARSER_TOKEN_NAME): likewise
12376 ("if"): declare as typeless
12377 ("while"): likewise
12378 ("function"): likewise
12379 ("else"): likewise
12380 ("then"): likewise
12381 ("fi"): likewise
12382 (text): remove
12383 (argument): likewise
12384 (script): accept empty scripts and make exit on error
12385 (arguments): use GRUB_PARSER_TOKEN_ARG
12386 (function): likewise
12387 (command): move error handling to script
12388 (menuentry): move grub_script_lexer_ref before
473d1e45 12389 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 12390 argument. All callers updated
12391
f4448a07 123922009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12393
12394 Prevent GRUB from probing floppies during boot.
12395
12396 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12397 * commands/search.c (options): Add --no-floppy.
12398 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12399 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12400 --no-floppy when searching for UUIDs.
12401
2bf5885a 124022009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12403
12404 Simplify the code duplication in commands/search.c.
12405
12406 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12407 (search_fs): ... this. Update all users.
12408
f6fd460a 124092009-06-03 Felix Zielcke <fzielcke@z-51.de>
12410
12411 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12412
cbb3c83e 124132009-05-28 Pavel Roskin <proski@gnu.org>
12414
57788cfd 12415 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12416 Remove the original symlink explicitly.
12417
cbb3c83e 12418 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12419 just one slash. That's how grub_fshelp_find_file() does it.
12420
cd0d5e30 124212009-05-26 Pavel Roskin <proski@gnu.org>
12422
f0f8bbe2 12423 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12424 to `str'.
12425
cd0d5e30 12426 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12427 possibly unused.
12428
8c2cab51 124292009-05-25 Christian Franke <franke@computer.org>
12430
12431 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12432 register.
12433 (grub_atapi_identify): Add wait after drive select.
12434 (grub_ata_identify): Do more strict status register check before
12435 calling grub_atapi_identify (). Suppress error message if status
12436 register is 0x00 after command failure. Add status register
12437 check after PIO read to avoid bogus identify due to stuck DRQ.
12438 Thanks to Pavel Roskin for testing.
12439 (grub_device_initialize): Remove unsafe status register check.
12440 Thanks to 'phcoder' for problem report and patch.
12441 Prevent sign extension in debug message.
12442
230c0ad6 124432009-05-23 Colin D Bennett <colin@gibibit.com>
12444
12445 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12446 definition file, and functions defined in `normal/menu.c' have had
12447 their prototypes moved to `include/grub/menu.h' for consistency.
12448
12449 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12450 from normal.h.
12451 (grub_menu_get_entry): Likewise.
12452 (grub_menu_get_timeout): Likewise.
12453 (grub_menu_set_timeout): Likewise.
12454 (grub_menu_execute_entry): Likewise.
12455 (grub_menu_execute_with_fallback): Likewise.
12456 (grub_menu_entry_run): Likewise.
12457
12458 * include/grub/normal.h: Re-ordered and grouped function
12459 prototypes by file that the function is defined in.
12460 (grub_menu_execute_callback): Removed; moved to menu.h.
12461 (grub_menu_get_entry): Likewise.
12462 (grub_menu_get_timeout): Likewise.
12463 (grub_menu_set_timeout): Likewise.
12464 (grub_menu_execute_entry): Likewise.
12465 (grub_menu_execute_with_fallback): Likewise.
12466 (grub_menu_entry_run): Likewise.
12467 (grub_menu_addentry): Renamed from this ...
12468 (grub_normal_add_menu_entry): ... to this.
12469
12470 * normal/main.c (grub_menu_addentry): Renamed from this ...
12471 (grub_normal_add_menu_entry): ... to this.
12472
12473 * script/sh/execute.c (grub_script_execute_menuentry): Update
12474 reference to renamed grub_menu_addentry function.
12475
861f03a5 124762009-05-23 Felix Zielcke <fzielcke@z-51.de>
12477
12478 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12479
96b1619a 124802009-05-22 Pavel Roskin <proski@gnu.org>
12481
bf6a5fb2 12482 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12483 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12484 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12485 compiling for the i386 targets, but not for the utilities.
12486
96b1619a 12487 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12488 to grub_uint8_t.
12489 (grub_root_drive): Likewise.
12490 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12491 remove alignment.
12492 (grub_root_drive): Change size to byte.
12493 (grub_start_addr): Remove.
12494 (grub_end_addr): Likewise.
12495 (grub_apm_bios_info): Likewise.
12496
b729776b 124972009-05-21 Felix Zielcke <fzielcke@z-51.de>
12498
12499 * normal/i386: Remove.
12500 * normal/powerpc: Likewise.
12501 * normal/sparc64: Likewise.
12502 * normal/x86_64: Likewise.
12503
0a15ce80 125042009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 12507 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 12508 * loader/i386/xnu_helper.S: Likewise
d6da58e6 12509
33db9015 125102009-05-18 Colin D Bennett <colin@gibibit.com>
12511
d6da58e6 12512 Display error messages when parsing a Lua statement fails.
12513 Previously, executing a syntactically invalid statement like
12514 ")foo" or "bar;" would silently fail.
33db9015 12515
12516 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 12517 (grub_lua_parse_line): Improved reporting of Lua parser and
12518 execution errors.
33db9015 12519
46422c89 125202009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 Remove -Werror which causes build to fail on some systems
12523
12524 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12525 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12526 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 12527
22f53a96 125282009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 trampoline for linux on 64-bit platform
12531
18f547ad 12532 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12533 loader/i386/efi/linux_trampoline.S
12534 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 12535 declaration
d6da58e6 12536 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12537 here
22f53a96 12538 * loader/i386/linux_trampoline.S: moved here
d6da58e6 12539 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12540 trampoline
22f53a96 12541 (jumpvector): removed
12542 (grub_linux_trampoline_start): new declaration
12543 (grub_linux_trampoline_end): likewise
12544 (grub_linux_boot): use trampoline when on 64-bit platform
12545 * loader/i386/linux.c: likewise
12546
cb5a0f40 125472009-05-16 Pavel Roskin <proski@gnu.org>
12548
12549 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12550 const to avoid a warning.
12551 (grub_lua_setenv): Likewise.
12552 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12553 lmsg to fix a warning.
12554
334f2c28 125552009-05-16 Felix Zielcke <fzielcke@z-51.de>
12556
12557 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 12558 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12559 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12560 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12561 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12562 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12563 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12564 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 12565
59e5d3ec 125662009-05-16 Felix Zielcke <fzielcke@z-51.de>
12567
12568 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12569
9d87a1ba 125702009-05-16 Bean <bean123ch@gmail.com>
12571
12572 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12573 (lua_mod_SOURCES): New variable.
12574 (lua_mod_CFLAGS): Likewise.
12575 (lua_mod_LDFLAGS): Likewise.
12576
12577 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12578 (setjmp_mod_SOURCES): New variable.
12579 (setjmp_mod_CFLAGS): Likewise.
12580 (setjmp_LDFLAGS): Likewise.
12581
12582 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12583 (setjmp_mod_SOURCES): New variable.
12584 (setjmp_mod_CFLAGS): Likewise.
12585 (setjmp_LDFLAGS): Likewise.
12586
12587 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12588 (setjmp_mod_SOURCES): New variable.
12589 (setjmp_mod_CFLAGS): Likewise.
12590 (setjmp_LDFLAGS): Likewise.
12591
12592 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12593 (setjmp_mod_SOURCES): New variable.
12594 (setjmp_mod_CFLAGS): Likewise.
12595 (setjmp_LDFLAGS): Likewise.
12596
12597 * normal/i386/setjmp.S: Moved from here ...
12598 * lib/i386/setjmp.S: ... Moved here
12599 * normal/x86_64/setjmp.S: Moved from here ...
12600 * lib/x86_64/setjmp.S: ... Moved here
12601 * normal/powerpc/setjmp.S: Moved from here ...
12602 * lib/powerpc/setjmp.S: ... Moved here
12603 * normal/sparc64/setjmp.S: Moved from here ...
12604 * lib/sparc64/setjmp.S: ... Moved here
12605
12606 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12607 returns_twice in mingw.
12608
12609 * script/lua/grub_lib.c: New file.
12610 * script/lua/grub_lib.h: Likewise.
12611 * script/lua/grub_lua.h: Likewise.
12612 * script/lua/grub_main.c: Likewise.
12613 * script/lua/lapi.c: Likewise.
12614 * script/lua/lapi.h: Likewise.
12615 * script/lua/lauxlib.c: Likewise.
12616 * script/lua/lauxlib.h: Likewise.
12617 * script/lua/lbaselib.c: Likewise.
12618 * script/lua/lcode.c: Likewise.
12619 * script/lua/lcode.h: Likewise.
12620 * script/lua/ldblib.c: Likewise.
12621 * script/lua/ldebug.c: Likewise.
12622 * script/lua/ldebug.h: Likewise.
12623 * script/lua/ldo.c: Likewise.
12624 * script/lua/ldo.h: Likewise.
12625 * script/lua/ldump.c: Likewise.
12626 * script/lua/lfunc.c: Likewise.
12627 * script/lua/lfunc.h: Likewise.
12628 * script/lua/lgc.c: Likewise.
12629 * script/lua/lgc.h: Likewise.
12630 * script/lua/linit.c: Likewise.
12631 * script/lua/liolib.c: Likewise.
12632 * script/lua/llex.c: Likewise.
12633 * script/lua/llex.h: Likewise.
12634 * script/lua/llimits.h: Likewise.
12635 * script/lua/lmathlib.c: Likewise.
12636 * script/lua/lmem.c: Likewise.
12637 * script/lua/lmem.h: Likewise.
12638 * script/lua/loadlib.c: Likewise.
12639 * script/lua/lobject.c: Likewise.
12640 * script/lua/lobject.h: Likewise.
12641 * script/lua/lopcodes.c: Likewise.
12642 * script/lua/lopcodes.h: Likewise.
12643 * script/lua/loslib.c: Likewise.
12644 * script/lua/lparser.c: Likewise.
12645 * script/lua/lparser.h: Likewise.
12646 * script/lua/lstate.c: Likewise.
12647 * script/lua/lstate.h: Likewise.
12648 * script/lua/lstring.c: Likewise.
12649 * script/lua/lstring.h: Likewise.
12650 * script/lua/lstrlib.c: Likewise.
12651 * script/lua/ltable.c: Likewise.
12652 * script/lua/ltable.h: Likewise.
12653 * script/lua/ltablib.c: Likewise.
12654 * script/lua/ltm.c: Likewise.
12655 * script/lua/ltm.h: Likewise.
12656 * script/lua/lua.h: Likewise.
12657 * script/lua/luaconf.h: Likewise.
12658 * script/lua/lualib.h: Likewise.
12659 * script/lua/lundump.c: Likewise.
12660 * script/lua/lundump.h: Likewise.
12661 * script/lua/lvm.c: Likewise.
12662 * script/lua/lvm.h: Likewise.
12663 * script/lua/lzio.c: Likewise.
12664 * script/lua/lzio.h: Likewise.
12665
5e898c9d 126662009-05-16 Bean <bean123ch@gmail.com>
12667
12668 * include/grub/kernel.h (grub_module_header_types): Add type
12669 OBJ_TYPE_CONFIG.
12670
12671 * kern/main.c (grub_load_config): New function.
12672 (grub_main): Call grub_load_config to read boot config.
12673
12674 * grub-mkimage (generate_image): New parameter config_path.
12675 (options): New option --config.
12676 (main): Parse --config option, and pass it to generate_image.
12677
cf353a47 126782009-05-14 Christian Franke <franke@computer.org>
12679
12680 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12681 This fixes build on Cygwin.
12682
3834887f 126832009-05-14 Pavel Roskin <proski@gnu.org>
12684
12685 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12686 jump. This saves two bytes, so the typical case of 2 swapped
12687 drives would fit 32 bytes.
12688
8090fc01 126892009-05-13 Pavel Roskin <proski@gnu.org>
12690
ac963883 12691 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12692 grub_uint32_t to avoid a warning.
12693
8090fc01 12694 * loader/i386/linux.c (allocate_pages): When assigning
12695 real_mode_mem, cast through grub_size_t to fix a warning. The
12696 code already makes sure that the value would fit a pointer.
12697 (grub_linux_setup_video): Cast render_target->data to
12698 grub_size_t to fix a warning.
12699
18f547ad 127002009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 12701
12702 * commands/i386/pc/drivemap.c: New file - implement drivemap
12703 command.
12704 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12705 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12706
6f6a8b28 127072009-05-13 Pavel Roskin <proski@gnu.org>
12708
12709 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12710 embedding_area_exists.
12711
15fbf4c4 127122009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12713
12714 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12715 it easier to understand / work with.
59978c8a 12716 Improve warning messages for cases where there's no embedding area,
12717 or when it is too small (or core.img too large).
15fbf4c4 12718
238e871f 127192009-05-13 Pavel Roskin <proski@gnu.org>
12720
0ab3a9a4 12721 * loader/i386/pc/multiboot2.c: Add necessary includes for
12722 grub_multiboot2_real_boot().
12723
a2c8c5f8 12724 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12725 PX record is always little-endian. We only need the lower 2
12726 bytes of the mode.
12727
faec96af 12728 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12729 facilitate code reuse.
12730 (grub_cpio_mount): Use "struct head", not a char buffer. This
12731 fixes a warning reported by gcc 4.4.
12732
238e871f 12733 * kernel/disk.c (grub_disk_read): Use void pointer for the
12734 buffer.
12735 (grub_disk_write): Use const void pointer for the buffer.
12736 Adjust all callers. Remove unnecessary casts.
12737
901d2f0c 127382009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12739
12740 * util/i386/pc/grub-install.in: Update copyright year.
12741
18f547ad 127422009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 12743
12744 gptsync
12745
12746 * commands/gptsync.c: new file
12747 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12748 (gptsync_mod_SOURCES): new variable
12749 (gptsync_mod_CFLAGS): likewise
12750 (gptsync_mod_LDFLAGS): likewise
18f547ad 12751 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 12752 new definition
12753 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12754 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12755 * conf/i386-ieee1275.rmk: likewise
12756 * conf/i386-pc.rmk: likewise
12757 * conf/powerpc-ieee1275.rmk: likewise
12758
b4ba690a 127592009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 Fixed grub-emu
12762
12763 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12764 (grub_dl_ref): likewise
12765
317e1a44 127662009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12767
12768 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12769 split in two functions (one for msdos and one for gpt).
12770
041b8094 127712009-05-08 Pavel Roskin <proski@gnu.org>
12772
752473c2 12773 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12774 not modified.
12775
041b8094 12776 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12777 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12778 Initialize them with -1. Add sanity check for bad1. Eliminate
12779 nerr variable.
12780
172800ce 127812009-05-08 David S. Miller <davem@davemloft.net>
12782
12783 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12784
29aa5e81 127852009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12786
12787 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 12788 existence.
29aa5e81 12789
96613b62 127902009-05-05 Felix Zielcke <fzielcke@z-51.de>
12791
12792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 12793 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 12794
eef73c8a 127952009-05-05 David S. Miller <davem@davemloft.net>
12796
12797 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12798
119494b5 127992009-05-05 Pavel Roskin <proski@gnu.org>
12800
12801 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12802 of grub_dl_ref() and grub_dl_unref().
12803 * commands/parttool.c: Remove preprocessor conditionals around
12804 grub_dl_ref() and grub_dl_unref().
12805 * fs/affs.c: Likewise.
12806 * fs/afs.c: Likewise.
12807 * fs/cpio.c: Likewise.
12808 * fs/ext2.c: Likewise.
12809 * fs/fat.c: Likewise.
12810 * fs/hfs.c: Likewise.
12811 * fs/hfsplus.c: Likewise.
12812 * fs/iso9660.c: Likewise.
12813 * fs/jfs.c: Likewise.
12814 * fs/minix.c: Likewise.
12815 * fs/ntfs.c: Likewise.
12816 * fs/reiserfs.c: Likewise.
12817 * fs/sfs.c: Likewise.
12818 * fs/udf.c: Likewise.
12819 * fs/ufs.c: Likewise.
12820 * fs/xfs.c: Likewise.
12821 * include/grub/dl.h: Likewise.
12822 * loader/xnu.c: Likewise.
12823
de5fd76e 128242009-05-04 Pavel Roskin <proski@gnu.org>
12825
12826 * commands/acpi.c: Remove unused variable my_mod.
12827 * partmap/amiga.c: Likewise.
12828 * partmap/apple.c: Likewise.
12829 * partmap/gpt.c: Likewise.
12830 * partmap/pc.c: Likewise.
12831 * partmap/sun.c: Likewise.
12832 * term/gfxterm.c: Likewise.
12833 * term/i386/pc/vesafb.c: Likewise.
12834 * term/i386/pc/vga.c: Likewise.
12835
983598ad 128362009-05-04 David S. Miller <davem@davemloft.net>
12837
12838 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12839 pointer args to grub_ieee1275_get_property().
12840
8aadec43 12841 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12842
9554b15e 12843 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12844 devices, and do not traverse down under controller nodes.
12845
67e23c90 12846 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12847 (grub_ofdisk_open): Use it to un-escape "," characters.
12848 * kern/disk.c (find_part_sep): New.
12849 (grub_disk_open): Use it to find the first non-escaped ','
12850 character in the disk name.
12851 * util/ieee1275/devicemap.c (escape_of_path): New.
12852 (grub_util_emit_devicemap_entry): Use it.
12853 * util/sparc64/ieee1275/grub-install.in: Update script to
12854 strip partition specifiers properly by not triggering on
12855 '\' escaped ',' characters.
12856
74bfdd2f 128572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12858
12859 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12860 to 0x300.
12861 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12862 resolutions.
12863 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12864 on documentation from Wikipedia).
12865
4241d2b1 128662009-05-04 Pavel Roskin <proski@gnu.org>
12867
12868 * disk/ata.c: Spelling fixes.
12869 * disk/raid.c: Likewise.
12870 * disk/usbms.c: Likewise.
12871 * disk/dmraid_nvidia.c: Likewise.
12872 * kern/ieee1275/openfw.c: Likewise.
12873 * kern/ieee1275/init.c: Likewise.
12874 * kern/ieee1275/cmain.c: Likewise.
12875 * boot/i386/pc/cdboot.S: Likewise.
12876 * video/readers/png.c: Likewise.
12877 * video/i386/pc/vbe.c: Likewise.
12878 * fs/udf.c: Likewise.
12879 * fs/hfs.c: Likewise.
12880 * fs/reiserfs.c: Likewise.
12881 * efiemu/runtime/efiemu.c: Likewise.
12882 * efiemu/main.c: Likewise.
12883 * efiemu/mm.c: Likewise.
12884 * include/grub/elf.h: Likewise.
12885 * include/grub/xnu.h: Likewise.
12886 * include/grub/usbdesc.h: Likewise.
12887 * include/grub/usb.h: Likewise.
12888 * include/grub/script_sh.h: Likewise.
12889 * include/grub/lib/LzmaEnc.h: Likewise.
12890 * include/grub/efiemu/efiemu.h: Likewise.
12891 * include/grub/command.h: Likewise.
12892 * normal/menu.c: Likewise.
12893 * normal/main.c: Likewise.
12894 * normal/datetime.c: Likewise.
12895 * bus/usb/uhci.c: Likewise.
12896 * mmap/i386/uppermem.c: Likewise.
12897 * mmap/mmap.c: Likewise.
12898 * commands/acpi.c: Likewise.
12899 * commands/test.c: Likewise.
12900 * partmap/apple.c: Likewise.
12901 * font/font.c: Likewise.
12902 * loader/sparc64/ieee1275/linux.c: Likewise.
12903 * loader/macho.c: Likewise.
12904 * loader/i386/bsd_trampoline.S: Likewise.
12905 * loader/i386/bsd.c: Likewise.
12906 * loader/xnu.c: Likewise.
12907 * term/i386/pc/vesafb.c: Likewise.
12908 * term/usb_keyboard.c: Likewise.
12909 * util/resolve.c: Likewise.
12910 * util/getroot.c: Likewise.
12911
0cfc0083 129122009-05-04 Felix Zielcke <fzielcke@z-51.de>
12913
12914 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12915
7c1d00cd 129162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12917
12918 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12919 build error.
12920
b01f0548 129212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12922
12923 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12924 parameter only available on BIOS.
12925
ecc3eb22 129262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 Removed wrong semicolon in declaration
12929
12930 * grub/misc.h (grub_dprintf): remove semicolon
12931
112972a9 129322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12933
12934 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12935 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12936 is done by grub_cmd_linux() now).
12937 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12938 restore video to text mode.
12939 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12940 indicates lack of "vga=" parameter. "vga=0" is mapped to
12941 `GRUB_LINUX_VID_MODE_NORMAL'.
12942
afd5c115 129432009-05-04 Felix Zielcke <fzielcke@z-51.de>
12944
12945 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12946 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12947 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 12948 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 12949 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12950 `grub_script.tab.c'.
12951
12952 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12953 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12955 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12956 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12957
faa517ce 12958 * Makefile.in: Remove duplicated 2008 in Copyright line.
12959
ae0c0bdc 129602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12961
473d1e45 12962 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 12963 unconditionally.
12964 * include/grub/util/misc.h (grub_util_warn): New declaration.
12965
12966 * util/i386/pc/grub-install.in: Understand --force and pass it down
12967 to grub-setup.
12968
12969 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12970 down to setup().
12971 (setup): Improve error messages and add warnings when requested to
12972 install in odd layouts. Refuse to install using blocklists unless
12973 --force was set.
12974
18f547ad 129752009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 12976
12977 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12978
6d260daa 129792009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 Updated copyright year
12982
12983 * fs/hfsplus.c: updated copyright year
18f547ad 12984
69f853f8 129852009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 HFS+ UUID
12988
18f547ad 12989 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 12990 in the space previously used by unused3
12991 (grub_hfsplus_uuid): new function
12992 (grub_hfsplus_fs): added uuid field
12993
4c402e73 129942009-05-03 Pavel Roskin <proski@gnu.org>
12995
12996 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12997 suppress warnings. It's no longer needed.
12998 * disk/host.c: Likewise.
12999 * disk/ata_pthru.c: Likewise.
13000 * disk/loopback.c: Likewise.
13001 * hook/datehook.c: Likewise.
13002 * parttool/pcpart.c: Likewise.
13003 * fs/i386/pc/pxe.c: Likewise.
13004 * fs/ntfscomp.c: Likewise.
13005 * efiemu/main.c: Likewise.
13006 * mmap/mmap.c: Likewise.
13007 * commands/crc.c: Likewise.
13008 * commands/hexdump.c: Likewise.
13009 * commands/hdparm.c: Likewise.
13010 * commands/acpi.c: Likewise.
13011 * commands/echo.c: Likewise.
13012 * commands/minicmd.c: Likewise.
13013 * commands/blocklist.c: Likewise.
13014 * commands/memrw.c: Likewise.
13015 * commands/loadenv.c: Likewise.
13016 * commands/usbtest.c: Likewise.
13017 * commands/lsmmap.c: Likewise.
13018 * commands/boot.c: Likewise.
13019 * commands/parttool.c: Likewise.
13020 * commands/configfile.c: Likewise.
13021 * commands/search.c: Likewise.
13022 * commands/ieee1275/suspend.c: Likewise.
13023 * commands/cat.c: Likewise.
13024 * commands/i386/pc/pxecmd.c: Likewise.
13025 * commands/i386/pc/play.c: Likewise.
13026 * commands/i386/pc/halt.c: Likewise.
13027 * commands/i386/pc/vbeinfo.c: Likewise.
13028 * commands/i386/pc/vbetest.c: Likewise.
13029 * commands/lspci.c: Likewise.
13030 * commands/date.c: Likewise.
13031 * commands/handler.c: Likewise.
13032 * commands/ls.c: Likewise.
13033 * commands/test.c: Likewise.
13034 * commands/cmp.c: Likewise.
13035 * commands/efi/loadbios.c: Likewise.
13036 * commands/efi/fixvideo.c: Likewise.
13037 * commands/halt.c: Likewise.
13038 * commands/help.c: Likewise.
13039 * commands/reboot.c: Likewise.
13040 * hello/hello.c: Likewise.
13041 * script/sh/main.c: Likewise.
13042 * loader/xnu.c: Likewise.
13043 * term/terminfo.c: Likewise.
13044 * term/i386/pc/serial.c: Likewise.
13045 * term/usb_keyboard.c: Likewise.
13046
515b5079 130472009-05-03 David S. Miller <davem@davemloft.net>
13048
13049 * normal/menu.c: Include grub/parser.h
13050
dfc31a22 130512009-05-03 Pavel Roskin <proski@gnu.org>
13052
2fee74f1 13053 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
13054 not char*.
13055 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
13056 Suggested by Javier Martín <lordhabbit@gmail.com>
13057
dfc31a22 13058 * util/i386/pc/grub-mkrescue.in: Allow for the case when
13059 efiemu??.o doesn't exist.
13060 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
13061 copying.
13062
18f547ad 130632009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 13064
13065 FreeBSD 64-bit support
13066
18f547ad 13067 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 13068 and loader/i386/bsd_trampoline.S
13069 (bsd_mod_ASFLAGS): new variable
13070 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
13071 (FREEBSD_MODTYPE_KERNEL64): likewise
13072 (grub_bsd64_trampoline_start): likewise
13073 (grub_bsd64_trampoline_end): likewise
13074 (grub_bsd64_trampoline_selfjump): likewise
13075 (grub_bsd64_trampoline_gdt): likewise
13076 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
13077 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
13078 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
13079 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 13080 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 13081 of "attrib" member
13082 * loader/i386/bsd_pagetable.c: new file
13083 * loader/i386/bsd_trampoline.S: likewise
13084 * loader/i386/bsd.c (ALIGN_QWORD): new macro
13085 (ALIGN_VAR): likewise
13086 (entry_hi): new variable
13087 (kern_end_mdofs): likewise
13088 (is_64bit): likewise
13089 (grub_freebsd_add_meta): use ALIGN_VAR
13090 (grub_e820_mmap): new declaration
13091 (grub_freebsd_add_mmap): new function
13092 (grub_freebsd_add_meta_module): support 64 bit kernels
13093 (grub_freebsd_list_modules): use ALIGN_VAR
13094 (gdt_descriptor): new declaration
13095 (grub_freebsd_boot): support 64 bit kernels
13096 (grub_bsd_elf64_hook): new function
13097 (grub_bsd_load_elf): support elf64
13098
038c5720 130992009-05-03 Bean <bean123ch@gmail.com>
13100
13101 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
13102 after we get the result of if statement.
13103
fc45fb58 131042009-05-03 Bean <bean123ch@gmail.com>
13105
13106 * Makefile.in (enable_efiemu): New variable.
13107
13108 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
13109 set.
13110 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
13111 path.
13112 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
13113 path, add -mno-red-zone option.
13114 (efiemu64_s.o): Likewise.
13115 (efiemu64.o): Use macro $^ for source file.
13116
13117 * configure.ac (--enable-efiemu): New option.
13118
bbee0f2b 131192009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 xnu support
13122
13123 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
13124 (pkglib_MODULES): add xnu.mod
13125 (xnu_mod_SOURCES): new variable
13126 (xnu_mod_CFLAGS): likewise
13127 (xnu_mod_LDFLAGS): likewise
13128 (xnu_mod_ASFLAGS): likewise
13129 * conf/i386-pc.rmk: likewise
13130 * conf/x86_64-efi.rmk: likewise
7dd4a573 13131 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 13132 new declaration
13133 * include/grub/i386/macho.h: new file
13134 * include/grub/i386/xnu.h: likewise
13135 * include/grub/macho.h: likewise
13136 * include/grub/machoload.h: likewise
13137 * include/grub/x86_64/macho.h: likewise
13138 * include/grub/x86_64/xnu.h: likewise
13139 * include/grub/xnu.h: likewise
13140 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
13141 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
13142 * loader/i386/efi/xnu.c: new file
13143 * loader/i386/pc/xnu.c: likewise
13144 * loader/i386/xnu.c: likewise
13145 * loader/i386/xnu_helper.S: likewise
13146 * loader/macho.c: likewise
13147 * loader/xnu.c: likewise
13148 * loader/xnu_resume.c: likewise
13149 * util/grub-dumpdevtree: likewise
13150 * include/grub/i386/pit.h: include grub/err.h
13151 (grub_pit_wait): export
13152 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 13153
5caf964d 131542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 Efiemu
7dd4a573 13157
5caf964d 13158 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 13159 _linux_efi, linux_efi.
13160 new files in grub-emu
5caf964d 13161 new targets efiemu32.o and efiemu64.o
13162 * loader/linux_normal_efiemu.c: likewise
13163 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 13164 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 13165 files to copy
13166 * include/grub/autoefi.h: new file
7dd4a573 13167 * include/grub/i386/efiemu.h: likewise
5caf964d 13168 * include/grub/i386/pc/efiemu.h: likewise
13169 * include/grub/efi/api.h: add LL suffix when necessary
13170 new definitions relating to tables
13171 * include/grub/efiemu/efiemu.h: new file
13172 * include/grub/efiemu/runtime.h: likewise
13173 * efiemu/prepare.c: likewise
13174 * efiemu/loadcore_common.c: likewise
13175 * efiemu/loadcore64.c: likewise
13176 * efiemu/runtime/efiemu.sh: likewise
13177 * efiemu/runtime/efiemu.S: likewise
13178 * efiemu/runtime/efiemu.c: likewise
13179 * efiemu/runtime/config.h: likewise
13180 * efiemu/prepare32.c: likewise
13181 * efiemu/main.c: likewise
13182 * efiemu/modules/pnvram.c: likewise
13183 * efiemu/modules/i386: likewise
13184 * efiemu/modules/i386/pc: likewise
13185 * efiemu/modules/acpi.c: likewise
13186 * efiemu/i386/pc/cfgtables.c: likewise
13187 * efiemu/i386/loadcore64.c: likewise
13188 * efiemu/i386/loadcore32.c: likewise
13189 * efiemu/prepare64.c: likewise
13190 * efiemu/loadcore.c: likewise
13191 * efiemu/symbols.c: likewise
13192 * efiemu/mm.c: likewise
13193 * efiemu/loadcore32.c: likewise
7dd4a573 13194
131952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 13196
13197 ACPI spoofing
13198
13199 * commands/acpi.c: new file
13200 * commands/i386/pc/acpi.c: likewise
13201 * commands/efi/acpi.c: likewise
13202 * include/grub/acpi.h: likewise
13203 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
13204 (acpi_mod_SOURCES): new variable
13205 (acpi_mod_CFLAGS): likewise
13206 (acpi_mod_LDFLAGS): likewise
13207 * conf/i386-efi.rmk: likewise
13208 * conf/x86_64-efi.rmk: likewise
13209
7dd4a573 132102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 13211
13212 Missing part from mmap patch
13213
13214 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
13215 (grub_mmap_unregister)
13216 (grub_mmap_free_and_unregister): use grub_mmap_register
13217
7dd4a573 132182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 13219
13220 Mmap services
13221
13222 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
13223 * loader/i386/linux.c (find_mmap_size): likewise
13224 (allocate_pages): likewise
13225 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
13226 (grub_fill_multiboot_mmap): likewise
13227 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
13228 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
13229 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
13230 (OPENBSD_MMAP_RESERVED): likewise
13231 * include/grub/i386/pc/memory.h: include grub/memory.h
13232 (grub_lower_mem): removed
13233 (grub_upper_mem): likewise
13234 (GRUB_MACHINE_MEMORY_ACPI): new definition
13235 (GRUB_MACHINE_MEMORY_NVS): likewise
13236 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
13237 (GRUB_MACHINE_MEMORY_HOLE): likewise
13238 (grub_machine_mmap_register): likewise
13239 (grub_machine_mmap_unregister): likewise
13240 (grub_machine_get_upper): likewise
13241 (grub_machine_get_lower): likewise
13242 (grub_machine_get_post64): likewise
13243 * include/grub/i386/efi/memory.h: new file
13244 * include/grub/x86_64/efi/memory.h: likewise
13245 * include/grub/efi/memory.h: likewise
13246 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
13247 (mmap_mod_SOURCES): new variable
13248 (mmap_mod_LDFLAGS): likewise
13249 (mmap_mod_ASFLAGS): likewise
13250 * conf/i386-coreboot.rmk: likewise
13251 * conf/i386-ieee1275.rmk: likewise
13252 * conf/i386-efi.rmk: likewise
13253 * conf/x86_64-efi.rmk: likewise
13254 * include/grub/types.h (UINT_TO_PTR): new macro
13255 (PTR_TO_UINT32): likewise
13256 (PTR_TO_UINT64): likewise
13257 * include/grub/memory.h: new file
13258 * mmap/i386/pc/mmap.c: likewise
13259 * mmap/i386/pc/mmap_helper.S: likewise
13260 * mmap/i386/uppermem.c: likewise
13261 * mmap/mmap.c: likewise
13262 * mmap/efi/mmap.c: likewise
7dd4a573 13263 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 13264 grub_upper_mem
13265 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13266 (grub_upper_mem): likewise
13267 (grub_machine_init): don't use grub_upper_mem,
13268 make grub_lower_mem local
13269 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13270 grub_mmap_iterate and grub_mmap_get_upper
13271 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13272
d558e6b5 132732009-05-02 Bean <bean123ch@gmail.com>
13274
13275 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13276 script/sh/parser.y.
13277 (pkglib_MODULES): Add normal.mod and sh.mod.
13278 (normal_SOURCES): New variable.
13279 (normal_mod_CFLAGS): Likewise.
13280 (normal_mod_LDFLAGS): Likewise.
13281 (sh_mod_SOURCES): Likewise.
13282 (sh_mod_CFLAGS): Likewise.
13283 (sh_mod_LDFLAGS): Likewise.
13284
13285 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13286 script/sh/lexer.c_DEPENDENCIES.
13287 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13288 kern/rescue_reader.c and kern/rescue_parser.c.
13289 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13290 (grub_emu_SOURCES): Change source files.
13291 (pkglib_MODULES): Remove normal.mod.
13292 (normal_SOURCES): Removed.
13293 (normal_mod_CFLAGS): Likewise.
13294 (normal_mod_LDFLAGS): Likewise.
13295 * conf/i386-coreboot.rmk: Likewise.
13296 * conf/i386-efi.rmk: Likewise.
13297 * conf/i386-ieee1276.rmk: Likewise.
13298 * conf/powerpc-ieee1275.rmk: Likewise.
13299 * conf/sparc64-ieee1275.rmk: Likewise.
13300 * conf/x86_64-efi.rmk: Likewise.
13301
13302 * include/grub/command.h (grub_command_execute): New inline function.
13303
13304 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13305
13306 * include/grub/normal.h: Remove <grub/setjmp.h>.
13307 (grub_fs_module_list): Moved to normal/autofs.c.
13308 (grub_exit_env): Removed.
13309 (grub_command_execute): Likewise.
13310 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13311 parameter script.
13312 (read_command_list): New function declaration.
13313 (read_fs_list): Likewise.
13314
13315 * include/parser.h: Include <grub/reader.h>.
13316 (grub_parser_split_cmdline): Change type of getline parameter.
13317 (grub_parser): New structure.
13318 (grub_parser_class): New variable.
13319 (grub_parser_execute): New function declaration.
13320 (grub_register_rescue_parser): Likewise.
13321 (grub_parser_register): New inline function.
13322 (grub_parser_unregister): Likewise.
13323 (grub_parser_get_current): Likewise.
13324 (grub_parser_set_current): Likewise.
13325
13326 * include/grub/reader.h: New file.
13327 * kern/reader.c: Likewise.
13328 * kern/rescue_parser.c: Likewise.
13329 * kern/rescue_reader.c: Likewise.
13330 * normal/autofs.c: Likewise.
13331 * normal/dyncmd.c: Likewise.
13332
13333 * include/grub/rescue.h: Removed.
13334 * normal/command.h: Likewise.
13335
13336 * include/grub/script.h: Moved to ...
13337 * include/grub/script_sh.h: ... Moved here.
13338 * normal/execute.c: Moved to ...
13339 * script/sh/execute.c: ... Moved here.
13340 * normal/function.c: Moved to ...
13341 * script/sh/function.c: ... Moved here.
13342 * normal/lexer.c: Moved to ...
13343 * script/sh/lexer.c: ... Moved here.
13344 * normal/parser.y: Moved to ...
13345 * script/sh/parser.y: ... Moved here.
13346 * normal/script.c: Moved to ...
13347 * script/sh/script.c: ... Moved here.
13348
13349 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13350 <grub/reader.h>.
13351 (grub_exit_env): Removed.
13352 (fs_module_list): Moved to normal/autofs.c.
13353 (grub_file_getline): Don't handle comment here.
13354 (free_menu): Skip removed field entry->commands.
13355 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13356 script parameter.
13357 (read_config_file): Removed nested parameter, change getline function.
13358 (grub_enter_normal_mode): Removed.
13359 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13360 (read_command_list): Likewise.
13361 (autoload_fs_module): Moved to normal/autofs.c.
13362 (read_fs_list): Likewise.
13363 (reader_nested): New variable.
13364 (grub_normal_execute): Run parser.sh to switch to sh parser.
13365 (grub_cmd_rescue): Removed.
13366 (cmd_normal): Removed.
13367 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13368 rescue command.
13369 (grub_cmdline_run): New function.
13370 (grub_normal_reader_init): Likewise.
13371 (grub_normal_read_line): Likewise.
13372 (grub_env_write_pager): Likewise.
13373 (cmdline): New variable.
13374 (grub_normal_reader): Likewise.
13375 (GRUB_MOD_INIT): Register normal reader and set as current, register
13376 pager hook, register normal command with grub_register_command_prio,
13377 so that it won't show up in command.lst.
13378 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13379 grub_fs_autoload_hook.
13380
13381 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13382 (grub_menu_execute_entry): Replace grub_script_execute with
13383 grub_parser_execute, change parameter to grub_command_execute.
13384
13385 * normal/menu_text.c: Remove <grub/script.h>.
13386
13387 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13388 and <grub/parser.h>.
13389 (run): Change editor_getline to use new parser interface. Change
13390 parameter to grub_command_execute.
13391
13392 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13393 <grub/reader.h> and <grub/parser.h>.
13394 (grub_load_normal_mode): Execute normal command.
13395 (grub_main): Call grub_register_core_commands,
13396 grub_register_rescue_parser and grub_register_rescue_reader, use
13397 grub_reader_loop to enter input loop.
13398
7dd4a573 13399 * kern/parser.c (grub_parser_split_cmdline): Change type of
13400 getline parameter.
d558e6b5 13401 (grub_parser_class): New variable.
13402 (grub_parser_execute): New function.
13403
13404 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13405 * loader/multiboot2.c: Likewise.
13406 * loader/sparc64/ieee1275/linux.c: Likewise.
13407
13408 * util/grub-emu.c (read_command_list): New dummy function.
13409
18db813d 134102009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13411
13412 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13413 count to 16 for CCISS and IDA.
13414
6c67de15 134152009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13416
13417 * normal/menu_text.c (grub_wait_after_message): Print a newline
13418 after waiting for user input.
13419
13420 * loader/i386/linux.c: Include `<grub/normal.h>'.
13421 (grub_cmd_linux): Improve the error message about `ask' mode, by
13422 waiting for user input so it's not missed (we can do this, since
13423 user requested interaction).
13424
d9dc87b0 134252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 Added missing lst to grub-mkrescue
13428
13429 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13430 and ${input_dir}/parttool.lst
13431
ac8a2baa 134322009-04-30 David S. Miller <davem@davemloft.net>
13433
ad22a610 13434 * util/hostdisk.c (device_is_wholedisk): New function.
13435 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13436 zero only if device_is_wholedisk() returns true.
13437
6966215d 13438 * util/hostdisk.c (convert_system_partition_to_system_disk):
13439 Handle virtual disk devices named /dev/vdiskX as found on sparc
13440 and powerpc.
13441
ac8a2baa 13442 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13443 lettered partition specifier is found, convert to numbered.
13444
979b4fb4 134452009-04-29 David S. Miller <davem@davemloft.net>
13446
e2bf39b2 13447 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13448 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13449
3c64e104 13450 * normal/command.c: Add missing newline at end of file.
13451
979b4fb4 13452 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13453 warnings.
13454 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13455 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13456 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13457 ihandles have a 32-bit type but need to be stored in a "void *".
13458
136d9f82 134592009-04-28 Pavel Roskin <proski@gnu.org>
13460
9459c306 13461 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13462 not disk. Adjust all dependencies.
2e08a26a 13463 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 13464 grub_disk_close().
13465
136d9f82 13466 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13467 parent's partition, don't copy it by reference, as it gets freed
13468 on close.
13469
7dd4a573 134702009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 13471
13472 Preboot hooks support
13473
13474 * commands/boot.c (struct grub_preboot_t): new declaration
13475 (preboots_head): new variable
13476 (preboots_tail): likewise
13477 (grub_loader_register_preboot_hook): new function
13478 (grub_loader_unregister_preboot_hook): likewise
13479 (grub_loader_set): launch preboot hooks
13480 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13481 (grub_loader_register_preboot_hook): new declaration
13482 (grub_loader_unregister_preboot_hook): likewise
13483
5af922b5 134842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13485
13486 Warning fix
13487
7dd4a573 13488 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 13489 calling grub_dprintf
13490
a5562c30 134912009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 Bug and warning fixes
13494
7dd4a573 13495 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 13496 declaration
13497 * commands/test.c (test_parse): fixed bug with file tests and corrected
13498 declaration of find_file
13499
4006f85c 135002009-04-26 Pavel Roskin <proski@gnu.org>
13501
13502 * Makefile.in: Don't install empty manual pages if help2man is
13503 missing. Use help2man option for output, not shell redirection.
13504
5c77c3de 135052009-04-26 David S. Miller <davem@davemloft.net>
13506
13507 * util/grub-mkdevicemap.c (make_device_map): Add missing
13508 NESTED_FUNC_ATTR to process_device().
13509
033b10a8 135102009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 Test command
13513
13514 * commands/test.c: rewritten to use bash-like test
13515
e4343593 135162009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 Parttool autoloading and improvements
13519
7dd4a573 13520 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 13521 (parttool.lst): new target
13522 * genmk.rb: generate parttool-*
13523 (CLEANFILES): add #{parttool}
13524 (PARTTOOLFILES): new variable
13525 * genparttoollist.sh: new file
7dd4a573 13526 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 13527 (grub_pcpart_type): likewise
13528 * commands/parttool.c (helpmsg): new variable
13529 (grub_cmd_parttool): output help if not enough arguments are supplied
13530 autoload modules
13531 (GRUB_MOD_INIT(parttool)): use helpmsg
13532
0d312500 135332009-04-24 David S. Miller <davem@davemloft.net>
13534
7dd4a573 13535 Avoiding opening same device multiple times in device iterator.
0d312500 13536
13537 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 13538 and use it to build a list of partitions in iterate_disk() and
0d312500 13539 iterate_partition().
13540
ac20caff 13541 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13542 on disk->data.
13543
0dcf7495 13544 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13545 grub_devalias_iterate() result instead of unconditional 0.
13546 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13547 Also, capture hook return value, either directly or via
13548 grub_children_iterate(), and propagate to caller.
13549 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13550 grub_children_iterate): Return value is now 'int' instead of
13551 'grub_err_t'.
13552 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13553 like a proper iterator, stopping when hooks return non-zero.
13554 (grub_devalias_iterate): Likewise.
13555
c8c08833 135562009-04-23 David S. Miller <davem@davemloft.net>
13557
13558 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13559
f01005a8 135602009-04-22 David S. Miller <davem@davemloft.net>
13561
13562 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13563 is larger than address_cells, use that value for address_cells too.
13564
4e8269da 13565 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13566 IEEE1275_MAX_PATH_LEN): Define.
13567 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13568 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13569 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13570 'devtype'. Explicitly NULL terminate devalias expansion.
13571
a1447506 13572 * util/sparc64/ieee1275/misc.c: New file.
13573 * util/sparc64/ieee1275/grub-setup.c: New file.
13574 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13575 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13576 * util/sparc64/ieee1275/grub-install.in: New file.
13577 * util/ieee1275/ofpath.c: New file.
13578 * util/ieee1275/devicemap.c: New file.
13579 * util/devicemap.c: New file.
13580 * util/deviceiter.c: New file.
13581 * kern/sparc64/ieee1275/init.c: New file.
13582 * include/grub/util/ofpath.h: New file.
13583 * include/grub/util/deviceiter.h: New file.
13584 * util/grub-mkdevicemap.c: Include deviceiter.h.
13585 Implement using grub_util_emit_devicemap_entry and
13586 grub_util_iterate_devices.
13587 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13588 util/devicemap.c into grub-mkdevicemap
13589 * conf/i386-efi.rmk: Likewise.
13590 * conf/i386-ieee1275.rmk: Likewise.
13591 * conf/i386-pc.rmk: Likewise.
13592 * conf/powerpc-ieee1275.rmk: Likewise.
13593 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13594 images and installation utilities. Build kernel as image
13595 instead of as elf binary. Use common rules as much as possible.
13596
7dd4a573 135972009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 13598
13599 Correct GPT definition
13600
7dd4a573 13601 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 13602 of "attrib" member
13603
c6c5219f 136042009-04-19 Felix Zielcke <fzielcke@z-51.de>
13605
13606 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13607
0552ff9f 136082009-04-19 David S. Miller <davem@davemloft.net>
13609
13610 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13611 (grub_rescue_cmd_linux): Rename to...
13612 (grub_cmd_linux): and fix prototype.
13613 (grub_rescue_cmd_initrd): Rename to...
13614 (grub_cmd_initrd): and fix prototype.
13615 (cmd_linux, cmd_initrd): New.
13616 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13617 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13618
d1a282fc 136192009-04-17 Pavel Roskin <proski@gnu.org>
13620
07c5039f 13621 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13622 format.
13623 (grub_ohci_transfer): Likewise.
13624
b012002d 13625 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13626
1bc09c35 13627 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13628 return without a value. Fix inconsistent indentation.
13629
e0ff9126 13630 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13631 match struct grub_fs.
13632
d1a282fc 13633 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13634 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13635 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13636 * commands/lspci.c (grub_lspci_iter): Likewise.
13637
a96df3f2 136382009-04-16 Bean <bean123ch@gmail.com>
13639
13640 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13641 value.
13642
41bb0fe9 136432009-04-15 Pavel Roskin <proski@gnu.org>
13644
13645 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13646 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13647 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13648 definitions.
13649
596c6970 136502009-04-15 Felix Zielcke <fzielcke@z-51.de>
13651
13652 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 13653 that no multiple data or metadata areas are supported and `Unknown
596c6970 13654 metadata header'.
13655
7dd4a573 136562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 13657
13658 Move loader out of the kernel
13659
13660 * kern/loader.c: moved to ...
13661 * commands/boot.c: ... moved here
13662 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13663 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13664 * include/grub/kernel.h (grub_machine_fini): export
13665 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13666 (grub_loader_set): likewise
13667 (grub_loader_unset): likewise
13668 (grub_loader_boot): likewise
13669 * conf/common.rmk: new module boot.mod
13670 (pkglib_MODULES): add boot.mod
13671 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13672 (grub_emu_SOURCES): likewise
13673 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13674 (grub_emu_SOURCES): likewise
13675 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13676 (grub_emu_SOURCES): likewise
13677 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13678 (grub_emu_SOURCES): likewise
13679 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13680 (grub_emu_SOURCES): likewise
7dd4a573 13681 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13682 (grub_emu_SOURCES): likewise
0d5d5653 13683 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 13684 (grub_emu_SOURCES): likewise
0d5d5653 13685
7dd4a573 136862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 13687
13688 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 13689
5999d619 13690 * kern/misc.c (grub_itoa): Removed function
13691 (grub_ltoa): likewise
13692 (grub_vsprintf): use grub_lltoa
13693
7dd4a573 136942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 13695
13696 Restore grub-emu
13697
13698 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13699 * conf/i386-coreboot.rmk: likewise
13700 * conf/i386-ieee1275.rmk: likewise
13701 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 13702
20318222 137032009-04-15 Felix Zielcke <fzielcke@z-51.de>
13704
13705 * INSTALL: Add that `./autogen.sh' needs to be run before
13706 `./configure.'.
13707
d05f0df3 137082009-04-14 Bean <bean123ch@gmail.com>
13709
13710 * Makefile.in (pkglib_DATA): Add handler.lst.
13711 (handler.lst): New rule.
13712
13713 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13714 * conf/i386-coreboot.rmk: Likewise.
13715 * conf/i386-ieee1275.rmk: Likewise.
13716 * conf/i386-efi.rmk: Likewise.
13717 * conf/x86_64-efi.rmk: Likewise.
13718 * conf/powerpc-ieee1275.rmk: Likewise.
13719 * conf/sparc64-ieee1275.rmk: Likewise.
13720
13721 * genhandlerlist.sh: New file.
13722
13723 * genmk.rb: Add rules to generate handler.lst.
13724
13725 * include/grub/normal.h (grub_file_getline): New function definition.
13726 (read_handler_list): Likewise.
13727 (free_handler_list): Likewise.
13728
13729 * include/grub/term.h (grub_term_register_input): Add name parameter
13730 for auto generation of handler.lst.
13731 (grub_term_register_output): Likewise.
13732
13733 * normal/handler.c: New file.
13734
13735 * normal/main.c (get_line): Renamed to grub_file_getline.
13736 (read_config_file): Use the newly renamed grub_file_getline.
13737 (read_command_list): Likewise.
13738 (read_fs_list): Likewise.
13739 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13740 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13741
13742 * term/efi/console.c (grub_console_init): Add name parameter for auto
13743 generation of handler.lst.
13744 * term/gfxterm.c: Likewise.
13745 * term/i386/pc/at_keyboard.c: Likewise.
13746 * term/i386/pc/console.c: Likewise.
13747 * term/i386/pc/serial.c: Likewise.
13748 * term/i386/pc/vesafb.c: Likewise.
13749 * term/i386/pc/vga.c: Likewise.
13750 * term/i386/pc/vga_text.c: Likewise.
13751 * term/ieee1275/ofconsole.c: Likewise.
13752 * term/usb_keyboard.c: Likewise.
13753
33c846be 137542009-04-14 Bean <bean123ch@gmail.com>
13755
13756 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13757 properly with null character.
13758
4484e01e 137592009-04-14 Felix Zielcke <fzielcke@z-51.de>
13760
13761 * configure: Remove.
13762 * config.h.in: Likewise.
f93d668e 13763 * stamp-h.in: Likewise.
4484e01e 13764 * DISTLIST: Likewise.
13765 * conf/common.mk: Likewise.
13766 * conf/i386-coreboot.mk: Likewise.
13767 * conf/i386-efi.mk: Likewise.
13768 * conf/i386-ieee1275.mk: Likewise.
13769 * conf/i386.mk: Likewise.
13770 * conf/i386-pc.mk: Likewise.
13771 * conf/powerpc-ieee1275.mk: Likewise.
13772 * conf/sparc64-ieee1275.mk: Likewise.
13773 * conf/x86_64-efi.mk: Likewise.
13774
13775 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13776 develop on GRUB.
13777
7dd4a573 137782009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 13779 David S. Miller <davem@davemloft.net>
13780
13781 * util/hostdisk.c (make_device_name): Fix buffer length
13782 calculations.
13783
e25b5a8c 137842009-04-14 Felix Zielcke <fzielcke@z-51.de>
13785
13786 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13787 <sys/param.h> and <sys/sysctl.h>.
13788 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13789 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13790 opening the device and reset them afterwards.
13791
1f1f580c 137922009-04-13 Pavel Roskin <proski@gnu.org>
13793
13794 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13795 Reported by John Stanley <jpsinthemix@verizon.net>
13796
7ebc2d6b 137972009-04-13 Robert Millan <rmh@aybabtu.com>
13798
13799 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 13800 that name for menuentries when appropriate.
7ebc2d6b 13801
d8ba3667 138022009-04-13 Felix Zielcke <fzielcke@z-51.de>
13803
13804 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13805
cba416eb 138062009-04-13 Robert Millan <rmh@aybabtu.com>
13807
13808 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13809 to Linux, simply abort telling the user it's no longer supported.
13810
a547a745 138112009-04-13 Felix Zielcke <fzielcke@z-51.de>
13812
13813 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 13814 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 13815 `freebsd_loadenv' only when devices.hints exist.
13816
232a769c 138172009-04-13 Pavel Roskin <proski@gnu.org>
13818
13819 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13820
c3012039 138212009-04-13 Felix Zielcke <fzielcke@z-51.de>
13822
13823 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13824 partition number.
13825 (grub_drive): Likewise.
13826
234022fe 138272009-04-13 David S. Miller <davem@davemloft.net>
13828
13829 * kern/sparc64/ieee1275/ieee1275.c: New file.
13830 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13831 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13832 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13833 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13834 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13835 grub_ieee1275_alloc_physmem): Declare new exported functions.
13836
d8e1836c 13837 * include/grub/sparc64/ieee1275/loader.h: New file.
13838 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13839 * include/grub/sparc64/kernel.h: Likewise.
13840 * loader/sparc64/ieee1275/linux.c: Likewise.
13841
96bd81ec 13842 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13843 (grub_fstest_SOURCES): Likewise.
13844
6a4737e5 13845 * util/hostdisk.c (make_device_name): Do not make any assumptions
13846 about the length of drive names.
13847
1d7a72fd 13848 * kern/dl.c (grub_dl_load_file): Close file immediately when
13849 we are done using it.
13850
56bc2471 138512009-04-12 David S. Miller <davem@davemloft.net>
13852
13853 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13854 values. Noticed by Pavel Roskin.
13855
df38d0bb 13856 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13857 target compiler.
7dd4a573 13858
e382e93a 13859 * genmk.rb: Add more flexible image type specification, also
13860 pass --strip-unneeded to objcopy.
13861 * conf/i386-pc.rmk: Use *_FORMAT.
13862 * conf/i386-pc.mk: Rebuilt.
13863
f5dbbca9 13864 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13865 (OFDISK_HASH_SZ): Define.
13866 (ofdisk_hash): New hash table.
13867 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13868 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13869 instead of device phandle which is not unique.
13870
91c88b12 13871 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13872 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13873 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13874 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13875 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13876 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13877 GRUB_KERNEL_MACHINE_DATA_END): Define.
13878 (grub_kernel_image_size, grub_total_module_size): Declare.
13879
5b5d4aa5 138802009-04-12 Pavel Roskin <proski@gnu.org>
13881
7dd4a573 13882 * configure.ac: Change the logic when we check for target tools.
13883 Do it when the target is specified and it's different from the
13884 specified value of the host.
5b5d4aa5 13885
c91e1793 138862009-04-11 Felix Zielcke <fzielcke@z-51.de>
13887
13888 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13889 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13890 GNU/kFreeBSD. Check if a device is a character device. Use
13891 DIOCGMEDIASIZE to get the size.
13892 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13893 support for GNU/kFreeBSD.
13894 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13895 is a character device instead of a block device. Add support for
13896 FreeBSD device names.
13897
13898 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13899 is a character device instead of a block device.
13900
13901 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13902 is a character device instead of a block device.
13903
b1ac8644 139042009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13905
13906 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13907 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13908 FreeBSD. Check if a device is a character device. Use
13909 DIOCGMEDIASIZE to get the size.
13910 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13911 support for FreeBSD.
13912 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: 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__]: Check if ENT is
13917 a character device instead of a block device.
13918 (grub_util_check_char_device): New function.
13919
13920 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13921 a character device instead of a block device.
13922
13923 * include/grub/util/getroot.h (grub_util_check_char_device): New
13924 prototype.
13925
a3f7515a 139262009-04-11 David S. Miller <davem@davemloft.net>
13927
13928 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13929 static libgcc.
13930 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13931 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13932 function, if present.
13933 (__bswapdi2): Likewise.
13934
0d44993d 13935 * include/grub/sparc64/ieee1275/boot.h: New file.
13936 * boot/sparc64/ieee1275/boot.S: Likewise.
13937 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13938
ed3d2bc2 13939 * kern/misc.c (grub_ltoa): New function.
13940 (grub_vsprintf): Use it to format 'long' integers.
13941
d3bfb59c 139422009-04-10 David S. Miller <davem@davemloft.net>
13943
13944 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13945 slots are of type grub_ieee1275_cell_t.
13946 (grub_nand_read): Likewise.
13947 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13948 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13949 macros are used to compare values in arg/ret block of the call.
13950 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13951 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13952 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13953 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13954 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13955 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13956 grub_ieee1275_close, grub_ieee1275_set_property,
13957 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13958 grub_ieee1275_cell_t.
13959 * kern/ieee1275/openfw.c (grub_map): Likewise.
13960 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13961 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13962
450e2238 13963 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13964 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13965 (grub_devalias_iterate): Likewise.
13966
7dd4a573 139672009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 13968
13969 UFS improvements
13970
13971 * fs/ufs.c (INODE_NBLOCKS): new definition
13972 (struct grub_ufs_dirent): added fields for non-BSD dirents
13973 (grub_ufs_get_file_block): fixed double indirect handling
13974 (grub_ufs_lookup_symlink): use more robust way to determine whether
13975 symlink is inline
13976 (grub_ufs_find_file): support for non-BSD dirents
13977 (grub_ufs_dir): support for non-BSD dirents
13978
e7e6862a 139792009-04-10 Bean <bean123ch@gnail.com>
13980
13981 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13982 attribute, otherwise the size would be wrong for i386 platform.
13983
13984 * include/grub/pci.h (grub_pci_read_word): New inline function.
13985 (grub_pci_read_byte): Likewise.
13986 (grub_pci_write): Likewise.
13987 (grub_pci_write_word): Likewise.
13988 (grub_pci_write_byte): Likewise.
13989
13990 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13991
13992 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13993 (find_framebuf): Scan pci to locate the frame buffer address.
13994
13995 * commands/efi/fixvideo.c: New file.
13996
13997 * commands/efi/loadbios.c: Likewise.
13998
13999 * commands/memrw.c: Likewise.
14000
14001 * util/grub-dumpbios.in: Likewise.
14002
14003 * conf/common.rmk (grub-dumpbios): New utility.
14004 (pkglib_MODULES): New module memrw.mod.
14005 (memrw_mod_SOURCE): New macro.
14006 (memrw_mod_CFLAGS): Likewise.
14007 (memrw_mod_LDFLAGS): Likewise.
14008
7dd4a573 14009 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14010 fixvideo.mod.
14011 (loadbios_mod_SOURCE): New macro.
14012 (loadbios_mod_CFLAGS): Likewise.
14013 (loadbios_mod_LDFLAGS): Likewise.
14014 (fixvideo_mod_SOURCE): Likewise.
14015 (fixvideo_mod_CFLAGS): Likewise.
14016 (fixvideo_mod_LDFLAGS): Likewise.
14017
7dd4a573 14018 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14019 fixvideo.mod.
14020 (loadbios_mod_SOURCE): New macro.
14021 (loadbios_mod_CFLAGS): Likewise.
14022 (loadbios_mod_LDFLAGS): Likewise.
14023 (fixvideo_mod_SOURCE): Likewise.
14024 (fixvideo_mod_CFLAGS): Likewise.
14025 (fixvideo_mod_LDFLAGS): Likewise.
14026
af63ada2 140272009-04-08 Felix Zielcke <fzielcke@z-51.de>
14028
14029 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
14030
c2cdde70 140312009-04-07 David S. Miller <davem@davemloft.net>
14032
14033 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
14034 support for R_SPARC_OLO10 relocations. Fix compile warning for
14035 R_SPARC_WDISP30 case.
ea3f72cf 14036 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 14037
761319cf 140382009-04-06 Pavel Roskin <proski@gnu.org>
14039
1007d1f5 14040 * include/grub/misc.h (ARRAY_SIZE): New macro.
14041 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
14042 New macro.
14043 * loader/i386/linux.c (allocate_pages): Use free_pages().
14044 (grub_linux_unload): Don't use free_pages().
14045 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
14046 wrong index. Treat all other modes as text modes.
14047 (grub_cmd_linux): Initialize vid_mode unconditionally to
14048 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
14049
761319cf 14050 * commands/help.c (print_command_help): Use cmd->prio, not
14051 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
14052
ea761d40 140532009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 14054
ea761d40 14055 Parttool
14056
14057 * parttool/pcpart.c: new file
14058 * commands/parttool.c: likewise
14059 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
14060 (parttool_mod_SOURCES): new variable
14061 (parttool_mod_CFLAGS): likewise
14062 (parttool_mod_LDFLAGS): likewise
14063 (pcpart_mod_SOURCES): likewise
14064 (pcpart_mod_CFLAGS): likewise
14065 (pcpart_mod_LDFLAGS): likewise
7dd4a573 14066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 14067 and parttool/pcpart.c
14068 * conf/i386-efi.rmk: likewise
14069 * conf/i386-ieee1275.rmk: likewise
14070 * conf/i386-pc.rmk: likewise
14071 * conf/powerpc-ieee1275.rmk: likewise
14072 * conf/sparc64-ieee1275.rmk: likewise
14073 * conf/x86_64-ieee1275.rmk: likewise
14074
05aaebfb 140752009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 Support for mtime and further expandability of dir command
14078
14079 * include/grub/lib/datetime.h: moved to ...
7dd4a573 14080 * include/grub/datetime.h: ... moved here and added
05aaebfb 14081 declaration of grub_unixtime2datetime. All users updated
7dd4a573 14082 * include/grub/fs.h: new syntax for dir and mtime functions in
14083 struct grub_fs
05aaebfb 14084 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
14085 and GRUB_FSHELP_FLAGS_MASK
14086 * commands/ls.c (grub_ls_list_files): Write mtime in long format
14087 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
14088 (grub_ext2_mtime): new function
14089 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
14090 (grub_hfsplus_mtime): new function
14091 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
14092 (GRUB_UFS_ATTR_FILE): likewise
14093 (GRUB_UFS_ATTR_LNK): likewise
14094 (struct grub_ufs_sblock): new fields mtime
14095 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
14096 all users updated
14097 (grub_ufs_dir): mtime support
14098 (grub_ufs_mtime): new function
14099 * fs/affs.c (grub_affs_dir): use new dir syntax
14100 * fs/afs.c (grub_afs_dir): likewise
14101 * fs/cpio.c (grub_cpio_dir): likewise
14102 * fs/fat.c (grub_fat_find_dir): likewise
14103 * fs/hfs.c (grub_hfs_dir): likewise
14104 * fs/iso9660.c (grub_iso9660_dir): likewise
14105 * fs/jfs.c (grub_jfs_dir): likewise
14106 * fs/minix.c (grub_minix_dir): likewise
14107 * fs/ntfs.c (grub_ntfs_dir): likewise
14108 * fs/reiserfs.c (grub_reiserfs_dir): likewise
14109 * fs/sfs.c (grub_sfs_dir): likewise
14110 * fs/xfs.c (grub_xfs_dir): likewise
14111 * util/hostfs.c (grub_hostfs_dir): likewise
14112 * lib/datetime.c: moved to ...
14113 * normal/datetime.c: ... moved here
14114 (grub_unixtime2datetime): new function
14115 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 14116 * normal/completion.c (iterate_dir): use new dir syntax
14117 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 14118 last modification time of a volume
7dd4a573 14119 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 14120 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 14121 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 14122 (normal_mod_SOURCES): likewise
14123 (datetime_mod_SOURCES): Removed lib/datetime.c
14124 * conf/i386-efi.rmk: likewise
7dd4a573 14125 * conf/i386-ieee1275.rmk: likewise
05aaebfb 14126 * conf/i386-pc.rmk: likewise
14127 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 14128 * conf/sparc64-ieee1275.rmk: likewise
14129 * conf/x86_64-efi.rmk: likewise
05aaebfb 14130
8a7e1a14 141312009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 14134
14135 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 14136 on grub_fat_find_dir
14137 (grub_fat_find_dir): use grub_fat_iterate_dir
14138 (grub_fat_label): likewise
14139
04186a9c 141402009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14141
7dd4a573 14142 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 14143 and command.h
14144 remove extraneous kernel_elf_HEADERS
14145
da4c0bb6 141462009-04-04 Bean <bean123ch@gnail.com>
14147
14148 * include/grub/util/misc.h: Add dummy function fsync for mingw.
14149
14150 * util/misc.c: Likewise.
14151
54ad9555 141522009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
14153
14154 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
14155 instead of grub_printf.
14156
7a6bf9f2 141572009-04-03 Robert Millan <rmh@aybabtu.com>
14158
14159 * loader/i386/linux.c (grub_linux_setup_video): Fill
14160 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
14161 values from `mode info' structure instead of hardcoded
14162 values.
14163
3fcc2083 141642009-04-01 Pavel Roskin <proski@gnu.org>
14165
14166 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
14167 unused now.
14168 * genmk.rb: Likewise.
14169 * configure.ac: Likewise.
14170
5ec9740b 141712009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
14172
14173 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
14174 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
14175
5270cec8 141762009-04-01 David S. Miller <davem@davemloft.net>
14177
14178 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 14179 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 14180 (grub_setjmp): Mark with 'returns_twice' attribute.
14181 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
14182 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
14183 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
14184
9c3dd854 141852009-04-01 Robert Millan <rmh@aybabtu.com>
14186
14187 Reapply fix from 2008-07-28 which was accidentally reverted; also
14188 perform the same fix to a similar check in same function.
14189
14190 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14191 with the same number are found, just use issue a warning with
14192 grub_dprintf(), as this error has been reported to be non-fatal.
14193
0d818b7e 141942009-03-31 Pavel Roskin <proski@gnu.org>
14195
14196 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
14197 for cross-compilation.
14198
95646d92 141992009-03-30 Robert Millan <rmh@aybabtu.com>
14200
14201 Fix i386-ieee1275 build.
14202
14203 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
14204 Remove declaration.
14205
6a003ed1 142062009-03-30 Pavel Roskin <proski@gnu.org>
14207
14208 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
14209 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
14210 zero-terminated, rely only on the strlen value. Fix comparison
14211 of strings differing in length.
14212
92f33540 142132009-03-30 Robert Millan <rmh@aybabtu.com>
14214
14215 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
14216 checking for abi version. Improve error messages on BIOS to notify
14217 user about `linux16' command.
14218
a8c48fd5 142192009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14220
f968172e 14221 Leak fixes
a8c48fd5 14222
f968172e 14223 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
14224 in case of collision
14225 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 14226
9c323f09 142272009-03-29 Robert Millan <rmh@aybabtu.com>
14228
14229 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
14230 set `vid_mode' accordingly.
14231 (grub_linux_boot): Process `vid_mode' and set video mode.
14232
ae68f423 142332009-03-29 Robert Millan <rmh@aybabtu.com>
14234
14235 * util/grub.d/10_linux.in (linux_entry): New function.
14236 Factorize generation of Linux boot entries.
14237
5709cfc4 142382009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
14239
14240 Make the format of Environment Block plain text. The boot loader
14241 part is not tested well yet.
7dd4a573 14242
5709cfc4 14243 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
14244 (buffer): Removed.
14245 (envblk): Likewise.
14246 (usage): Remove "info" and "clear". Add "unset". Update the
14247 description of "set", as this does not delete variables any
14248 longer.
14249 (create_envblk_file): Complete rewrite.
14250 (open_envblk_file): Likewise.
14251 (cmd_info): Removed.
14252 (cmd_list): Likewise.
14253 (cmd_set): Likewise.
14254 (cmd_clear): Likewise.
14255 (list_variables): New function.
14256 (write_envblk): Likewise.
14257 (set_variables): Likewise.
14258 (unset_variables): Likewise.
14259 (main): Complete rewrite.
14260
14261 * commands/loadenv.c (buffer): Removed.
14262 (envblk): Likewise.
14263 (open_envblk_file): New function.
14264 (read_envblk_file): Complete rewrite.
14265 (grub_cmd_load_env): Likewise.
14266 (grub_cmd_list_env): Likewise.
14267 (struct blocklist): New struct.
14268 (free_blocklists): New function.
14269 (check_blocklists): Likewise.
14270 (write_blocklists): Likewise.
14271 (grub_cmd_save_env): Complete rewrite.
14272
14273 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14274 a plain text signature.
14275 (GRUB_ENVBLK_MAXLEN): Removed.
14276 (struct grub_envblk): Complete rewrite.
14277 (grub_envblk_find): Removed.
14278 (grub_envblk_insert): Likewise.
14279 (grub_envblk_open): New prototype.
14280 (grub_envblk_set): Likewise.
14281 (grub_envblk_delete): Put const to VALUE.
14282 (grub_envblk_iterate): Put const to NAME and VALUE.
14283 (grub_envblk_close): New prototype.
14284 (grub_envblk_buffer): New inline function.
14285 (grub_envblk_size): Likewise.
14286
14287 * lib/envblk.c: Include grub/mm.h.
14288 (grub_env_find): Removed.
14289 (grub_envblk_open): New function.
14290 (grub_envblk_close): Likewise.
14291 (escaped_value_len): Likewise.
14292 (find_next_line): Likewise.
14293 (grub_envblk_insert): Removed.
14294 (grub_envblk_set): New function.
14295 (grub_envblk_delete): Complete rewrite.
14296 (grub_envblk_iterate): Likewise.
14297
a9368fd3 142982009-03-28 Robert Millan <rmh@aybabtu.com>
14299
14300 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14301 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14302 variables. Use 16-bit loader.
14303 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14304 loader.
14305 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14306 (grub_linux16_boot): ... this. Update all users.
14307 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14308 (grub_linux_boot): ... this. Update all users.
14309
14310 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14311 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14312 commands to `linux16' and `initrd16'.
14313 (GRUB_MOD_FINI(linux)): Rename to ...
14314 (GRUB_MOD_FINI(linux16)): ... this.
14315
e4dd5a7e 143162009-03-24 Pavel Roskin <proski@gnu.org>
14317
14318 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14319 not just for compilation.
14320
c04d6e05 143212009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 Move multiboot helper out of kernel
14324
14325 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14326 `loader/i386/multiboot_helper.S'.
14327 * conf/i386-coreboot.rmk: Likewise
14328 * conf/i386-ieee1275.rmk: Likewise
14329
14330 * kern/i386/loader.S: Move multiboot helpers from here...
14331 * loader/i386/multiboot_helper.S: ...moved here
14332 * include/grub/i386/loader.h: Move declarations of multiboot
14333 helpers from here...
14334 * include/grub/i386/multiboot.h: ...moved here
14335 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14336
42a5b3fc 143372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14338
14339 * kern/env.c (grub_env_context_open): Added an argument to specify
14340 whether a new context inherits exported variables from current
14341 one. This is useful when making a sandbox to interpret a config
14342 file.
14343 All callers updated.
14344
14345 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14346
b28bbc4e 143472009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14348
14349 * kern/env.c (grub_env_context_close): Fix memory leaks.
14350
f04f02e4 143512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14352
14353 * normal/main.c (grub_normal_execute): Added an argument
14354 BATCH to specify if an interactive interface should be provided
14355 after reading a config file.
14356 All callers updated.
14357 (read_command_list): Prevent being executed twice.
14358 (read_fs_list): Likewise.
14359
42a5b3fc 14360 * include/grub/normal.h (grub_normal_execute): Updated the
14361 prototype.
f04f02e4 14362
41473ac2 143632009-03-22 Pavel Roskin <proski@gno.org>
14364
fbc00b0c 14365 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14366 _start.
14367 * kern/i386/pc/startup.S: Likewise.
14368 * kern/i386/efi/startup.S: Likewise.
14369 * kern/i386/ieee1275/startup.S: Likewise.
14370 * kern/i386/coreboot/startup.S: Likewise.
14371 * kern/x86_64/efi/startup.S: Likewise.
14372
41473ac2 14373 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14374 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14375 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14376
2274cc8f 143772009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14380
14381 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14382 limit detection.
14383 Use vaddr of correct segment for entry_point.
14384
b1b797cb 143852009-03-21 Bean <bean123ch@gmail.com>
14386
14387 * commands/blocklist.c: Add include file <grub/command.h>, remove
14388 <grub/normal.h> and <grub/arg.h>.
14389 (grub_cmd_blocklist): Use the new command interface.
14390 (GRUB_MOD_INIT): Likewise.
14391 (GRUB_MOD_FINI): Likewise.
14392 * commands/boot.c: Likewise.
14393 * commands/cat.c: Likewise.
14394 * commands/cmp.c: Likewise.
14395 * commands/configfile.c: Likewise.
14396 * commands/crc.c: Likewise.
14397 * commands/echo.c: Likewise.
14398 * commands/halt.c: Likewise.
14399 * commands/handler.c: Likewise.
14400 * commands/hdparm.c: Likewise.
14401 * commands/help.c: Likewise.
14402 * commands/hexdump.c: Likewise.
14403 * commands/loadenv.c: Likewise.
14404 * commands/ls.c: Likewise.
14405 * commands/lsmmap.c: Likewise.
14406 * commands/lspci.c: Likewise.
14407 * commands/loadenv.c: Likewise.
14408 * commands/read.c: Likewise.
14409 * commands/reboot.c: Likewise.
14410 * commands/search.c: Likewise.
14411 * commands/sleep.c: Likewise.
14412 * commands/test.c: Likewise.
14413 * commands/usbtest.c: Likewise.
14414 * commands/videotest.c: Likewise.
14415 * commands/i386/cpuid.c: Likewise.
14416 * commands/i386/pc/halt.c: Likewise.
14417 * commands/i386/pc/play.c: Likewise.
14418 * commands/i386/pc/pxecmd.c: Likewise.
14419 * commands/i386/pc/vbeinfo.c: Likewise.
14420 * commands/i386/pc/vbetest.c: Likewise.
14421 * commands/ieee1275/suspend.c: Likewise.
14422 * disk/loopback.c: Likewise.
14423 * font/font_cmd.c: Likewise.
14424 * hello/hello.c: Likewise.
14425 * loader/efi/appleloader.c: Likewise.
14426 * loader/efi/chainloader.c: Likewise.
14427 * loader/i386/bsd.c: Likewise.
14428 * loader/i386/efi/linux.c: Likewise.
14429 * loader/i386/ieee1275/linux.c: Likewise.
14430 * loader/i386/linux.c: Likewise.
14431 * loader/i386/pc/chainloader.c: Likewise.
14432 * loader/i386/pc/linux.c: Likewise.
14433 * loader/powerpc/ieee1275/linux.c: Likewise.
14434 * loader/multiboot_loader.c: Likewise.
14435 * term/gfxterm.c: Likewise.
14436 * term/i386/pc/serial.c: Likewise.
14437 * term/terminfo.c: Likewise.
14438
14439 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14440 * term/i386/pc/vga.c: Likewise.
14441 * video/readers/jpeg.c: Likewise.
14442 * video/readers/png.c: Likewise.
14443 * video/readers/tga.c: Likewise.
14444
14445 * util/grub-fstest (cmd_loopback): Removed.
14446 (cmd_blocklist): Likewise.
14447 (cmd_ls): Likewise.
14448 (grub_register_command): Likewise.
14449 (grub_unregister_command): Likewise.
14450 (execute_command): Use grub_command_find to locate command and execute
14451 it.
14452
14453 * include/grub/efi/chainloader.h: Removed.
14454 * loader/efi/chainloader_normal.c: Likewise.
14455 * loader/i386/bsd_normal.c: Likewise.
14456 * loader/i386/pc/chainloader_normal.c: Likewise.
14457 * loader/i386/pc/multiboot_normal.c: Likewise.
14458 * loader/linux_normal.c: Likewise.
14459 * loader/multiboot_loader_normal.c: Likewise.
14460 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14461
14462 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14463 and grub_register_command_p1.
14464
14465 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14466 kern/command.c, lib/arg.c and commands/extcmd.c.
14467 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14468 (minicmd_mod_SOURCES): New variable.
14469 (minicmd_mod_CFLAGS): Likewise.
14470 (minicmd_mod_LDFLAGS): Likewise.
14471 (extcmd_mod_SOURCES): Likewise.
14472 (extcmd_mod_CFLAGS): Likewise.
14473 (extcmd_mod_LDFLAGS): Likewise.
14474 (boot_mod_SOURCES): Removed.
14475 (boot_mod_CFLAGS): Likewise.
14476 (boot_mod_LDFLAGS): Likewise.
14477
14478 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14479 kern/corecmd.c.
14480 (kernel_img_HEADERS): Add command.h.
14481 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14482 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14483 and lib/arg.c.
14484 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14485 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14486 remove the corresponding normal mode command.
14487 (normal_mod_SOURCES): Remove normal/arg.c.
14488 * conf/i386-coreboot.rmk: Likewise.
14489 * conf/i386-efi.rmk: Likewise.
14490 * conf/i386-ieee1275.rmk: Likewise.
14491 * conf/powerpc-ieee1275.rmk: Likewise.
14492 * conf/x86_64-efi.rmk: Likewise.
14493
14494 * include/grub/arg.h: Move from here ...
14495 * include/grub/lib/arg.h: ... to here.
14496
14497 * normal/arg.c: Move from here ...
14498 * lib/arg.c: ... to here.
14499
14500 * commands/extcmd.c: New file.
14501 * commands/minicmd.c: Likewise.
14502 * include/grub/command.h: Likewise.
14503 * include/grub/extcmd.h: Likewise.
14504 * kern/command.c: Likewise.
14505 * kern/corecmd.c: Likewise.
14506
14507 * kern/list.c (grub_list_iterate): Return int instead of void.
14508 (grub_list_insert): New function.
14509 (grub_prio_list_insert): Likewise.
14510
14511 * kern/rescue.c (grub_rescue_command): Removed.
14512 (grub_rescue_command_list): Likewise.
14513 (grub_rescue_register_command): Likewise.
14514 (grub_rescue_unregister_command): Likewise.
14515 (grub_rescue_cmd_boot): Move to minicmd.c
14516 (grub_rescue_cmd_help): Likewise.
14517 (grub_rescue_cmd_info): Likewise.
14518 (grub_rescue_cmd_boot): Likewise.
14519 (grub_rescue_cmd_testload): Likewise.
14520 (grub_rescue_cmd_dump): Likewise.
14521 (grub_rescue_cmd_rmmod): Likewise.
14522 (grub_rescue_cmd_lsmod): Likewise.
14523 (grub_rescue_cmd_exit): Likewise.
14524 (grub_rescue_print_devices): Moved to corecmd.c.
14525 (grub_rescue_print_files): Likewise.
14526 (grub_rescue_cmd_ls): Likewise.
14527 (grub_rescue_cmd_insmod): Likewise.
14528 (grub_rescue_cmd_set): Likewise.
14529 (grub_rescue_cmd_unset): Likewise.
7d074e3c 14530 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 14531 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 14532 commands, remove grub_rescue_register_command calls.
b1b797cb 14533
7d074e3c 14534 * normal/command.c (grub_register_command): Removed.
b1b797cb 14535 (grub_unregister_command): Likewise.
14536 (grub_command_find): Likewise.
14537 (grub_iterate_commands): Likewise.
14538 (rescue_command): Likewise.
14539 (export_command): Moved to corecmd.c.
14540 (set_command): Removed.
14541 (unset_command): Likewise.
14542 (insmod_command): Likewise.
14543 (rmmod_command): Likewise.
14544 (lsmod_command): Likewise.
14545 (grub_command_init): Likewise.
14546
14547 * normal/completion.c (iterate_command): Use cmd->prio to check for
14548 active command.
14549 (complete_arguments): Use grub_extcmd_t structure to find options.
14550 (grub_normal_do_completion): Change function grub_iterate_commands to
14551 grub_command_iterate.
14552
14553 * normal/execute.c (grub_script_execute_cmd): No need to parse
14554 argument here.
14555
14556 * normal/main.c (grub_dyncmd_dispatcher): New function.
14557 (read_command_list): Register unload commands as dyncmd.
14558 (grub_cmd_normal): Use new command interface, register rescue,
14559 unregister normal at entry, register normal, unregister rescue at exit.
14560
14561 * include/grub/list.h (grub_list_test_t): New type.
14562 (grub_list_iterate): Return int instead of void.
14563 (grub_list_insert): New function.
14564 (GRUB_AS_NAMED_LIST_P): New macro.
14565 (GRUB_AS_PRIO_LIST): Likewise.
14566 (GRUB_AS_PRIO_LIST_P): Likewise.
14567 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14568 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14569 (grub_prio_list): New structure.
14570 (grub_prio_list_insert): New function.
14571 (grub_prio_list_remove): New inline function.
14572
14573 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14574 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14575 (GRUB_COMMAND_FLAG_MENU): Likewise.
14576 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14577 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14578 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14579 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14580 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14581 (grub_command): Likewise.
14582 (grub_register_command): Likewise.
14583 (grub_command_find): Likewise.
14584 (grub_iterate_commands): Likewise.
14585 (grub_command_init): Likewise.
14586 (grub_arg_parse): Likewise.
14587 (grub_arg_show_help): Likewise.
14588
14589 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14590 (grub_rescue_unregister_command): Likewise.
14591
14592 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14593 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14594 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14595
14596 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14597 grub_rescue_cmd_initrd.
14598 * include/grub/i386/loader.h: Likewise.
14599 * include/grub/x86_64/loader.h: Likewise.
14600
14601 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14602
1f4147aa 146032009-03-21 Bean <bean123ch@gmail.com>
14604
14605 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14606 instead of stat in mingw environment.
14607
14608 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14609
14610 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14611
14612 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14613 AC_CONFIG_LINKS.
14614
2156d5ba 146152009-03-21 Bean <bean123ch@gmail.com>
14616
14617 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14618 out of range error.
14619
177b82ca 146202009-03-18 Michel Dänzer <michel@daenzer.net>
14621
14622 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14623 checking inode flags for EXT4_EXTENTS_FLAG.
14624
14aad807 146252009-03-18 Robert Millan <rmh@aybabtu.com>
14626
14627 * loader/i386/linux.c: Include `<grub/video.h>' and
14628 `<grub/i386/pc/vbe.h>'..
14629 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14630 (grub_linux32_boot): Attempt to configure video settings with
14631 grub_linux_setup_video().
14632 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14633 to avoid grub_console_fini() which would step out of graphical mode
14634 unconditionally.
14635
8cf83a27 146362009-03-14 Robert Millan <rmh@aybabtu.com>
14637
14638 Fix build on powerpc.
14639 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14640
40164e75 146412009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14644 background image command.
14645
c58bc32a 146462009-03-12 Colin D Bennett <colin@gibibit.com>
14647
14648 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14649 (grub_gfxterm_putchar): Extract pairs of identical calls to
14650 draw_cursor out of conditional blocks.
14651
5415144a 146522009-03-11 Pavel Roskin <proski@gnu.org>
14653
14654 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14655 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14656
6394042e 146572009-03-11 Robert Millan <rmh@aybabtu.com>
14658
14659 * loader/i386/multiboot_elfxx.c
14660 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14661
b7b50e5f 146622009-03-11 Felix Zielcke <fzielcke@z-51.de>
14663
14664 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14665 `kern/handler.c'.
14666
1ca7fc96 146672009-03-11 Robert Millan <rmh@aybabtu.com>
14668
14669 * loader/i386/multiboot.c (code_size): New variable.
14670 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 14671 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 14672 4-byte alignment to MBI and others by increasing
7d074e3c 14673 `boot_loader_name_length' appropriately.
1ca7fc96 14674
14675 * loader/i386/multiboot_elfxx.c
14676 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14677
a83ea1d2 146782009-03-09 Felix Zielcke <fzielcke@z-51.de>
14679
14680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14681 `fs/ext2.c'.
14682
aa9f3bff 146832009-03-08 Robert Millan <rmh@aybabtu.com>
14684
14685 Make loader/i386/linux.c usable on i386-pc again.
14686
14687 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14688 memory to heap.
14689 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14690 `#error' stanza.
14691
d8b3b60e 146922009-03-07 Bean <bean123ch@gmail.com>
14693
14694 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14695 allocation.
14696
b362c9e9 146972009-03-06 Robert Millan <rmh@aybabtu.com>
14698
14699 Fix display issue on terminals with screen size other than 80x25
14700 (e.g. gfxterm with resolution higher than 640x480).
14701
14702 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 14703 position relative to the center of the terminal instead of relying
b362c9e9 14704 on a hardcoded offset.
14705
9304eef1 147062009-03-04 Robert Millan <rmh@aybabtu.com>
14707
14708 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14709 installed.
14710
14711 * Makefile.in (host_kernel): New variable.
14712 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14713 scripts instead of just the windows one.
14714 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14715
eabc95fb 147162009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 14717
14718 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14719 `kern/handler.c'.
14720 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14721 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14722 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14726
ceb1223c 147272009-03-04 Felix Zielcke <fzielcke@z-51.de>
14728
14729 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14730 or if there's no space for the disk label and print the partition number on a
14731 invalid magic.
14732
4910684a 147332009-03-04 Felix Zielcke <fzielcke@z-51.de>
14734
14735 * util/misc.c: Include <time.h>.
14736 (grub_millisleep): New function.
14737
7e9ca17a 147382009-03-04 Bean <bean123ch@gmail.com>
14739
14740 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14741 another option -mno-red-zone.
14742
14743 * commands/handler.c: Change module description.
14744
14745 * kern/handler.c: Add missing space at the end of description line.
14746
14747 * kern/list.c: Likewise.
14748
f501677c 147492009-03-03 Robert Millan <rmh@aybabtu.com>
14750
14751 Move more components to the relocation area, and fix mbi pointer
14752 handling to use the destination rather than the origin (thanks to
14753 Vladimir Serbinenko for spotting).
14754
14755 * loader/i386/multiboot.c (mbi_dest): New variable.
14756 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14757 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14758 relocation area.
14759
9902d047 147602009-03-01 Bean <bean123ch@gmail.com>
14761
50fb7002 14762 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 14763 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14764 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14765 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14766
14767 * loader/i386/efi/linux.c (acpi_guid): New variable.
14768 (acpi_guid): Likewise.
14769 (EBDA_SEG_ADDR): New constant.
14770 (LOW_MEM_ADDR): Likewise.
14771 (FAKE_EBDA_SEG): Likewise.
14772 (fake_bios_data): New function.
14773 (grub_linux_boot): Call fake_bios_data.
14774
71b9f361 147752009-03-01 Bean <bean123ch@gmail.com>
14776
14777 * commands/terminal.c: Removed.
14778
14779 * commands/handler.c: New file.
14780
14781 * include/grub/list.h: Likewise.
14782
14783 * include/grub/handler.h: Likewise.
14784
14785 * kern/list.c: Likewise.
14786
14787 * kern/handler.c: Likewise.
14788
14789 * kern/term.h: Include header file <grub/handler.h>.
14790 (grub_term_input): Move next field to the beginning.
14791 (grub_term_output): Likewise.
14792 (grub_term_input_class): New variable.
14793 (grub_term_output_class): Likewise.
14794 (grub_term_register_input): Changed to inline function.
14795 (grub_term_register_output): Likewise.
14796 (grub_term_unregister_input): Likewise.
14797 (grub_term_unregister_output): Likewise.
14798 (grub_term_set_current_input): Likewise.
14799 (grub_term_set_current_output): Likewise.
14800 (grub_term_get_current_input): Likewise.
14801 (grub_term_get_current_output): Likewise.
14802 (grub_term_iterate_input): Removed.
14803 (grub_term_iterate_output): Likewise.
14804
14805 * kern/term.c (grub_term_list_input): Removed.
14806 (grub_term_list_output): Likewise.
14807 (grub_term_input_class): New variable.
14808 (grub_term_output_class): Likewise.
50fb7002 14809 (grub_cur_term_input): Change variable as macro.
71b9f361 14810 (grub_cur_term_output): Likewise.
14811 (grub_term_register_input): Removed.
14812 (grub_term_register_output): Likewise.
14813 (grub_term_unregister_input): Likewise.
14814 (grub_term_unregister_output): Likewise.
14815 (grub_term_set_current_input): Likewise.
14816 (grub_term_set_current_output): Likewise.
14817 (grub_term_iterate_input): Likewise.
14818 (grub_term_iterate_output): Likewise.
14819 (grub_term_get_current_input): Likewise.
14820 (grub_term_get_current_output): Likewise.
14821
14822 * util/grub-editenv.c: Include header file <grub/handler.h>.
14823 (grub_term_get_current_input): Removed.
14824 (grub_term_get_current_output): Likewise.
14825 (grub_term_input_class): New variable.
50fb7002 14826 (grub_term_output_class): Likewise.
71b9f361 14827
14828 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14829 (grub_term_get_current_output): Likewise.
14830 (grub_term_input_class): New variable.
50fb7002 14831 (grub_term_output_class): Likewise.
71b9f361 14832
14833 * util/grub-probe.c (grub_term_get_current_input): Removed.
14834 (grub_term_get_current_output): Likewise.
14835 (grub_term_input_class): New variable.
50fb7002 14836 (grub_term_output_class): Likewise.
71b9f361 14837
14838 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14839 (grub_term_get_current_output): Likewise.
14840 (grub_term_input_class): New variable.
50fb7002 14841 (grub_term_output_class): Likewise.
71b9f361 14842
14843 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14844 (terminal_mod_SOURCES): Likewise.
14845 (terminal_mod_CFLAGS): Likewise.
14846 (terminal_mod_LDFLAGS): Likewise.
14847
14848 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14849 handler.c.
14850 (kernel_img_SOURCES): Add list.c and handler.c.
14851 (kernel_img_HEADERS): Add list.h and handler.h.
14852
14853 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14854 handler.c.
14855 (kernel_mod_SOURCES): Add list.c and handler.c.
14856 (kernel_mod_HEADERS): Add list.h and handler.h.
14857
14858 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14859 handler.c.
14860 (kernel_elf_SOURCES): Add list.c and handler.c.
14861 (kernel_elf_HEADERS): Add list.h and handler.h.
14862
14863 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14864 handler.c.
14865 (kernel_elf_SOURCES): Add list.c and handler.c.
14866 (kernel_elf_HEADERS): Add list.h and handler.h.
14867
14868 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14869 handler.c.
14870 (kernel_mod_SOURCES): Add list.c and handler.c.
14871 (kernel_mod_HEADERS): Add list.h and handler.h.
14872
14873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14874 handler.c.
14875 (kernel_elf_SOURCES): Add list.c and handler.c.
14876 (kernel_elf_HEADERS): Add list.h and handler.h.
14877
8a31787f 148782009-02-27 Robert Millan <rmh@aybabtu.com>
14879
14880 Factorize elf32 / elf64 code in Multiboot loader. This will
14881 prevent it from getting out of sync again.
14882
14883 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14884 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14885 grub_multiboot_load_elf64): Move from here ...
14886 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14887 grub_multiboot_load_elf): ... to here (new file).
14888
51cd3dfc 148892009-02-27 Robert Millan <rmh@aybabtu.com>
14890
14891 * util/grub.d/10_linux.in: Rename "single-user mode" to
14892 "recovery mode".
14893
6e8c9c3a 148942009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 Don't leak in SCSI code.
14897 * disk/scsi.c (grub_scsi_close): free `scsi'.
14898
4b6bf4f9 148992009-02-27 Robert Millan <rmh@aybabtu.com>
14900
14901 * loader/i386/pc/multiboot.c: Move from here ...
14902 * loader/i386/multiboot.c: ... to here. Update all users.
14903
b9413424 149042009-02-27 Robert Millan <rmh@aybabtu.com>
14905
14906 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14907 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14908
50fb7002 149092009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 14910
14911 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14912 b-tree.
14913
8cc50345 149142009-02-27 Robert Millan <rmh@aybabtu.com>
14915
14916 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14917 `0x' qualifier as 0 when base is specified as parameter).
14918
6e09b8b7 149192009-02-24 Bean <bean123ch@gmail.com>
14920
14921 * configure.ac: Check for -mcmodel=large in x86_64 target.
14922
14923 * include/grub/efi/api.h (efi_call_10): New macro.
14924 (efi_wrap_10): New function.
14925
14926 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14927 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14928 (GRUB_PE32_REL_BASED_LOW): Likewise.
14929 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14930 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14931 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14932 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14933 (GRUB_PE32_REL_BASED_REL): Likewise.
14934 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14935 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14936 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14937
14938 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14939 issue.
14940
14941 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14942 (efi_wrap_10): New function.
14943
14944 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14945
14946 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14947 MB/MBP model (NV chipset).
14948 (devdata_devs): Add devpath_5 to the list.
14949
14950 * load/i386/efi/linux.c (video_base): Remove variable.
14951 (RGB_MASK): New macro.
14952 (RGB_MAGIC): Likewise.
14953 (LINE_MIN): Likewise.
14954 (LINE_MAX): Likewise.
14955 (FBTEST_STEP): Likewise.
14956 (FBTEST_COUNT): Likewise.
14957 (fb_list): New variable.
14958 (grub_find_video_card): Remove function.
14959 (find_framebuf): New function.
14960 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14961 line length.
14962
14963 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14964 problem for x86_64.
14965
74b21bee 149662009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14967
14968 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14969
14970 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14971 coding tool name.
14972
a455f472 149732009-02-22 Robert Millan <rmh@aybabtu.com>
14974
14975 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14976 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14977 in our relocation, instead of using it directly from heap. Also
14978 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14979
6374daf3 149802009-02-21 Robert Millan <rmh@aybabtu.com>
14981
14982 Implement USB keyboard support (based on patch by Marco Gerards)
14983
14984 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14985 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14986 (usb_keyboard_mod_LDFLAGS): New variables.
14987
14988 * term/usb_keyboard.c: New file.
14989
8fa4ea70 149902009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 Corrected wrong declaration
14993
14994 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14995
353976ac 149962009-02-14 Christian Franke <franke@computer.org>
14997
14998 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14999 (grub_lspci_iter): Print class code and programming interface byte.
15000
6aa1169b 150012009-02-14 Christian Franke <franke@computer.org>
15002
15003 * gendistlist.sh: Ignore `.svn' directories.
15004
265372ca 150052009-02-14 Felix Zielcke <fzielcke@z-51.de>
15006
15007 * fs/fat.c: Add 2009 to Copyright line.
15008
9ff516f3 150092009-02-14 Christian Franke <franke@computer.org>
15010
15011 * commands/hdparm.c: New file. Provides `hdparm' command
15012 which sends ATA commands via grub_disk_ata_pass_through ().
15013
15014 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
15015
15016 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
15017 and <grub/cpu/io.h> to include/grub/ata.h.
15018 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
15019 (GRUB_CDROM_SECTOR_SIZE): Remove.
15020 (GRUB_ATA_*): Move to include/grub/ata.h.
15021 (GRUB_ATAPI_*): Likewise.
15022 (enum grub_ata_commands): Likewise.
15023 (enum grub_ata_timeout_milliseconds): Likewise.
15024 (struct grub_ata_device): Likewise.
15025 (grub_ata_regset): Likewise.
15026 (grub_ata_regget): Likewise.
15027 (grub_ata_regset2): Likewise.
15028 (grub_ata_regget2): Likewise.
15029 (grub_ata_check_ready): Likewise.
15030 (grub_ata_wait_not_busy): Remove static, exported in
15031 include/grub/ata.h.
15032 (grub_ata_wait_drq): Likewise.
15033 (grub_ata_pio_read): Likewise.
15034
15035 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
15036 function for hdparm.mod.
15037
15038 * include/grub/ata.h: New file, contains declarations from
15039 disk/ata.c.
15040 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
15041
15042 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
15043 (grub_disk_ata_pass_through): New exported variable.
15044
15045 * kern/disk.c (grub_disk_ata_pass_through): New variable.
15046
772e23da 150472009-02-13 Colin D Bennett <colin@gibibit.com>
15048
15049 Support multiple fallback entries, and provide an API to support
15050 executing default+fallback menu entries. Renamed the `terminal' menu
15051 viewer to `text'.
15052
15053 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
15054 variable declaration.
15055 (grub_menu_execute_callback): New structure declaration.
15056 (grub_menu_execute_callback_t): New typedef.
15057 (grub_menu_execute_with_fallback): New function declaration.
15058 (grub_menu_get_entry): Likewise.
15059 (grub_menu_get_timeout): Likewise.
15060 (grub_menu_set_timeout): Likewise.
15061
15062 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
15063
15064 * normal/menu.c (grub_wait_after_message): Moved to
15065 `normal/menu_text.c'.
15066 (draw_border): Likewise.
15067 (print_message): Likewise.
15068 (print_entry): Likewise.
15069 (print_entries): Likewise.
15070 (grub_menu_init_page): Likewise.
15071 (get_entry_number): Likewise.
15072 (print_timeout): Likewise.
15073 (run_menu): Likewise.
15074 (grub_menu_execute_entry): Likewise.
15075 (show_text_menu): Likewise.
15076 (get_and_remove_first_entry_number): New function.
15077 (grub_menu_execute_with_fallback): Likewise.
15078 (get_entry): Renamed to ...
15079 (grub_menu_get_entry): .. this and made it global.
15080 (get_timeout): Renamed to ...
15081 (grub_menu_get_timeout): ... this and made it global.
15082 (set_timeout): Renamed to ...
15083 (grub_menu_set_timeout): ... this and made it global.
15084 (grub_normal_terminal_menu_viewer): Renamed to ...
15085 (grub_normal_text_menu_viewer): ... this.
15086
15087 * normal/menu_text.c: New file. Extracted text-menu-specific code
15088 from normal/menu.c.
15089
15090 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
15091 (normal_mod_SOURCES): Likewise.
15092
15093 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15094 (normal_mod_SOURCES): Likewise.
15095
15096 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15097 (normal_mod_SOURCES): Likewise.
15098
15099 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
15100 (normal_mod_SOURCES): Likewise.
15101
15102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15103 (normal_mod_SOURCES): Likewise.
15104
15105 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15106 (normal_mod_SOURCES): Likewise.
15107
15108 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15109 (normal_mod_SOURCES): Likewise.
15110
16ac430e 151112009-02-11 Robert Millan <rmh@aybabtu.com>
15112
15113 * util/grub.d/00_header.in: Update old reference to `font' command.
15114
06ff20fc 151152009-02-10 Felix Zielcke <fzielcke@z-51.de>
15116
15117 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
15118
15119 Based on patch from Javier Martín.
15120
96da9407 151212009-02-09 Felix Zielcke <fzielcke@z-51.de>
15122
15123 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 15124 to avoid false positives with FAT.
96da9407 15125 (grub_fstest_SOURCES): Likewise.
15126 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15127 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15129 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15130 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15131 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15132
6dca6fe4 151332009-02-09 Felix Zielcke <fzielcke@z-51.de>
15134
06ff20fc 15135 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 15136 bpb.version_specific.fat12_or_fat16.fstype and
15137 bpb.version_specific.fat32.fstype.
15138
2550c62f 151392009-02-08 Robert Millan <rmh@aybabtu.com>
15140
be110b30 15141 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 15142
56978920 151432009-02-08 Robert Millan <rmh@aybabtu.com>
15144
15145 * Makefile.in (host_os, host_cpu): New variables.
15146 (target_os): Remove. Update all users.
15147
d64399b5 151482009-02-08 Marco Gerards <marco@gnu.org>
15149
15150 * Makefile.in (enable_grub_emu_usb): New variable.
15151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
15152 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
15153 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
15154 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
15155 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
15156 `usbtest.mod' and `usbms.mod'.
15157 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
15158 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
15159 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
15160 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
15161 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
15162 variables.
15163
15164 * disk/usbms.c: New file.
15165
15166 * include/grub/usb.h: Likewise.
15167
15168 * include/grub/usbtrans.h: Likewise.
15169
15170 * include/grub/usbdesc.h: Likewise.
15171
15172 * bus/usb/usbtrans.c: Likewise.
15173
15174 * bus/usb/ohci.c: Likewise.
15175
15176 * bus/usb/uhci.c: Likewise.
15177
15178 * bus/usb/usbhub.c: Likewise.
15179
15180 * bus/usb/usb.c: Likewise.
15181
15182 * commands/usbtest.c: Likewise.
15183
15184 * util/usb.c: Likewise.
50fb7002 15185
d64399b5 15186 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
15187
15188 * configure.ac: Test for libusb presence.
50fb7002 15189
d64399b5 15190 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
15191
2b40d6bb 151922009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
15193
15194 * kern/mm.c: Add more comments.
15195
73a4ce81 151962009-02-08 Robert Millan <rmh@aybabtu.com>
15197
15198 Patch from Javier Martín.
15199 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
15200 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
15201
f821ce59 152022009-02-08 Robert Millan <rmh@aybabtu.com>
15203
15204 * fs/cpio.c: Split tar functionality to ...
15205 * fs/tar.c: ... here (new file). Update all users.
15206
aebfc4b0 152072009-02-07 Robert Millan <rmh@aybabtu.com>
15208
15209 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
15210 backward-incompatible features.
15211
15212 Based on patch from Javier Martín, with some adjustments.
15213
50fb7002 152142009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 15215
15216 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
15217
0bb5115e 152182009-02-07 Robert Millan <rmh@aybabtu.com>
15219
15220 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
15221 position of `disk/lvm.c' to ensure grub_init_all() always picks it
15222 after the RAID stuff.
15223
38a0f8e7 152242009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
15225
50fb7002 15226 Fixes problem when running vbetest command as reported by
38a0f8e7 15227 Vladimir Serbinenko <phcoder@gmail.com>.
15228
15229 * (grub_vbe_set_video_mode): Fixed problem with text modes.
15230
3143cc1c 152312009-02-04 Felix Zielcke <fzielcke@z-51.de>
15232
15233 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
15234 /dev/md/NpN style mdraid devices.
15235
9cba6fce 152362009-02-03 Felix Zielcke <fzielcke@z-51.de>
15237
15238 * util/unifont2pff.rb: Remove.
15239
e507a2c1 152402009-02-03 Felix Zielcke <fzielcke@z-51.de>
15241
15242 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
15243 `#'.
15244
d2c2b4cd 152452009-02-03 Felix Zielcke <fzielcke@z-51.de>
15246
15247 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
15248 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15249 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15250 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15252 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15253 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15254
b4315fb0 152552009-02-02 Christian Franke <franke@computer.org>
15256
15257 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15258
de3aa260 152592009-02-01 Felix Zielcke <fzielcke@z-51.de>
15260
7c3ff286 15261 * INSTALL: Note that we now require at least autoconf 2.59 and
15262 that LZO is optional.
de3aa260 15263
825a182b 152642009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15265
15266 Base on patch on bug #24154 created by Tomas Tintera
15267 <trosos@seznam.cz>.
15268
15269 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15270
a69ef770 152712009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15272
7c3ff286 15273 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 15274 <bero@arklinux.org>.
15275
15276 * normal/parser.y (script_init): Add missing semicolon.
15277
6fa42fa6 152782009-01-31 Colin D Bennett <colin@gibibit.com>
15279
7c3ff286 15280 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 15281 (free_menu_entry_classes): Added.
15282 (grub_normal_menu_addentry): Added class property handling.
15283 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15284 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15285
15286 * normal/menu_viewer.c: New file.
15287
15288 * normal/menu.c (run_menu_entry): Renamed to ...
15289 (grub_menu_execute_entry): ... this and made it as global.
15290 (grub_menu_run): Renamed to ...
15291 (show_text_menu): ... this and made it local.
15292 (show_text_menu): Adapt to new function names.
15293 (grub_normal_terminal_menu_viewer): New global variable.
15294
15295 * include/grub/menu.h: New file.
15296
15297 * include/grub/menu_viewer.h: New file.
15298
15299 * include/grub/normal.h: Added include to grub/menu.h.
15300 (grub_menu_entry): Moved to include/grub/menu.h.
15301 (grub_menu_entry_t): Likewise.
15302 (grub_menu): Likewise.
15303 (grub_menu_t): Likewise.
15304 (grub_normal_terminal_menu_viewer): Added.
15305 (grub_menu_execute_entry): Likewise.
15306 (grub_menu_run): Removed.
15307
15308 * DISTLIST: Added include/grub/menu.h.
15309 Added include/grub/menu_viewer.h.
15310 Added normal/menu_viewer.c.
15311
153122009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15313
15314 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15315 arglist for menutitle arguments.
15316
15317 * normal/main.c (grub_normal_menu_addentry): Likewise.
15318
15319 * normal/parser.y (menuentry): Likewise.
15320
15321 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15322
15323 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15324 (grub_script_create_cmdmenu): Likewise.
15325
15326 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15327
15328 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15329 changes.
15330
15331 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15332
15333 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15334
15335 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15336
15337 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15338
15339 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15340
15341 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15342
56192c23 153432009-01-30 Christian Franke <franke@computer.org>
15344
15345 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15346 in option help text.
15347
d72521b3 153482009-01-27 Pavel Roskin <proski@gnu.org>
15349
15350 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15351
994b5e84 153522009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15353
15354 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15355
15356 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15357
15358 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15359 unregister function.
15360
6a7eab2c 153612009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15362
15363 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15364
15365 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15366
15367 * util/grub-mkfont.c (usage): Fix typo.
15368
15369 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15370
1806b56e 153712009-01-26 Daniel Mierswa <impulze@impulze.org>
15372
3fb18f09 15373 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15374
336e1fb9 15375 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15376
1806b56e 15377 * kern/misc.c (grub_strcasecmp): New function.
15378 (grub_strcasecmp): Use grub_size_t instead of int for length.
15379 Fix return value.
15380 * include/grub/misc.h: Update function prototypes.
15381
580b2a0f 153822009-01-26 Robert Millan <rmh@aybabtu.com>
15383
15384 * configure.ac: Fix cross-compilation check.
ef257b36 15385
d31c24f1 153862009-01-22 Christian Franke <franke@computer.org>
15387
15388 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15389 (precision) digit string. Allow `.format2' without `format1' (width).
15390 Limit input chars for `%s' output to `format2' if specified. This is
15391 compatible with standard printf ().
15392
3138b44c 153932009-01-22 Christian Franke <franke@computer.org>
15394
15395 * disk/ata.c (grub_ata_wait_status): Replace by ...
15396 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15397 other status bits may be invalid while BSY is asserted.
15398 (grub_ata_check_ready): New function.
15399 (grub_ata_cmd): Removed.
15400 (grub_ata_wait_drq): New function.
15401 (grub_ata_strncpy): Remove inline.
15402 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15403 and error check now done by grub_ata_wait_drq ().
15404 (grub_ata_pio_write): Likewise.
15405 (grub_atapi_identify): Set DEV before check for !BSY. Use
15406 grub_ata_wait_drq () to wait for data.
15407 (grub_ata_device_initialize): Add status register check to
15408 detect missing SATA slave devices. Add debug messages.
15409 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15410 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15411 transfer loop by grub_ata_pio_write ().
15412 (grub_ata_identify): Set DEV before check for !BSY. Use
15413 grub_ata_wait_drq () to wait for data.
ef257b36 15414 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 15415 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15416 read/write in one loop. Fix invalid command on write. Fix incomplete
15417 command on (size % batch) == 0. Add missing error check after write of
15418 last block. Add debug messages.
15419 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15420
59a64ef6 154212009-01-19 Christian Franke <franke@computer.org>
15422
15423 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15424 (GRUB_ATAPI_IREASON_*): Likewise.
15425 (grub_ata_pio_write): Fix timeout error return.
15426 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15427 (grub_atapi_wait_drq): New function.
15428 (grub_atapi_packet): New parameter `size'.
15429 Use grub_atapi_wait_drq () and direct write instead of
15430 grub_ata_pio_write ().
15431 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15432 reads the number of bytes requested by the device for each DRQ
15433 assertion.
15434 (grub_atapi_write): Remove old implementation, return not
15435 implemented instead.
15436
1cfe20b3 154372009-01-19 Christian Franke <franke@computer.org>
15438
15439 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15440 of 512 to calculate data size.
15441 (grub_scsi_read12): Likewise.
15442 (grub_scsi_write10): Likewise.
15443 (grub_scsi_write12): Likewise.
15444 (grub_scsi_read): Adjust size according to blocksize.
15445 Add checks for invalid blocksize and unaligned transfer.
15446
bee5fe5d 154472009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15448
15449 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15450
ef257b36 15451 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 15452 width glyphs.
15453
3e643f8c 154542009-01-19 Robert Millan <rmh@aybabtu.com>
15455
15456 * config.guess: Update to latest version from config git.
15457 * config.sub: Likewise.
15458
4fa80998 154592009-01-17 Felix Zielcke <fzielcke@z-51.de>
15460
15461 * Makefile.in: Change font compilation to use new grub-mkfont instead
15462 of java version.
15463
15464 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15465 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15466 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15467 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15468 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15469 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15470 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15471 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15472 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15473
7086085b 154742009-01-16 Christian Franke <franke@computer.org>
15475
15476 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15477 (enum grub_ata_timeout_milliseconds): New enum.
15478 (grub_ata_wait_status): Add parameter milliseconds.
15479 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15480 recovery from timed-out commands.
15481 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15482 return grub_errno instead of REG_ERROR.
15483 (grub_ata_pio_write): Add parameter milliseconds.
15484 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15485 Pass milliseconds to grub_ata_wait_status () and
15486 grub_ata_pio_read ().
15487 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15488 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15489 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15490 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15491 It is not suitable for device detection, because DEV bit is ignored,
15492 the command may run too long, and not all devices set the signature
15493 properly.
15494 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15495 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15496 Fix device selection, DEV bit must be set first to address the registers
15497 of the correct device.
15498 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15499 grub_ata_pio_read/write ().
15500 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15501 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15502
4a412913 155032009-01-13 Carles Pina i Estany <carles@pina.cat>
15504
15505 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15506
7795c55e 155072009-01-13 Bean <bean123ch@gmail.com>
d913988c 15508
15509 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15510
7795c55e 155112009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 15512
15513 * Makefile.in: (enable_grub_mkfont): New variable.
15514 (freetype_cflags): Likewise.
15515 (freetype_libs): Likewise.
15516
15517 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15518 (grub_mkfont_SOURCES): New variable.
15519 (grub_mkfont_CFLAGS): Likewise.
15520 (grub_mkfont_LDFLAGS): Likewise.
15521
15522 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15523 library if `--enable-grub-mkfont' is requested.
15524 (enable_grub_mkfont): New variable.
15525 (freetype_cflags): Likewise.
15526 (freetype_libs): Likewise.
15527
15528 * util/grub-mkfont.c: New file.
15529
093af1fe 155302009-01-12 Christian Franke <franke@computer.org>
15531
15532 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15533 mode check. Fix setting of compat_use[].
15534
f36cc108 155352009-01-10 Robert Millan <rmh@aybabtu.com>
15536
15537 Update a few copyright years which we forgot to do in 2008 (only for
15538 files whose changes made in 2008 were copyright-significant)
15539
15540 * Makefile.in: Add 2008 to Copyright line.
15541 * disk/ieee1275/ofdisk.c: Likewise.
15542 * disk/efi/efidisk.c: Likewise.
15543 * kern/dl.c: Likewise.
15544 * kern/sparc64/ieee1275/init.c: Likewise.
15545 * kern/mm.c: Likewise.
15546 * kern/efi/mm.c: Likewise.
15547 * boot/i386/pc/boot.S: Likewise.
15548 * genfslist.sh: Likewise.
15549 * fs/iso9660.c: Likewise.
15550 * fs/hfs.c: Likewise.
15551 * fs/jfs.c: Likewise.
15552 * fs/minix.c: Likewise.
15553 * fs/ufs.c: Likewise.
15554 * gensymlist.sh.in: Likewise.
15555 * genkernsyms.sh.in: Likewise.
15556 * include/grub/misc.h: Likewise.
15557 * include/grub/types.h: Likewise.
15558 * include/grub/symbol.h: Likewise.
15559 * include/grub/elf.h: Likewise.
15560 * include/grub/kernel.h: Likewise.
15561 * include/grub/disk.h: Likewise.
15562 * include/grub/dl.h: Likewise.
15563 * include/grub/i386/linux.h: Likewise.
15564 * include/grub/i386/pc/biosdisk.h: Likewise.
15565 * include/grub/efi/api.h: Likewise.
15566 * include/grub/efi/pe32.h: Likewise.
15567 * include/grub/util/misc.h: Likewise.
15568 * normal/execute.c: Likewise.
15569 * normal/arg.c: Likewise.
15570 * normal/completion.c: Likewise.
15571 * normal/lexer.c: Likewise.
15572 * normal/parser.y: Likewise.
15573 * normal/misc.c: Likewise.
15574 * commands/i386/pc/vbeinfo.c: Likewise.
15575 * commands/hexdump.c: Likewise.
15576 * commands/terminal.c: Likewise.
15577 * commands/ls.c: Likewise.
15578 * commands/help.c: Likewise.
15579 * partmap/pc.c: Likewise.
15580 * loader/efi/chainloader.c: Likewise.
15581 * loader/multiboot_loader.c: Likewise.
15582 * loader/i386/pc/multiboot2.c: Likewise.
15583 * term/efi/console.c: Likewise.
15584 * term/i386/pc/serial.c: Likewise.
15585 * util/lvm.c: Likewise.
15586 * util/console.c: Likewise.
15587 * util/i386/efi/grub-mkimage.c: Likewise.
15588 * util/raid.c: Likewise.
15589
7f02114b 155902009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15591
15592 * commands/videotest.c: Removed include to grub/machine/memory.h.
15593
15594 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15595 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15596 (video_mod_SOURCES): Removed.
15597 (video_mod_CFLAGS): Likewise.
15598 (video_mod_LDFLAGS): Likewise.
15599 (gfxterm_mod_SOURCES): Likewise.
15600 (gfxterm_mod_CFLAGS): Likewise.
15601 (gfxterm_mod_LDFLAGS): Likewise.
15602 (videotest_mod_SOURCES): Likewise.
15603 (videotest_mod_CFLAGS): Likewise.
15604 (videotest_mod_LDFLAGS): Likewise.
15605 (bitmap_mod_SOURCES): Likewise.
15606 (bitmap_mod_CFLAGS): Likewise.
15607 (bitmap_mod_LDFLAGS): Likewise.
15608 (tga_mod_SOURCES): Likewise.
15609 (tga_mod_CFLAGS): Likewise.
15610 (tga_mod_LDFLAGS): Likewise.
15611 (jpeg_mod_SOURCES): Likewise.
15612 (jpeg_mod_CFLAGS): Likewise.
15613 (jpeg_mod_LDFLAGS): Likewise.
15614 (png_mod_SOURCES): Likewise.
15615 (png_mod_CFLAGS): Likewise.
15616 (png_mod_LDFLAGS): Likewise.
15617
15618 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15619 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15620 (video_mod_SOURCES): Added.
15621 (video_mod_CFLAGS): Likewise.
15622 (video_mod_LDFLAGS): Likewise.
15623 (videotest_mod_SOURCES): Likewise.
15624 (videotest_mod_CFLAGS): Likewise.
15625 (videotest_mod_LDFLAGS): Likewise.
15626 (bitmap_mod_SOURCES): Likewise.
15627 (bitmap_mod_CFLAGS): Likewise.
15628 (bitmap_mod_LDFLAGS): Likewise.
15629 (tga_mod_SOURCES): Likewise.
15630 (tga_mod_CFLAGS): Likewise.
15631 (tga_mod_LDFLAGS): Likewise.
15632 (jpeg_mod_SOURCES): Likewise.
15633 (jpeg_mod_CFLAGS): Likewise.
15634 (jpeg_mod_LDFLAGS): Likewise.
15635 (png_mod_SOURCES): Likewise.
15636 (png_mod_CFLAGS): Likewise.
15637 (png_mod_LDFLAGS): Likewise.
15638 (gfxterm_mod_SOURCES): Likewise.
15639 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 15640 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 15641
15642 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15643 grub/machine/console.h.
15644
644fff97 156452009-01-04 Jerone Young <jerone@gmail.com>
15646
15647 Make on screen instructions clearer
15648
15649 Based on patch created by Jidanni <jidanni@jidanni.org>
15650
15651 * normal/menu.c: print clearer instructions on the screen
15652
1e901a75 156532009-01-02 Colin D Bennett <colin@gibibit.com>
15654
15655 New font engine.
34c44600 15656
1e901a75 15657 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15658 build system and fixed gfxterm.c to work with different sized fonts.
15659
15660 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 15661
1e901a75 15662 * configure: Re-generated.
34c44600 15663
1e901a75 15664 * DISTLIST: Removed font/manager.c.
15665 Added font/font.c.
15666 Added font/font_cmd.c.
34c44600 15667
1e901a75 15668 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15669 compilation.
34c44600 15670
1e901a75 15671 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 15672
15673 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 15674
15675 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 15676
1e901a75 15677 * normal/menu.c: Likewise.
34c44600 15678
1e901a75 15679 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15680 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 15681
1e901a75 15682 * include/grub/font.h: Replaced with new file.
34c44600 15683
1e901a75 15684 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15685 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15686 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15687 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15688 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 15689 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 15690 fg_red, fg_green, fg_blue, fg_alpha.
15691 (grub_video_adapter): Removed blit_glyph.
34c44600 15692 (grub_video_blit_glyph): Removed.
15693
1e901a75 15694 * font/manager.c: Removed file.
34c44600 15695
15696 * font/font.c: New file.
15697
1e901a75 15698 * font/font_cmd.c: Likewise.
34c44600 15699
1e901a75 15700 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 15701
1e901a75 15702 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15703 (grub_video_vbe_map_rgba): Likewise.
15704 (grub_video_vbe_unmap_color_int): Likewise.
15705 (grub_video_vbe_blit_glyph): Removed.
15706 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 15707
1e901a75 15708 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15709 (get_pixel): Likewise.
34c44600 15710 (set_pixel): Likewise.
15711
1e901a75 15712 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 15713
1e901a75 15714 * term/gfxterm.c: Adapted to new font engine.
34c44600 15715
1e901a75 15716 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 15717
1e901a75 15718 * term/i386/pc/vga.c: Likewise.
34c44600 15719
1e901a75 15720 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 15721
1e901a75 15722 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 15723
1e901a75 15724 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15725
1e901a75 15726 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15727
1e901a75 15728 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 15729
1e901a75 15730 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 15731
1e901a75 15732 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 15733
1e901a75 15734 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 15735
1e901a75 15736 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15737
15738 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 15739
1e901a75 15740 * util/grub-mkconfig_lib.in: Changed font extension.
15741
278922e8 157422008-12-28 Felix Zielcke <fzielcke@z-51.de>
15743
15744 * util/getroot.c (grub_util_get_grub_dev): Add support for
15745 /dev/md/dNNpNN style partitionable mdraid devices.
15746
3ced05cf 157472008-12-12 Alex Smith <alex@alex-smith.me.uk>
15748
15749 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15750 at a time limit of the PXE TFTP API correctly.
15751 (grub_pxefs_close): Likewise.
15752
7fd0ee30 157532008-11-29 Robert Millan <rmh@aybabtu.com>
15754
34c44600 15755 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 15756 grub_ata_device_initialize() calls.
15757
34c44600 157582008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 15759
15760 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15761 iteration failed.
15762 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15763
89313780 157642008-11-28 Robert Millan <rmh@aybabtu.com>
15765
15766 Fix build on powerpc-ieee1275. Based on patch created by
15767 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15768 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15769 `kern/ieee1275/mmap.c'.
15770 * include/grub/powerpc/ieee1275/memory.h: New file.
15771
15257703 15772 Provide grub-install on coreboot.
15773 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15774 (grub_install_SOURCES): New variable.
15775 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15776 usable on coreboot.
15777
9fc5388a 157782008-11-25 Felix Zielcke <fzielcke@z-51.de>
15779
15780 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15781 to `grub_term_input_t'.
15782 (grub_term_get_current_output): Change return type to
15783 `grub_term_output_t'.
15784
bc3a2f31 157852008-11-22 Robert Millan <rmh@aybabtu.com>
15786
34c44600 15787 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 15788 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15789 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15790 grub_vga_text_cls().
15791
80fc88f2 15792 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 15793 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 15794
cbf36fd3 15795 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15796 to 0x200000 (avoids trouble with some OFW implementations, and matches
15797 with the one in Yaboot).
15798 Reported by Manoel Abranches
15799
73e8e268 158002008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 15801
15802 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15803 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15804
73e8e268 15805 * util/grub-mkconfig_lib.in (grub_warn): New function.
15806 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15807 warnings, to obtain consistent formatting.
15808 * util/grub.d/00_header.in: Likewise.
15809 * util/update-grub_lib.in: Likewise.
15810
e94045a1 15811 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 15812 Move comment text to `#error' stanza.
e94045a1 15813
79d29fd7 15814 Harmonize ieee1275's grub_available_iterate() with the generic
15815 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15816 build problem on i386-ieee1275):
15817 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15818 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15819 parameter `type'. Update all users of this function.
15820 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15821 `kern/ieee1275/mmap.c'.
15822 * kern/ieee1275/init.c
15823 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15824 with ...
15825 (grub_machine_mmap_iterate): ... this.
15826 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15827 return type to `grub_err_t'. Update all implementations of this
15828 function prototype.
15829 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15830 Likewise.
15831
60d6b16e 15832 Add `lsmmap' command (lists firmware-provided memory map):
15833 * commands/lsmmap.c: New file.
15834 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15835 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15836 variables.
15837 * conf/powerpc-ieee1275.rmk: Likewise.
15838 * conf/i386-coreboot.rmk: Likewise.
15839 * conf/i386-ieee1275.rmk: Likewise.
15840
ebaaf49b 158412008-11-19 Robert Millan <rmh@aybabtu.com>
15842
15843 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 15844 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15845 constraints to initrd allocation (based on code from
15846 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15847 for Linux to find it.
ebaaf49b 15848
dfab719f 158492008-11-14 Robert Millan <rmh@aybabtu.com>
15850
15851 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15852 order to cope with duplicate slashes.
15853
10fc3eb9 158542008-11-14 Robert Millan <rmh@aybabtu.com>
15855
15856 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15857 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15858 don't want to mess with lower memory, because it is used in the Linux
15859 loader.
15860
15861 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 15862 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 15863 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15864 is in our heap (probably as a result of it being corrupted during
2f2a3442 15865 decompression). Add #error instance with comment to explain why this
15866 loader isn't currently usable on PC/BIOS.
10fc3eb9 15867
e2e07847 158682008-11-14 Robert Millan <rmh@aybabtu.com>
15869
15870 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 15871 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 15872
fe8e8d69 158732008-11-12 Robert Millan <rmh@aybabtu.com>
15874
15875 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15876
15877 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15878 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15879 from here ...
15880 * include/grub/i386/pc/memory.h: ... to here.
15881
976b07d0 158822008-11-12 Robert Millan <rmh@aybabtu.com>
15883
15884 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15885 split).
15886
15887 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15888 (grub_console_cur_color, grub_console_real_putchar)
15889 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15890 (grub_console_setcolorstate, grub_console_setcolor)
15891 (grub_console_getcolor): Move from here ...
15892 * include/grub/i386/vga_common.h: ... to here (new file).
15893
15894 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15895 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15896 `<grub/i386/io.h>'.
15897 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15898 `<grub/i386/vga_common.h>'.
15899
76679cd3 159002008-11-12 Robert Millan <rmh@aybabtu.com>
15901
15902 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15903 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15904 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15905 variables.
15906 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15907 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15908
15909 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15910 grub_console_init() with call to grub_vga_text_init().
15911 (grub_machine_fini): Replace call to
15912 grub_console_fini() with call to grub_vga_text_fini() and
15913 grub_at_keyboard_fini().
15914
15915 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15916 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15917 (grub_console_setcolorstate, grub_console_setcolor)
15918 (grub_console_getcolor): New function prototypes.
15919
15920 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15921 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15922 (grub_vga_text_setcursor): Static-ize.
15923 (grub_vga_text_term): New structure.
15924 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15925
15926 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15927 (grub_console_cur_color, grub_console_standard_color)
15928 (grub_console_normal_color, grub_console_highlight_color)
15929 (map_char, grub_console_putchar, grub_console_getcharwidth)
15930 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15931 (grub_console_getcolor): Move from here ...
15932 * term/i386/vga_common.c: ... to here (same function names).
15933
95b841d3 159342008-11-12 Robert Millan <rmh@aybabtu.com>
15935
15936 Use newly-added Multiboot support in coreboot.
15937
15938 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15939 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15940
15941 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15942 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15943 (codestart): Store the MBI in `startup_multiboot_info' when we're
15944 being loaded using Multiboot.
15945
15946 * kern/i386/coreboot/init.c (grub_machine_init): Move
15947 grub_at_keyboard_init() call to beginning of function (useful for
15948 debugging). Call grub_machine_mmap_init() before attempting to use
15949 grub_machine_mmap_iterate().
15950 (grub_lower_mem, grub_upper_mem): Move from here ...
15951 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15952 here (new file).
15953
15954 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15955 function prototype.
15956
761ca975 159572008-11-12 Robert Millan <rmh@aybabtu.com>
15958
15959 Fix a regression introduced by the at_keyboard.mod split. Because
15960 some terminals are default on some platforms and non-default on
15961 others, the first terminal being registered determines which is
15962 going to be default.
15963
15964 * kern/term.c (grub_term_register_input): If this is the first
15965 terminal being registered, set it as the current one.
15966 (grub_term_register_output): Likewise.
15967
15968 * term/efi/console.c (grub_console_init): Do not call
15969 grub_term_set_current_output() or grub_term_set_current_input().
15970 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15971 * term/i386/pc/console.c (grub_console_init): Likewise.
15972 (grub_console_fini): Do not call grub_term_set_current_input()
15973 (but leave grub_term_set_current_output() to restore text mode).
15974
6c529df7 159752008-11-10 Robert Millan <rmh@aybabtu.com>
15976
15977 * util/grub.d/00_header.in: Add backward compatibility check for
15978 versions of terminal.mod that don't understand `terminal_input' or
15979 `terminal_output'.
15980
132e4113 159812008-11-09 Robert Millan <rmh@aybabtu.com>
15982
15983 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15984 `terminal_input' / `terminal_output', not `terminal'.
15985
ac293d50 159862008-11-08 Robert Millan <rmh@aybabtu.com>
15987
15988 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 15989 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 15990
0025933a 159912008-11-08 Robert Millan <rmh@aybabtu.com>
15992
15993 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 15994 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 15995 members. Update all users.
15996 * util/console.c (grub_ncurses_term): Split in ...
15997 (grub_ncurses_term_input): ... this, and ...
15998 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 15999 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 16000
37c86336 160012008-11-08 Robert Millan <rmh@aybabtu.com>
16002
16003 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
16004 (PKGDATA): Add $(pkgdata_SRCDIR).
16005 (pkglib_BUILDDIR): New variable.
16006 (pkgdata_SRCDIR): New variable.
16007 (build_env.mk): New target.
16008 (include_DATA): New variable.
16009 (install-local): Install $(include_DATA) files in $(includedir).
16010
b6c15a2d 160112008-11-07 Pavel Roskin <proski@gnu.org>
16012
d99d46f1 16013 * gendistlist.sh: Use C locale for sorting to ensure consistent
16014 output on all systems.
16015
b6c15a2d 16016 * util/grub.d/00_header.in: Remove incorrect space before
16017 "serial".
16018
c32ee8c9 160192008-11-07 Robert Millan <rmh@aybabtu.com>
16020
16021 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
16022 per specification.
16023 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
16024 * loader/multiboot_loader.c (find_multi_boot2_header): New function
16025 (based on find_multi_boot1_header).
16026 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
16027 using find_multi_boot2_header(), and abort if neither Multiboot or
16028 Multiboot headers were found.
16029
651c29b7 160302008-11-07 Robert Millan <rmh@aybabtu.com>
16031
16032 Modularize at_keyboard.mod:
16033
16034 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
16035 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16036 (at_keyboard_mod_LDFLAGS): New variables.
16037
16038 Actual terminal split:
16039
16040 * include/grub/term.h (struct grub_term): Split in ...
16041 (struct grub_term_input): ... this, and ...
16042 (struct grub_term_output): ... this. Update all users.
16043 (grub_term_set_current): Split in ...
16044 (grub_term_set_current_input): ... this, and ...
16045 (grub_term_set_current_output): ... this.
16046 (grub_term_get_current): Split in ...
16047 (grub_term_get_current_input): ... this, and ...
16048 (grub_term_get_current_output): ... this.
16049 (grub_term_register): Split in ...
16050 (grub_term_register_input): ... this, and ...
16051 (grub_term_register_output): ... this.
16052 (grub_term_unregister): Split in ...
16053 (grub_term_unregister_input): ... this, and ...
16054 (grub_term_unregister_output): ... this.
16055 (grub_term_iterate): Split in ...
16056 (grub_term_iterate_input): ... this, and ...
16057 (grub_term_iterate_output): ... this.
16058
16059 * kern/term.c (grub_term_list): Split in ...
16060 (grub_term_list_input): ... this, and ...
16061 (grub_term_list_output): ... this. Update all users.
16062 (grub_cur_term): Split in ...
16063 (grub_cur_term_input): ... this, and ...
16064 (grub_cur_term_output): ... this. Update all users.
16065 (grub_term_set_current): Split in ...
16066 (grub_term_set_current_input): ... this, and ...
16067 (grub_term_set_current_output): ... this.
16068 (grub_term_get_current): Split in ...
16069 (grub_term_get_current_input): ... this, and ...
16070 (grub_term_get_current_output): ... this.
16071 (grub_term_register): Split in ...
16072 (grub_term_register_input): ... this, and ...
16073 (grub_term_register_output): ... this.
16074 (grub_term_unregister): Split in ...
16075 (grub_term_unregister_input): ... this, and ...
16076 (grub_term_unregister_output): ... this.
16077 (grub_term_iterate): Split in ...
16078 (grub_term_iterate_input): ... this, and ...
16079 (grub_term_iterate_output): ... this.
16080
16081 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
16082 a check for input and one for output (and only attempt to get keys
16083 from user when input works).
16084
16085 * util/grub-probe.c (grub_term_get_current): Split in ...
16086 (grub_term_get_current_input): ... this, and ...
16087 (grub_term_get_current_output): ... this.
16088 * util/grub-fstest.c: Likewise.
16089 * util/i386/pc/grub-setup.c: Likewise.
16090 * util/grub-editenv.c: Likewise.
16091
16092 Portability adjustments:
16093
16094 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
16095 `term/i386/pc/at_keyboard.c'.
16096 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
16097 grub_keyboard_controller_init() (now handled by terminal .init).
16098 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
16099 grub_at_keyboard_init().
16100 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
16101 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
16102 at_keyboard.mod via input terminal interface).
16103 * include/grub/i386/coreboot/console.h: Convert into a stub for
16104 `<grub/i386/pc/console.h>'.
16105
16106 Migrate full terminals to new API:
16107
16108 * term/efi/console.c (grub_console_term): Split into ...
16109 (grub_console_term_input): ... this, and ...
16110 (grub_console_term_output): ... this. Update all users.
16111 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
16112 (grub_ofconsole_init): Split into ...
16113 (grub_ofconsole_init_input): ... this, and ...
16114 (grub_ofconsole_init_output): ... this.
16115 (grub_ofconsole_term): Split into ...
16116 (grub_ofconsole_term_input): ... this, and ...
16117 (grub_ofconsole_term_output): ... this. Update all users.
16118 * term/i386/pc/serial.c (grub_serial_term): Split into ...
16119 (grub_serial_term_input): ... this, and ...
16120 (grub_serial_term_output): ... this. Update all users.
16121 * term/i386/pc/console.c (grub_console_term): Split into ...
16122 (grub_console_term_input): ... this, and ...
16123 (grub_console_term_output): ... this. Update all users.
16124 (grub_console_term_input): Only enable it on PC/BIOS platform.
16125 (grub_console_init): Remove grub_keyboard_controller_init() call.
16126
16127 Migrate input terminals to new API:
16128
16129 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
16130 `i386' and `i386/pc' to enable build on x86_64 (this driver is
16131 i386-specific anyway).
16132 (grub_console_checkkey): Rename to ...
16133 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
16134 users.
16135 (grub_keyboard_controller_orig): New variable.
16136 (grub_console_getkey): Rename to ...
16137 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
16138 users.
16139 (grub_keyboard_controller_init): Static-ize. Save original
16140 controller value so that it can be restored ...
16141 (grub_keyboard_controller_fini): ... here (new function).
16142 (grub_at_keyboard_term): New structure.
16143 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
16144 functions.
16145
16146 Migrate output terminals to new API:
16147
16148 * term/i386/pc/vga.c (grub_vga_term): Change type to
16149 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16150 members. Update all users.
16151 * term/gfxterm.c (grub_video_term): Change type to
16152 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16153 members. Update all users.
16154 * include/grub/i386/pc/console.h (grub_console_checkkey)
16155 (grub_console_getkey): Do not export (no longer needed by gfxterm,
16156 etc).
16157
16158 Migrate `terminal' command and userland tools to new API:
16159
16160 * commands/terminal.c (grub_cmd_terminal): Split into ...
16161 (grub_cmd_terminal_input): ... this, and ...
16162 (grub_cmd_terminal_output): ... this.
16163 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
16164 `terminal_input' and `terminal_output'.
16165 * util/grub.d/00_header.in: Adjust `terminal' calls to new
16166 `terminal_input' / `terminal_output' API.
16167 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
16168 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
16169 provided ${GRUB_TERMINAL}, convert it).
16170
96e5d876 161712008-11-04 Robert Millan <rmh@aybabtu.com>
16172
16173 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
16174 for FreeBSD.
16175 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
16176
556f3775 161772008-11-03 Bean <bean123ch@gmail.com>
16178
16179 * kern/elf.c (grub_elf32_load): Revert to previous code.
16180 (grub_elf64_load): Likewise.
16181
16182 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
16183
926b9823 161842008-11-01 Robert Millan <rmh@aybabtu.com>
16185
16186 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
16187 (TARGET_CPPFLAGS): Likewise.
16188 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
16189
1432e958 161902008-11-01 Carles Pina i Estany <carles@pina.cat>
16191
16192 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
16193
dba3f844 161942008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 16195
16196 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
16197 addition of objects until the code is not going to be able to fail.
16198
dba3f844 161992008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 16200
16201 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
16202 (add a missing NULL check, and correct them by moving the pointer
16203 operations after the actual check).
16204
7ab28c21 162052008-10-29 Robert Millan <rmh@aybabtu.com>
16206
16207 * util/i386/pc/grub-install.in: Handle empty string as output from
16208 make_system_path_relative_to_its_root().
16209
1b7748eb 162102008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
16211
16212 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
16213 circular metadata worst case scenario. If the metadata is circular
16214 then copy the wrap in place.
16215 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
16216 project lib/format_text/layout.h
16217 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
16218
c9618ab2 162192008-10-03 Felix Zielcke <fzielcke@z-51.de>
16220
7a36edca 16221 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 16222
bf981c62 162232008-10-03 Felix Zielcke <fzielcke@z-51.de>
16224
16225 * util/update-grub_lib.in: Mention filename in warning message.
16226
6d994591 162272008-09-29 Felix Zielcke <fzielcke@z-51.de>
16228
16229 * NEWS: Update for rename of update-grub to grub-mkconfig.
16230
18ade780 162312008-09-29 Felix Zielcke <fzielcke@z-51.de>
16232
16233 * util/update-grub_lib.in: Copy to ...
16234 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 16235 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 16236 * util/update-grub.in: Rename to ...
16237 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
16238 option. Add `--output' option to allow users to specify the generated
16239 configuration file. Default to stdout.
16240 (update_grub_dir): Rename to ...
16241 (grub_mkconfig_dir): ... this.
16242 (grub_cfg): Default to an empty string.
16243 * conf/common.rmk (update-grub): Rename to ...
16244 (grub-mkconfig): ... this.
16245 (update-grub_lib): Copy to ...
16246 (grub-mkconfig_lib): ... this.
16247 (update-grub_SCRIPTS): Copy to ...
16248 (grub-mkconfig_SCRIPTS): ... this. Update all users.
16249 (update-grub_DATA): Rename to ...
16250 (grub-mkconfig_DATA): ... this.
16251
556ce6ac 162522008-09-28 Robert Millan <rmh@aybabtu.com>
16253
16254 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
16255 to `modified'. Add the real `created' field.
16256 (grub_iso9660_uuid): Use `modified' rather than `created' for
16257 constructing the UUID.
16258
162592008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 16260
16261 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16262 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16263
92274e85 162642008-09-28 Bean <bean123ch@gmail.com>
16265
16266 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16267 Thanks to Christian Franke for finding this bug.
16268
add6f17a 162692008-09-25 Robert Millan <rmh@aybabtu.com>
16270
16271 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16272 instances of grub_util_get_disk_name() (see previous commit).
16273
d2a367b8 162742008-09-25 Robert Millan <rmh@aybabtu.com>
16275
16276 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16277 `util/i386/get_disk_name.c'.
16278 * conf/i386-efi.rmk: Likewise.
16279 * conf/x86_64-efi.rmk: Likewise.
16280 * conf/i386-coreboot.rmk: Likewise.
16281 * conf/i386-ieee1275.rmk: Likewise.
16282 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16283 `util/ieee1275/get_disk_name.c'.
16284 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16285 * util/ieee1275/get_disk_name.c: Remove file.
16286 * util/i386/get_disk_name.c: Remove file.
16287 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16288 "hd%d" for device.map entries, rather than using
16289 grub_util_get_disk_name().
16290
81a06771 162912008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 16292
16293 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16294 warning.
16295 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16296
5a004279 162972008-09-24 Carles Pina i Estany <carles@pina.cat>
16298
16299 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16300 Changed to 0x5100.
16301 (GRUB_TERM_PPAGE): Changed to 0x4900.
16302
397093d3 163032008-09-24 Robert Millan <rmh@aybabtu.com>
16304
16305 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16306 macros (they were i386-pc specific).
16307 * include/grub/sparc64/ieee1275/console.h: Likewise.
16308 * include/grub/efi/console.h: Likewise.
16309
a91b6c7c 163102008-09-22 Bean <bean123ch@gmail.com>
16311
16312 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16313 resident and in attribute list.
16314
16315 * include/grub/ntfs.h (BMP_LEN): Removed.
16316
c40fd116 163172008-09-22 Bean <bean123ch@gmail.com>
16318
81a06771 16319 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 16320 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16321
16322 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16323 error occurs, as grub_disk_open will call grub_disk_close, which will
16324 call p->close (scsi).
16325
81a06771 163262008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 16327
16328 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16329 (AC_PREREQ): Bumped to 2.59.
16330 (AC_TRY_COMPILE): Replace obsolete macro with ...
16331 (AC_COMPILE_IFELSE): ... this.
16332 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16333 (AC_LINK_IFELSE): ... this.
16334
5dc43410 163352008-09-21 Felix Zielcke <fzielcke@z-51.de>
16336
16337 * autogen.sh: Add a call to `gendistlist.sh'.
16338
9035dce4 163392008-09-19 Christian Franke <franke@computer.org>
16340
16341 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16342 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16343 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16344 Export __enable_execute_stack() to modules.
16345 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16346 New function.
16347
7fd75377 163482008-09-09 Felix Zielcke <fzielcke@z-51.de>
16349
040030b3 16350 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16351 Sort the list.
16352
163532008-09-09 Felix Zielcke <fzielcke@z-51.de>
16354
16355 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 16356 #include <grub/util/hostdisk.h>.
16357
89d5ffcf 163582008-09-08 Robert Millan <rmh@aybabtu.com>
16359
16360 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16361 segments when their filesz is zero (grub_file_read() interprets
81a06771 16362 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 16363 Use `lowest_segment' rather than 0 for calculating the current
16364 segment load address.
16365
40da438f 163662008-09-08 Robert Millan <rmh@aybabtu.com>
16367
16368 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16369 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16370 clobbered useful information.
16371
ddbf5556 163722008-09-08 Robert Millan <rmh@aybabtu.com>
16373
16374 * include/grub/util/biosdisk.h: Move to ...
16375 * include/grub/util/hostdisk.h: ... here. Update all users.
16376 * util/biosdisk.c: Move to ...
16377 * util/hostdisk.c: ... here. Update all users.
16378
783d0f48 163792008-09-07 Robert Millan <rmh@aybabtu.com>
16380
16381 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16382 variables.
16383 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16384 and length can be stored directly in the `mbi->mmap_addr' and
16385 `mbi->mmap_length' struct fields.
16386
548e2ea5 163872008-09-07 Robert Millan <rmh@aybabtu.com>
16388
16389 * conf/i386.rmk: New file. Provides declaration for building
16390 `cpuid.mod'.
16391 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16392 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16393 variables.
16394 Include `conf/i386.mk'.
16395 * conf/i386-efi.rmk: Likewise.
16396 * conf/x86_64-efi.rmk: Likewise.
16397 * conf/i386-coreboot.rmk: Likewise.
16398 * conf/i386-ieee1275.rmk: Likewise.
16399
0ea85a37 164002008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16401
16402 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16403 Adds optimization support for BGR based modes.
16404
16405 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16406 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16407 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16408 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16409 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16410 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16411 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16412 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16413 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16414 (grub_video_i386_vbeblit_index_index): Likewise.
16415 (grub_video_i386_vbeblit_replace_directN): Added.
16416 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16417 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16418 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16419 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16420 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16421 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 16422 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 16423 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16424 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16425 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16426 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16427 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16428 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16429
16430 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16431 (grub_video_i386_vbefill_R8G8B8): Likewise.
16432 (grub_video_i386_vbefill_index): Likewise.
16433 (grub_video_i386_vbefill_direct32): Added.
16434 (grub_video_i386_vbefill_direct24): Likewise.
16435 (grub_video_i386_vbefill_direct16): Likewise.
16436 (grub_video_i386_vbefill_direct8): Likewise.
16437
81a06771 16438 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 16439 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16440 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16441 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16442 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16443 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 16444
0ea85a37 16445 * video/video.c (grub_video_get_blit_format): Updated to use new
16446 blit formats. Added handling for 16 bit color modes.
81a06771 16447
16448 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 16449 fillers.
16450 (common_blitter): Updated to use new blitters.
16451
16452 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16453 Removed.
16454 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16455 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16456 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16457 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16458 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16459 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16460 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16461 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16462 (grub_video_i386_vbeblit_index_index): Likewise.
16463 (grub_video_i386_vbeblit_replace_directN): Added.
16464 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16465 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16466 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16467 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16468 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16469 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16470 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16471 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16472 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16473 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16474 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16475 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16476 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 16477
0ea85a37 16478 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16479 (grub_video_i386_vbefill_R8G8B8): Likewise.
16480 (grub_video_i386_vbefill_index): Likewise.
16481 (grub_video_i386_vbefill_direct32): Added.
16482 (grub_video_i386_vbefill_direct24): Likewise.
16483 (grub_video_i386_vbefill_direct16): Likewise.
16484 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 16485
0ea85a37 16486 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16487 types.
81a06771 16488
0ea85a37 16489 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16490 types.
81a06771 16491
0ea85a37 16492 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16493 blitter types.
81a06771 16494
0ea85a37 16495 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16496 types.
16497
e8a83df6 164982008-09-06 Felix Zielcke <fzielcke@z-51.de>
16499
16500 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16501 RAID level 1.
16502
6bcd8ee5 165032008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 16504
6bcd8ee5 16505 * fs/iso9660.c (grub_iso9660_date): New structure.
16506 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16507 (grub_iso9660_uuid): New function.
c375ae58 16508
59261157 165092008-09-05 Bean <bean123ch@gmail.com>
16510
16511 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16512
16513 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16514 insensitive bit for names in Win32 and Win32 & DOS namespace.
16515
16516 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16517
16518 * include/grub/types.h (LONG_MAX): Likewise.
16519
58b6645a 165202008-09-04 Felix Zielcke <fzielcke@z-51.de>
16521
4ee55921 16522 * util/getroot.c: Include <config.h>.
16523 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16524 add support for /dev/md/N devices and handle LVM double dash escaping.
16525
165262008-09-04 Felix Zielcke <fzielcke@z-51.de>
16527
16528 * config.guess: Update to latest version from config git.
16529 * config.sub: Likewise.
58b6645a 16530
9124f65d 165312008-09-03 Robert Millan <rmh@aybabtu.com>
16532
16533 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16534 `disk->total_sectors'.
16535
81a06771 165362008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 16537
16538 * include/grub/normal.h: Fixed incorrect comment for
16539 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16540
81a06771 165412008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 16542
16543 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16544 values with defines.
16545
16546 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16547 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16548 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16549 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16550 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16551 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16552 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16553 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16554 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16555 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16556 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16557 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16558 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16559 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16560 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16561 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16562 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16563 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16564 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16565
93d5cbf8 165662008-08-31 Robert Millan <rmh@aybabtu.com>
16567
16568 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16569 declaration.
16570 (grub_multiboot): Fix a few warnings.
16571
21751d50 165722008-08-31 Robert Millan <rmh@aybabtu.com>
16573
16574 * loader/i386/pc/multiboot.c: Update comment not to say that
16575 boot_device support is unimplemented.
16576
e27a75c5 165772008-08-31 Robert Millan <rmh@aybabtu.com>
16578
16579 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16580 or memory map support are unimplemented.
16581
81a06771 165822008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 16583
16584 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16585
81a06771 165862008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 16587
16588 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16589 total video memory in 'vbeinfo' output; show color format details for
16590 each video mode.
16591
7c5d8d95 165922008-08-30 Pavel Roskin <proski@gnu.org>
16593
16594 * util/genmoddep.c: Remove for real this time.
16595 * DISTLIST: Remove util/genmoddep.c.
16596
4cebd25a 165972008-08-30 Robert Millan <rmh@aybabtu.com>
16598
16599 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16600 as required by Multiboot spec (it was already 4-byte aligned, but
16601 only by chance).
16602
b497a269 166032008-08-29 Pavel Roskin <proski@gnu.org>
16604
e3925185 16605 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16606 * kern/powerpc/ieee1275/startup.S: ... this.
16607 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16608 * DISTLIST: Likewise.
16609
b497a269 16610 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16611 grub/cpu/kernel.h. Add start label for consistency with other
16612 platforms. Add grub_prefix immediately after start. Add jump
16613 to the code after grub_prefix.
16614 * include/grub/powerpc/kernel.h: Provide valid values for
16615 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16616
6e5a42fe 166172008-08-29 Bean <bean123ch@gmail.com>
16618
16619 * configure.ac: Change host_os to cygwin for mingw.
16620 (asprintf): New check for function.
16621
16622 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16623 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16624
16625 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 16626 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 16627 sync, sleep and grub_util_get_disk_size for mingw.
16628
16629 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16630 to get size in mingw.
16631 (open_device): Use flag O_BINARY if it's defined.
16632 (find_root_device): Add dummy code for mingw.
16633
16634 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16635 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16636 (get_scsi_disk_name): Return 0 for mingw.
16637
16638 * util/hostfs.c: #include <grub/util/misc.h>.
16639 (grub_hostfs_open): Use "rb" flag to open file, use
16640 grub_util_get_disk_size to get disk size for mingw.
16641
16642 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16643 (asprintf): New function if HAVE_ASPRINTF is not set.
16644 (sync): New function for mingw.
16645 (sleep): Likewise.
16646 (grub_util_get_disk_size): Likewise.
16647
ab3f2673 166482008-08-28 Pavel Roskin <proski@gnu.org>
16649
16650 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16651 kern/time.c.
16652
1c282483 166532008-08-28 Robert Millan <rmh@aybabtu.com>
16654
16655 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16656
678e849c 166572008-08-28 Robert Millan <rmh@aybabtu.com>
16658
16659 Change find_grub_drive() syntax so it doesn't prevent it from
16660 detecting NULL names as errors.
16661
16662 * util/biosdisk.c (find_grub_drive): Move free slot search code
16663 from here ...
16664 (find_free_slot): ... to here.
16665 (read_device_map): Use find_free_slot() to search for free slots.
16666
965c75ca 166672008-08-27 Marco Gerards <marco@gnu.org>
16668
16669 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16670 (scsi_mod_SOURCES): New variable.
16671 (scsi_mod_CFLAGS): Likewise
16672 (scsi_mod_LDFLAGS): Likewise.
16673
16674 * disk/scsi.c: New file.
16675
16676 * include/grub/scsi.h: Likewise.
16677
16678 * include/grub/scsicmd.h: Likewise.
16679
16680 * disk/ata.c: Include <grub/scsi.h>.
16681 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16682 instead.
16683 (grub_ata_iterate): Skip ATAPI devices.
16684 (grub_ata_open): Only handle ATAPI devices.
16685 (struct grub_atapi_read): Removed.
16686 (grub_atapi_readsector): Likewise.
16687 (grub_ata_read): No longer handle ATAPI devices.
16688 (grub_ata_write): Likewise.
16689 (grub_atapi_iterate): New function.
16690 (grub_atapi_read): Likewise.
16691 (grub_atapi_write): Likewise.
16692 (grub_atapi_open): Likewise.
16693 (grub_atapi_close): Likewise.
16694 (grub_atapi_dev): New variable.
16695 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16696 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16697
16698 * include/grub/disk.h (enum grub_disk_dev_id): Add
16699 `GRUB_DISK_DEVICE_SCSI_ID'.
16700
c07ae501 167012008-08-26 Robert Millan <rmh@aybabtu.com>
16702
16703 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16704 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16705 descriptive.
16706
5ed20adc 167072008-08-23 Bean <bean123ch@gmail.com>
16708
16709 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16710 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16711 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16712 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16713 dm_nv.mod.
16714 (raid5rec_mod_SOURCES): New macro.
16715 (raid5rec_mod_CFLAGS): Likewise.
16716 (raid5rec_mod_LDFLAGS): Likewise.
16717 (raid6rec_mod_SOURCES): Likewise.
16718 (raid6rec_mod_CFLAGS): Likewise.
16719 (raid6rec_mod_LDFLAGS): Likewise.
16720 (mdraid_mod_SOURCES): Likewise.
16721 (mdraid_mod_CFLAGS): Likewise.
16722 (mdraid_mod_LDFLAGS): Likewise.
16723 (dm_nv_mod_SOURCES): Likewise.
16724 (dm_nv_mod_CFLAGS): Likewise.
16725 (dm_nv_mod_LDFLAGS): Likewise.
16726
16727 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16728 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16729 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16730
16731 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16732 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16733
16734 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16735
16736 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16737
16738 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16739
16740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16741
16742 * disk/raid5_recover.c: New file.
16743
16744 * disk/raid6_recover.c: Likewise.
16745
16746 * disk/mdraid_linux.c: Likewise.
16747
16748 * disk/dmraid_nvidia.c: Likewise.
16749
16750 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16751 ULONG_MAX.
16752
16753 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16754 calculate the size of raid device.
16755 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16756 different layout of raid5.
16757 (grub_raid_scan_device): Remove code specific to mdraid.
16758 (grub_raid_list): New variable.
16759 (free_array): New function.
16760 (grub_raid_register): Likewise.
16761 (grub_raid_unregister): Likewise.
16762 (grub_raid_rescan): Likewise.
16763 (GRUB_MOD_INIT): Don't iterate device here.
16764 (GRUB_MOD_FINI): Use free_array to release resource.
16765
16766 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16767 (grub_raid5_recover_func_t): New function variable type.
16768 (grub_raid6_recover_func_t): Likewise.
16769 (grub_raid5_recover_func): New variable.
16770 (grub_raid6_recover_func): Likewise.
16771 (grub_raid_register): New function.
16772 (grub_raid_unregister): Likewise.
16773 (grub_raid_rescan): Likewise.
16774 (grub_raid_block_xor): Likewise.
16775
16776 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16777 (CMD_CRC): New macro.
16778 (part): Removed.
16779 (read_file): Handle device as well as file.
16780 (cmd_crc): New function.
16781 (fstest): Handle multiple disks.
16782 (options): Remove part, raw and long, add root and diskcount.
16783 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 16784 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 16785 add handling for the new options, support multiple disks.
16786
16787 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16788
29c18915 167892008-08-23 Bean <bean123ch@gmail.com>
16790
16791 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16792
16793 * genfslist.sh: Ignore kernel.mod.
16794
16795 * genpartmaplist.sh: Likewise.
16796
8415f261 167972008-08-23 Robert Millan <rmh@aybabtu.com>
16798
16799 * util/getroot.c (find_root_device): Skip anything that starts with
16800 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16801
d5a7dc5b 168022008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 16803
d5a7dc5b 16804 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16805 * util/grub.d/00_header.in: Allow the administrator to change default
16806 gfxmode via ${GRUB_GFXMODE}.
16807
380cfbb4 168082008-08-21 Felix Zielcke <fzielcke@z-51.de>
16809
16810 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16811
c9baafe7 168122008-08-21 Robert Millan <rmh@aybabtu.com>
16813
16814 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16815 loader.
16816 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16817 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16818
e290bef2 168192008-08-20 Carles Pina i Estany <carles@pina.cat>
16820
16821 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16822 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16823
f9dbfc96 168242008-08-19 Robert Millan <rmh@aybabtu.com>
16825
16826 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16827 (struct grub_virtual_screen): Remove `cursor_color'.
16828 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16829 initialization.
16830 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16831
dd6bd6ab 168322008-08-18 Robert Millan <rmh@aybabtu.com>
16833
16834 Unify (identical) linux_normal.c files.
16835 * loader/i386/efi/linux_normal.c: Move from here ...
16836 * loader/linux_normal.c: ... to here. Update all users.
16837 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16838 * loader/i386/ieee1275/linux_normal.c: Likewise.
16839
7f42f83e 168402008-08-18 Robert Millan <rmh@aybabtu.com>
16841
16842 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16843 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16844 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16845 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16846 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16847 New macros.
16848 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16849 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16850 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16851 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16852 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16853 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16854 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16855 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16856 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16857 portably using grub_getxy().
16858 Replace `-EFI' with `-bzImage' in boot message.
16859
38487ddb 168602008-08-17 Robert Millan <rmh@aybabtu.com>
16861
16862 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16863
deceb3ec 168642008-08-17 Robert Millan <rmh@aybabtu.com>
16865
16866 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16867
16868 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16869 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16870 (grub_machine_mmap_iterate): New function declaration.
16871 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16872 structure.
16873 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16874 macros.
16875
16876 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16877 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16878 Move e820 parsing from here ...
16879 * kern/i386/pc/mmap.c: New file.
16880 (grub_machine_mmap_iterate): ... to here.
16881
16882 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16883 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16884 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16885 (grub_available_iterate): Redeclare to return `void', and redeclare
16886 its hook to use grub_uint64_t as addr and size parameters, and rename
16887 to ...
16888 (grub_machine_mmap_iterate): ... this. Update all users.
16889
16890 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16891 to make it more readable. Rename to ...
16892 (grub_machine_mmap_iterate): ... this.
16893
16894 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16895 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16896 (grub_multiboot): Allocate an extra region after the payload, and fill
16897 it with a Multiboot memory map. Adjust a.out loader to calculate size
16898 with the extra space.
16899 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16900 with the extra space.
16901
f8aa0f43 169022008-08-17 Carles Pina i Estany <carles@pina.cat>
16903
9807deb9 16904 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 16905
605f5bb6 169062008-08-17 Felix Zielcke <fzielcke@z-51.de>
16907
16908 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16909 mdate-sh to the list `find' searches for.
16910 * DISTLIST: Regenerated.
16911
210db6c6 169122008-08-16 Felix Zielcke <fzielcke@z-51.de>
16913
16914 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16915 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 16916 genmoddep.awk, gensymlist.sh.in.
16917 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 16918 * DISTLIST: Regenerated.
48cdbfd4 16919 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 16920
1082b929 169212008-08-16 Robert Millan <rmh@aybabtu.com>
16922
16923 * disk/raid.c (grub_raid_init): Handle/report errors set by
16924 grub_device_iterate().
16925 * disk/lvm.c (grub_lvm_init): Likewise.
16926
42ce5170 169272008-08-15 Bean <bean123ch@gmail.com>
16928
16929 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16930 and datehook.mod.
16931 (datetime_mod_SOURCES): New macro.
16932 (datetime_mod_CFLAGS): Likewise.
16933 (datetime_mod_LDFLAGS): Likewise.
16934 (date_mod_SOURCES): Likewise.
16935 (date_mod_CFLAGS): Likewise.
16936 (date_mod_LDFLAGS): Likewise.
16937 (datehook_mod_SOURCES): Likewise.
16938 (datehook_mod_CFLAGS): Likewise.
16939 (datehook_mod_LDFLAGS): Likewise.
16940
16941 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16942 and datehook.mod.
16943 (datetime_mod_SOURCES): New macro.
16944 (datetime_mod_CFLAGS): Likewise.
16945 (datetime_mod_LDFLAGS): Likewise.
16946 (date_mod_SOURCES): Likewise.
16947 (date_mod_CFLAGS): Likewise.
16948 (date_mod_LDFLAGS): Likewise.
16949 (datehook_mod_SOURCES): Likewise.
16950 (datehook_mod_CFLAGS): Likewise.
16951 (datehook_mod_LDFLAGS): Likewise.
16952
16953 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16954 and datehook.mod.
16955 (datetime_mod_SOURCES): New macro.
16956 (datetime_mod_CFLAGS): Likewise.
16957 (datetime_mod_LDFLAGS): Likewise.
16958 (date_mod_SOURCES): Likewise.
16959 (date_mod_CFLAGS): Likewise.
16960 (date_mod_LDFLAGS): Likewise.
16961 (datehook_mod_SOURCES): Likewise.
16962 (datehook_mod_CFLAGS): Likewise.
16963 (datehook_mod_LDFLAGS): Likewise.
16964
16965 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16966 and datehook.mod.
16967 (datetime_mod_SOURCES): New macro.
16968 (datetime_mod_CFLAGS): Likewise.
16969 (datetime_mod_LDFLAGS): Likewise.
16970 (date_mod_SOURCES): Likewise.
16971 (date_mod_CFLAGS): Likewise.
16972 (date_mod_LDFLAGS): Likewise.
16973 (datehook_mod_SOURCES): Likewise.
16974 (datehook_mod_CFLAGS): Likewise.
16975 (datehook_mod_LDFLAGS): Likewise.
16976
16977 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16978 and datehook.mod.
16979 (datetime_mod_SOURCES): New macro.
16980 (datetime_mod_CFLAGS): Likewise.
16981 (datetime_mod_LDFLAGS): Likewise.
16982 (date_mod_SOURCES): Likewise.
16983 (date_mod_CFLAGS): Likewise.
16984 (date_mod_LDFLAGS): Likewise.
16985 (datehook_mod_SOURCES): Likewise.
16986 (datehook_mod_CFLAGS): Likewise.
16987 (datehook_mod_LDFLAGS): Likewise.
16988
16989 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16990
16991 * commands/date.c: New file.
16992
16993 * hook/datehook.c: Likewise.
16994
16995 * include/grub/lib/datetime.h: Likewise.
16996
16997 * include/grub/i386/cmos.h: Likewise.
16998
16999 * lib/datetime.c: Likewise.
17000
17001 * lib/i386/datetime.c: Likewise.
17002
17003 * lib/efi/datetime.c: Likewise.
17004
0e9242da 170052008-08-14 Robert Millan <rmh@aybabtu.com>
17006
17007 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
17008 (grub_mkelfimage_SOURCES): New variable.
17009 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
17010
17011 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
17012 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
17013 * conf/powerpc-ieee1275.rmk: Likewise.
17014 * conf/i386-ieee1275.rmk: Likewise.
17015
17016 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
17017 * kern/i386/coreboot/init.c: Likewise.
17018
17019 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
17020 with `<grub/cpu/kernel.h>'.
17021 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
17022 to ...
17023 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
17024 * kern/i386/coreboot/startup.S: Likewise.
17025
17026 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
17027 (GRUB_MOD_GAP): Remove.
17028 * include/grub/powerpc/kernel.h: New file.
17029 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
17030 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17031 * include/grub/i386/kernel.h: New file.
17032 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
17033 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
17034 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17035
17036 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
17037 `grub-mkelfimage'.
17038 Use --directory when invoking grub_mkimage.
17039
17040 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
17041 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
17042 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
17043 and GRUB_KERNEL_CPU_PREFIX.
17044
b86408f8 170452008-08-14 Felix Zielcke <fzielcke@z-51.de>
17046
d5e619ca 17047 * include/grub/err.h (grub_err_printf): New function prototype.
17048 * util/misc.c (grub_err_printf): New function.
17049 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
17050 grub_printf.
17051 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 17052
7161f0e0 170532008-08-13 Robert Millan <rmh@aybabtu.com>
17054
17055 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
17056
a1967522 170572008-08-13 Robert Millan <rmh@aybabtu.com>
17058
17059 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
17060 boot entry.
17061
371458b5 170622008-08-12 Robert Millan <rmh@aybabtu.com>
17063
17064 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
17065 of the relocation code from here ...
17066 (grub_multiboot): ... to here.
17067 (forward_relocator, backward_relocator): Move from here ...
17068 * kern/i386/loader.S (grub_multiboot_forward_relocator)
17069 (grub_multiboot_backward_relocator): ... to here.
17070 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
17071 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
17072 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
17073 (grub_multiboot_forward_relocator_end)
17074 (grub_multiboot_backward_relocator)
17075 (grub_multiboot_backward_relocator_end): New variables.
17076
05f9452b 170772008-08-12 Bean <bean123ch@gmail.com>
17078
17079 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
17080
20024ab0 170812008-08-11 Robert Millan <rmh@aybabtu.com>
17082
17083 * kern/i386/linuxbios/startup.S: Move from here ...
17084 * kern/i386/coreboot/startup.S: ... to here.
17085
17086 * kern/i386/linuxbios/init.c: Move from here ...
17087 * kern/i386/coreboot/init.c: ... to here.
17088
17089 * kern/i386/linuxbios/table.c: Move from here ...
17090 * kern/i386/coreboot/mmap.c: ... to here.
17091
17092 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
17093
e352e9cd 170942008-08-11 Robert Millan <rmh@aybabtu.com>
17095
17096 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
17097 errors. Leave it to the upper layer to handle them.
17098
2d05bc6a 170992008-08-09 Christian Franke <franke@computer.org>
17100
17101 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
17102 * conf/common.rmk: Install `grub-pe2elf' only if requested.
17103 Install `grub.d/10_windows' only on Cygwin.
17104 * configure.ac: Add subst of `target_os'.
17105 Check `target_os' also before setting TARGET_OBJ2ELF.
17106 Add `--enable-grub-pe2elf'.
17107
042bd419 171082008-08-08 Robert Millan <rmh@aybabtu.com>
17109
17110 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17111 (grub_last_time): Change type to grub_uint64_t.
17112 (grub_disk_open): Migrate code from to using grub_get_time_ms().
17113 (grub_disk_close): Likewise.
17114
17115 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17116 (run_menu): Migrate code from to using grub_get_time_ms().
17117
17118 * util/misc.c (grub_get_time_ms): New function.
17119
7f280db5 171202008-08-08 Marco Gerards <marco@gnu.org>
17121
17122 * disk/ata.c (grub_ata_regget): Change return type to
17123 `grub_uint8_t'.
17124 (grub_ata_regget2): Likewise.
17125 (grub_ata_wait_status): New function.
17126 (grub_ata_wait_busy): Removed function, updated all users to use
17127 `grub_ata_wait_status'.
17128 (grub_ata_wait_drq): Likewise.
17129 (grub_ata_cmd): New function.
17130 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
17131 error handling.
17132 (grub_ata_pio_write): Add error handling.
17133 (grub_atapi_identify): Likewise.
17134 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
17135 handling.
17136 (grub_ata_identify): Use `grub_ata_cmd' and improve error
17137 handling. Actually use the detected registers. Reorder the
17138 detection logic such that it is easier to read.
17139 (grub_ata_pciinit): Do not assign the same ID to each controller.
17140 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
17141 handling.
17142 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
17143
17144 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
17145
1fbc5e66 171462008-08-08 Marco Gerards <marco@gnu.org>
17147
17148 * NEWS: Update.
17149
819ce6c0 171502008-08-07 Bean <bean123ch@gmail.com>
17151
17152 * include/grub/x86_64/pci.h: New file.
17153
5c41d44d 171542008-08-07 Christian Franke <franke@computer.org>
17155
17156 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
17157 (TIMER2_GATE): Likewise.
17158 (grub_pit_wait): Add enable/disable of the timer2 gate
17159 bit of port 0x61. This fixes a possible infinite loop.
17160
5ebc275d 171612008-08-07 Bean <bean123ch@gmail.com>
17162
17163 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
17164 kern/i386/tsc.c and kern/i386/pit.c.
17165
17166 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
17167 x86_64 platform.
17168
17169 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
17170 <grub/i386/tsc.h>.
17171
17172 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
17173
e383b3d0 171742008-08-07 Bean <bean123ch@gmail.com>
17175
17176 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
17177
17178 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
17179
17180 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
17181 multiple inclusion. Add #include <grub/types.h>.
17182
1cbb58ac 171832008-08-06 Christian Franke <franke@computer.org>
17184
17185 * conf/common.rmk: Build and install `10_windows'.
17186 * util/grub.d/10_windows.in: New script.
17187
337f5a1e 171882008-08-06 Pavel Roskin <proski@gnu.org>
17189
17190 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
17191
057bc4ac 171922008-08-06 Robert Millan <rmh@aybabtu.com>
17193
17194 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
17195 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
17196
2b99f123 171972008-08-06 Bean <bean123ch@gmail.com>
17198
17199 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
17200 (grub_pxefs_fs_int): Remove dummy definition.
17201 (grub_pxefs_open): Use data->block_size to store the current block
17202 size setting.
17203 (grub_pxefs_read): Use block size stored in data->block_size. As the
17204 value of grub_pxe_blksize can be changed after the file is opened.
17205
9f0234cb 172062008-08-06 Bean <bean123ch@gmail.com>
17207
17208 * fs/i386/pc/pxe.c (curr_file): new variable.
17209 (grub_pxefs_open): Simply the handling of pxe file system. Don't
17210 require the dummy internal file system anymore.
17211 (grub_pxefs_read): Removed.
17212 (grub_pxefs_close): Likewise.
17213 (grub_pxefs_fs_int): Likewise.
17214 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
17215 connection when we switch file.
17216 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
17217
a55d42e0 172182008-08-06 Robert Millan <rmh@aybabtu.com>
17219
17220 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
17221 `halt.mod'.
17222 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
17223 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
17224
17225 * kern/i386/halt.c: New file.
17226 * kern/i386/reboot.c: Likewise.
17227 * include/grub/i386/reboot.h: Likewise.
17228 * include/grub/i386/halt.h: Likewise.
17229
17230 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
17231 Include `<grub/cpu/halt.h>'.
17232 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
17233 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
17234
17235 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
17236 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
17237 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
17238 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
17239 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
17240 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
17241 from here ...
17242 * include/grub/i386/at_keyboard.h: ... to here.
17243
24371d26 172442008-08-05 Robert Millan <rmh@aybabtu.com>
17245
17246 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
17247 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
17248 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
17249 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17250 `kern/generic/millisleep.c'.
17251
17252 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
17253 instead of grub_get_rtc().
17254 (grub_tsc_init): Initialize `tsc_boot_time'.
17255
17256 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
17257 (grub_machine_init): Use grub_tsc_init() rather than
17258 installing an RTC-based handler via grub_install_get_time_ms().
17259
17260 * kern/i386/pit.c: New file.
17261 * include/grub/i386/pit.h: Likewise.
17262
9e7007b3 172632008-08-05 Bean <bean123ch@gmail.com>
17264
17265 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17266
17267 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17268 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17269 (pxe_mod_SOURCES): New macro.
17270 (pxe_mod_CFLAGS): Likewise.
17271 (pxe_mod_LDFLAGS): Likewise.
17272 (pxecmd_mod_SOURCES): Likewise.
17273 (pxecmd_mod_CFLAGS): Likewise.
17274 (pxecmd_mod_LDFLAGS): Likewise.
17275
17276 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17277 (grub_pxe_call): Likewise.
17278
17279 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17280
17281 * commands/i386/pc/pxecmd.c: New file.
17282
9f0234cb 17283 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 17284
17285 * include/grub/i386/pc/pxe.h: Likewise.
17286
6977d49f 172872008-08-05 Bean <bean123ch@gmail.com>
17288
17289 * util/console.c (grub_console_cur_color): New variable.
17290 (grub_console_standard_color): Likewise.
17291 (grub_console_normal_color): Likewise.
17292 (grub_console_highlight_color): Likewise.
17293 (color_map): Likewise.
17294 (use_color): Likewise.
17295 (NUM_COLORS): New macro.
17296 (grub_ncurses_setcolorstate): Handle color properly.
17297 (grub_ncurses_setcolor): Don't change color here, just remember the
17298 settings, color will be set in grub_ncurses_setcolorstate.
17299 (grub_ncurses_getcolor): New function.
17300 (grub_ncurses_init): Initialize color pairs.
17301 (grub_ncurses_term): New member grub_ncurses_getcolor.
17302
9c2ff3ee 173032008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 17304
9c2ff3ee 17305 High resolution timer support. Implemented for x86 CPUs using TSC.
17306 Extracted generic grub_millisleep() so it's linked in only as needed.
17307 This requires a Pentium compatible CPU; if the RDTSC instruction is
17308 not supported, then it falls back on the generic grub_get_time_ms()
17309 implementation that uses the machine's RTC.
17310
17311 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17312 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17313 `kern/generic/millisleep.c'.
17314
17315 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17316 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17317
17318 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17319 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17320
17321 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17322
17323 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17324 `kern/generic/millisleep.c'.
17325
17326 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17327
17328 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17329
17330 * kern/generic/rtc_get_time_ms.c: New file.
17331
17332 * kern/generic/millisleep.c: New file.
337f5a1e 17333
9c2ff3ee 17334 * kern/misc.c: Don't include
17335 <kern/time.h> anymore.
17336 (grub_millisleep_generic): Removed.
17337
17338 * commands/sleep.c (grub_interruptible_millisleep): Uses
17339 grub_get_time_ms() instead of grub_get_rtc().
17340
17341 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17342 function.
17343 (grub_cpu_is_cpuid_supported): New inline function.
17344 (grub_cpu_is_tsc_supported): New inline function.
17345 (grub_tsc_init): New function prototype.
17346 (grub_tsc_get_time_ms): New function prototype.
17347
17348 * kern/i386/tsc.c (grub_get_time_ms): New file.
17349
17350 * include/grub/time.h: Include <grub/types.h.
17351 (grub_millisleep_generic): Removed.
17352 (grub_get_time_ms): New prototype.
17353 (grub_install_get_time_ms): New prototype.
17354 (grub_rtc_get_time_ms): New prototype.
17355
17356 * kern/time.c (grub_get_time_ms): New function.
17357 (grub_install_get_time_ms): New function.
17358
17359 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17360 <grub/time.h> anymore.
17361 (grub_millisleep): Removed.
17362 (grub_machine_init): Call grub_tsc_init.
17363
17364 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17365 get_time_ms() implementation.
17366
17367 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17368 (ieee1275_get_time_ms): New function.
17369 (grub_machine_init): Install get_time_ms() implementation.
17370
17371 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17372 (grub_machine_init): Call grub_tsc_init().
17373 (grub_millisleep): Removed.
bf06a93f 17374
9c2ff3ee 17375 * kern/ieee1275/init.c (grub_millisleep): Removed.
17376 (grub_machine_init): Install ieee1275_get_time_ms()
17377 implementation.
17378 (ieee1275_get_time_ms): New function.
17379 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17380 real work.
17381
9ec92aaf 173822008-08-05 Marco Gerards <marco@gnu.org>
17383
17384 * disk/ata.c: Include <grub/pci.h>.
17385 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17386 (grub_ata_initialize): Rewritten.
17387 (grub_ata_device_initialize): New function.
17388
8d23f507 173892008-08-04 Pavel Roskin <proski@gnu.org>
17390
17391 * kern/main.c: Include grub/mm.h.
17392
5e15ee3d 173932008-08-04 Robert Millan <rmh@aybabtu.com>
17394
17395 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17396 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17397 corruption problem).
17398
a9053f8f 173992008-08-04 Robert Millan <rmh@aybabtu.com>
17400
17401 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17402 warnings introduced in my last commit.
17403
dd19c7d7 174042008-08-03 Robert Millan <rmh@aybabtu.com>
17405
17406 Make PCI available on all i386 architectures.
17407
17408 * include/grub/i386/pc/pci.h: Move from here ...
17409 * include/grub/i386/pci.h: ... to here.
17410
17411 * include/grub/i386/pc/pci.h: Remove.
17412 * include/grub/i386/efi/pci.h: Remove.
17413 * include/grub/x86_64/efi/pci.h: Remove.
17414
17415 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17416 `<grub/cpu/pci.h>'.
17417
17418 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17419 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17420 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17421
17422 * conf/i386-ieee1275.rmk: Likewise.
17423
e14a6184 174242008-08-03 Robert Millan <rmh@aybabtu.com>
17425
17426 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17427 (grub_console_setcursor): Make it possible to set cursor off.
17428
52768e37 174292008-08-03 Robert Millan <rmh@aybabtu.com>
17430
17431 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17432 of modules instead of assuming which platform provides what.
17433 * util/update-grub.in: Likewise.
17434
2d52f57f 174352008-08-03 Robert Millan <rmh@aybabtu.com>
17436
17437 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17438 instead of `grub_install_dos_part' to determine whether a drive needs
17439 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 17440 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 17441
2a5cd121 174422008-08-02 Robert Millan <rmh@aybabtu.com>
17443
17444 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17445
93808428 174462008-08-02 Robert Millan <rmh@aybabtu.com>
17447
17448 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17449 of informational grub_dprintf() calls.
17450
3bd0a12a 174512008-08-02 Robert Millan <rmh@aybabtu.com>
17452
17453 * disk/memdisk.c (memdisk_size): Don't initialize.
17454 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17455
17456 * include/grub/i386/pc/kernel.h
17457 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17458 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17459 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17460 (grub_arch_memdisk_size): Remove.
17461
17462 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17463 field (was only used to transfer a constant). Add `type' field to
17464 support multiple module types.
17465 (grub_module_iterate): New function.
17466
17467 * kern/device.c (grub_device_open): Do not hide error messages
17468 when grub_disk_open() fails. Use grub_print_error() instead.
17469
17470 * kern/i386/pc/init.c (grub_arch_modules_addr)
17471 (grub_arch_memdisk_size): Remove functions.
17472 (grub_arch_modules_addr): Return the module address in high memory
17473 (now that it isn't copied anymore).
17474
17475 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17476 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17477 decompression routine (grub_total_module_size already includes that
17478 now). Don't copy modules back to low memory.
17479
17480 * kern/main.c: Include `<grub/mm.h>'.
17481 (grub_load_modules): Split out (and use) ...
17482 (grub_module_iterate): ... this function, which iterates through
17483 module objects and runs a hook.
17484 Comment out grub_mm_init_region() call, as it would cause non-ELF
17485 modules to be overwritten.
17486
17487 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17488 the memdisk image in its own region, make it part of the module list.
17489 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17490 (main): Parse --memdisk|-m option, and pass user-provided path as
17491 parameter to generate_image().
17492 (add_segments): Pass `memdisk_path' down to load_modules().
17493 (load_modules): Embed memdisk image in module section when requested.
17494 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17495 `header.type' instead of `header.offset'.
17496
17497 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17498 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17499 (memdisk_mod_LDFLAGS): New variables.
17500 * conf/i386-coreboot.rmk: Likewise.
17501 * conf/i386-ieee1275.rmk: Likewise.
17502
a927cc73 175032008-08-02 Robert Millan <rmh@aybabtu.com>
17504
17505 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17506 (backward_relocator): New variables. Used to allocate and relocate
17507 the payload, respectively.
17508 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 17509 address, install the appropriate relocator code in each bound of
a927cc73 17510 the payload, and set the entry point such that
17511 grub_multiboot_real_boot() will jump to one of them.
17512
17513 * kern/i386/loader.S (grub_multiboot_payload_size)
17514 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17515 (grub_multiboot_payload_entry_offset): New variables.
17516 (grub_multiboot_real_boot): Set cpu context to what the relocator
17517 expects, and jump to the relocator instead of the payload.
17518
17519 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17520 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17521 (grub_multiboot_payload_entry_offset): Export.
17522
b15d8a0c 175232008-08-01 Bean <bean123ch@gmail.com>
17524
17525 * normal/menu_entry.c (editor_getline): Don't return the original
17526 string as result, as it will be released by lexer once it has done
17527 using it.
17528
cdfb3d22 175292008-08-01 Robert Millan <rmh@aybabtu.com>
17530
17531 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17532 within menuentries, not before them.
17533 util/grub.d/10_hurd.in: Likewise.
17534
9175e93d 175352008-08-01 Bean <bean123ch@gmail.com>
17536
17537 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17538 (bufio_mod_SOURCES): New macro.
17539 (bufio_mod_CFLAGS): Likewise.
17540 (bufio_mod_LDFLAGS): Likewise.
17541
17542 * include/grub/bufio.h: New file.
17543
17544 * io/bufio.c: Likewise.
17545
17546 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17547 (grub_video_reader_png): Use grub_buffile_open to open file.
17548
17549 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17550 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17551
17552 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17553 (grub_video_reader_tga): Use grub_buffile_open to open file.
17554
17555 * font/manager.c: Include <grub/bufio.h>.
17556 (add_font): Use grub_buffile_open to open file.
17557
3d8383e7 175582008-07-31 Robert Millan <rmh@aybabtu.com>
17559
17560 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17561 ELF segments, use a macro for arbitrarily accessing any of them instead
17562 of preparing a pointer that allows access to one at a time.
17563 (grub_multiboot_load_elf64): Likewise.
17564
16e641b6 175652008-07-31 Bean <bean123ch@gmail.com>
17566
17567 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17568 GRUB_KERNEL_MACHINE_DATA_END.
17569
59198b72 175702008-07-30 Robert Millan <rmh@aybabtu.com>
17571
17572 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17573 Increase from 0x50 to 0x60.
17574 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17575 use UUIDs to identify the root drive for them. If that's not
17576 possible, abort.
17577 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17578 check, for cross-disk installs.
17579
ae88bca3 175802008-07-30 Robert Millan <rmh@aybabtu.com>
17581
17582 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17583 is non-empty, use it to set the `prefix' environment variable instead
17584 of the usual approach.
17585 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17586 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17587 environment variable instead of dummy make_install_device().
17588
17589 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17590 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 17591 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 17592
17593 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17594 New variable reference.
17595 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17596 New macro. Defines offset of `grub_prefix' within startup.S (relative
17597 to `start').
17598 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17599 section within startup.S (relative to `start').
17600 * include/grub/i386/coreboot/kernel.h: Likewise.
17601
17602 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17603 Overwrite grub_prefix with its contents, at the beginning of the
17604 first segment.
17605 (main): Understand -p|--prefix.
17606
14f41dd1 176072008-07-30 Robert Millan <rmh@aybabtu.com>
17608
17609 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17610
4ca049a3 176112008-07-30 Robert Millan <rmh@aybabtu.com>
17612
17613 * term/i386/pc/vga_text.c (grub_console_cls): Use
17614 grub_console_gotoxy() to go back to beginning of the screen.
17615 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17616
2921d337 176172008-07-29 Christian Franke <franke@computer.org>
17618
17619 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17620 Add conversion of emulated mount points on Cygwin.
17621
b609876d 176222008-07-29 Christian Franke <franke@computer.org>
17623
17624 * util/update-grub.in: Add a check for admin
17625 group on Cygwin.
17626 Remove old `grub.cfg.new' before creation.
17627 Add `-f' to `mv' to handle the different filesystem
17628 semantics of Windows.
17629
e93e4679 176302008-07-29 Bean <bean123ch@gmail.com>
17631
17632 * normal/main.c (get_line): Fix buffer overflow bug.
17633
41694fd0 176342008-07-28 Robert Millan <rmh@aybabtu.com>
17635
17636 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17637 (struct grub_apple_header): New struct. Describes the layout of
17638 the partmap header.
17639 (apple_partition_map_iterate): Check the header magic as well as the
17640 partition magic (which was already being checked).
17641
cfd0b4e6 176422008-07-28 Pavel Roskin <proski@gnu.org>
17643
17644 * genmk.rb: Add a warning to the beginning of the output that
17645 it's a generated file and should not be edited.
17646
93cce016 176472008-07-28 Robert Millan <rmh@aybabtu.com>
17648
17649 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17650 with the same number are found, just use issue a warning with
17651 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 17652
cd1df915 176532008-07-27 Robert Millan <rmh@aybabtu.com>
17654
17655 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17656 information.
17657
b70a8427 176582008-07-27 Bean <bean123ch@gmail.com>
17659
17660 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17661 (grub_fat_find_dir): Ignore case when comparing filename.
17662
8f5e379f 176632008-07-27 Bean <bean123ch@gmail.com>
17664
17665 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17666 smallino, as it's more descriptive, and i8count can be confused with
17667 the other field count.
17668 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17669 inode type.
17670
a85cd5a0 176712008-07-27 Bean <bean123ch@gmail.com>
17672
17673 * commands/crc.c: New file.
17674
17675 * lib/crc.c: Likewise.
17676
17677 * include/grub/lib/crc.h: Likewise.
17678
17679 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17680
17681 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17682 (hexdump): Move this function to ...
17683
17684 * lib/hexdump.c: ... here.
17685
17686 * include/grub/hexdump.h: Renamed to ...
17687
17688 * include/grub/lib/hexdump.h: ... this.
17689
17690 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17691
17692 * util/grub-editenv.c: Likewise.
17693
17694 * include/envblk.h: Renamed to ...
17695
17696 * include/lib/envblk.h: ... this.
17697
17698 * util/envblk.c: Renamed to ...
17699
17700 * lib/envblk.c: ... this.
17701
17702 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17703 lib/hexdump.c.
17704 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17705 (pkglib_MODULES): Add crc.mod.
17706 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17707 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17708 (crc_mod_SOURCES): New macro.
17709 (crc_mod_CFLAGS): Likewise.
17710 (crc_mod_LDFLAGS): Likewise.
17711
17712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17713
17714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17715
17716 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17717
17718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17719
17720 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17721
c298def0 177222008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 17723
17724 * commands/help.c: Include <grub/term.h>.
17725 (TERM_WIDTH): Removed. Updated all users.
17726
cc349fb3 177272008-07-27 Pavel Roskin <proski@gnu.org>
17728
17729 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17730 spurious warnings about a comment within a comment.
17731
9051607e 177322008-07-25 Robert Millan <rmh@aybabtu.com>
17733
17734 * util/getroot.c (find_root_device): Skip devices that match
17735 /dev/dm-[0-9]. This lets the real device be found for any type of
17736 abstraction (LVM, EVMS, RAID..).
17737 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17738 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17739 device is found first, find_root_device() will now skip it.
17740
01453bfc 177412008-07-24 Pavel Roskin <proski@gnu.org>
17742
17743 * include/grub/types.h: Use __builtin_bswap32() and
17744 __builtin_bswap64() with gcc 4.3 and newer.
17745
6af9849f 177462008-07-24 Christian Franke <franke@computer.org>
17747
3a0fa256 17748 * util/i386/pc/grub-install.in: If `--debug' is specified,
17749 pass `--verbose' to grub-setup.
17750 Abort script if make_system_path_relative_to_its_root() fails.
17751
7810e747 177522008-07-24 Bean <bean123ch@gmail.com>
17753
17754 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17755 variable `target_platform' should be `platform'.
17756
42290e17 177572008-07-24 Bean <bean123ch@gmail.com>
17758
51cc5193 17759 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 17760 (grub_png_init_fixed_block): New function.
17761 (grub_png_decode_image_data): Handle fixed huffman code compression.
17762
2a8a80e4 177632008-07-24 Bean <bean123ch@gmail.com>
17764
17765 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17766 (grub_pe2elf_SOURCES): New macro.
17767 (CLEANFILES): Add grub-pe2elf.
17768
17769 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17770 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17771 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17772 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17773 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17774 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17775 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17776 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17777 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17778 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17779 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17780 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17781 (GRUB_PE32_DT_FUNCTION): Likewise.
17782 (GRUB_PE32_REL_I386_DIR32): Likewise.
17783 (GRUB_PE32_REL_I386_REL32): Likewise.
17784 (grub_pe32_symbol): New structure.
17785 (grub_pe32_reloc): Likewise.
17786
17787 * util/grub-pe2elf.c: New file.
17788
17789 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17790 start symbol in non pc platform.
17791
17792 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17793
17794 The following patches are from Christian Franke.
17795
17796 * include/grub/dl.h: Remove .previous, gas supports this only
17797 for ELF format.
17798
17799 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17800 Remove .type, gas supports this only for ELF format.
17801
17802 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17803 nullbytes in symbol table. This fixes an infinite loop if table is
17804 zero filled.
17805
17806 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17807 TARGET_IMG_LDFLAGS and EXEEXT.
17808
17809 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17810 TARGET_IMG_LDFLAGS_AC.
17811 (grub_CHECK_STACK_ARG_PROBE): New function.
17812
17813 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17814
17815 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17816
17817 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17818 to set TARGET_IMG_LD* accordingly.
17819 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17820 Add call to grub_CHECK_STACK_ARG_PROBE.
17821 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17822
17823 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17824
17825 * genmk.rb: Add EXEEXT to CLEANFILES.
17826
12ccdb75 178272008-07-23 Robert Millan <rmh@aybabtu.com>
17828
17829 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17830 define the codes for arrows and lines used for the menu).
17831 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17832 as well.
17833
17834 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17835 fonts, because the latter are too slow.
17836
18eeaf04 178372008-07-21 Bean <bean123ch@gmail.com>
17838
17839 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17840 a20. Run keyboard test last, as it will cause macbook to halt.
17841
b095e2ad 178422008-07-18 Pavel Roskin <proski@gnu.org>
17843
17844 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17845 load foreign architecture modules correctly anyway. Keep
17846 support for loading host architecture modules, whether we
17847 compile them or not.
17848
737feb35 178492008-07-17 Pavel Roskin <proski@gnu.org>
17850
3f4ce737 17851 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17852 change target_cpu. The compiler default can mismatch target_cpu
17853 in any case.
17854
4ad2d049 17855 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17856 * kern/efi/efi.c: Likewise.
17857
f6130a12 17858 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17859 target compiler is functional.
17860 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17861 are set up.
17862
58393a2d 17863 * configure.ac: Default to efi platform for x86_64-apple. Allow
17864 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17865 adjustments from the rest, only do them if target is not
17866 explicitly given. Merge other adjustments with the final sanity
17867 check. Remove an extraneous check for supported CPU. Be
17868 specific which CPU and which platform is not supported.
17869
737feb35 17870 * configure.ac: Default to pc platform for x86_64.
17871
546f966a 178722008-07-17 Robert Millan <rmh@aybabtu.com>
17873
17874 Partial LinuxBIOS -> Coreboot rename.
17875
17876 * conf/i386-linuxbios.rmk: Renamed to ...
17877 * conf/i386-coreboot.rmk: ... this.
17878 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17879 * configure.ac: Accept "coreboot" as input platform (but maintain
17880 compatibility with "linuxbios").
17881 * include/grub/i386/linuxbios: Renamed to ...
17882 * include/grub/i386/coreboot: ... this.
17883
20011694 178842008-07-17 Bean <bean123ch@gmail.com>
17885
17886 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 17887 (appleldr_mod_SOURCE): New variable.
20011694 17888 (appleldr_mod_CFLAGS): Likewise.
17889 (appleldr_mod_LDFLAGS): Likewise.
17890 (pci_mod_SOURCES): Likewise.
17891 (pci_mod_CFLAGS): Likewise.
17892 (pci_mod_LDFLAGS): Likewise.
17893 (lspci_mod_SOURCES): Likewise.
17894 (lspci_mod_CFLAGS): Likewise.
17895 (lspci_mod_LDFLAGS): Likewise.
17896
17897 * conf/x86_64-efi.rmk: New file.
17898
17899 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17900 macro.
17901 (grub_efidisk_write): Likewise.
17902
17903 * include/efi/api.h (efi_call_0): New macro.
17904 (efi_call_1): Likewise.
17905 (efi_call_2): Likewise.
17906 (efi_call_3): Likewise.
17907 (efi_call_4): Likewise.
17908 (efi_call_5): Likewise.
17909 (efi_call_6): Likewise.
17910
17911 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17912 grub_rescue_cmd_chainloader.
17913
17914 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17915 (grub_pe32_optional_header): Change some fields based on i386 or
17916 x86_64 platform.
17917 (GRUB_PE32_PE32_MAGIC): Likewise.
17918
17919 * include/grub/efi/uga_draw.h: New file.
17920
17921 * include/grub/elf.h (STN_ABS): New constant.
17922 (R_X86_64_NONE): Relocation constant for x86_64.
17923 (R_X86_64_64): Likewise.
17924 (R_X86_64_PC32): Likewise.
17925 (R_X86_64_GOT32): Likewise.
17926 (R_X86_64_PLT32): Likewise.
17927 (R_X86_64_COPY): Likewise.
17928 (R_X86_64_GLOB_DAT): Likewise.
17929 (R_X86_64_JUMP_SLOT): Likewise.
17930 (R_X86_64_RELATIVE): Likewise.
17931 (R_X86_64_GOTPCREL): Likewise.
17932 (R_X86_64_32): Likewise.
17933 (R_X86_64_32S): Likewise.
17934 (R_X86_64_16): Likewise.
17935 (R_X86_64_PC16): Likewise.
17936 (R_X86_64_8): Likewise.
17937 (R_X86_64_PC8): Likewise.
17938
17939 * include/grub/i386/efi/pci.h: New file.
17940
17941 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17942 Change it value based on platform.
17943 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17944 (GRUB_E820_RAM): Likewise.
17945 (GRUB_E820_RESERVED): Likewise.
17946 (GRUB_E820_ACPI): Likewise.
17947 (GRUB_E820_NVS): Likewise.
17948 (GRUB_E820_EXEC_CODE): Likewise.
17949 (GRUB_E820_MAX_ENTRY): Likewise.
17950 (grub_e820_mmap): New structure.
17951 (linux_kernel_header): Change the efi field according to different
17952 kernel version, also field from linux_kernel_header.
17953
17954 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17955
17956 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17957 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17958 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17959 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17960 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17961 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17962 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17963 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17964 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17965 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17966
17967 * include/grub/x86_64/efi/kernel.h: New file.
17968
17969 * include/grub/x86_64/efi/loader.h: Likewise.
17970
17971 * include/grub/x86_64/efi/machine.h: Likewise.
17972
17973 * include/grub/x86_64/efi/pci.h: Likewise.
17974
17975 * include/grub/x86_64/efi/time.h: Likewise.
17976
17977 * include/grub/x86_64/linux.h: Likewise.
17978
17979 * include/grub/x86_64/setjmp.h: Likewise.
17980
17981 * include/grub/x86_64/time.h: Likewise.
17982
17983 * include/grub/x86_64/types.h: Likewise.
17984
17985 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17986 GRUB_TARGET_SIZEOF_VOID_P.
17987
17988 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17989 (grub_efi_locate_handle): Likewise.
17990 (grub_efi_open_protocol): Likewise.
17991 (grub_efi_set_text_mode): Likewise.
17992 (grub_efi_stall): Likewise.
17993 (grub_exit): Likewise.
17994 (grub_reboot): Likewise.
17995 (grub_halt): Likewise.
17996 (grub_efi_exit_boot_services): Likewise.
17997 (grub_get_rtc): Likewise.
17998
17999 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
18000 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
18001 (grub_efi_allocate_pages): Wrap efi calls.
18002 (grub_efi_free_pages): Wrap efi calls.
18003 (grub_efi_get_memory_map): Wrap efi calls.
18004
18005 * kern/x86_64/dl.c: New file.
18006
18007 * kern/x86_64/efi/callwrap.S: Likewise.
18008
18009 * kern/x86_64/efi/startup.S: Likewise.
18010
18011 * loader/efi/appleloader.c: Likewise.
18012
18013 * loader/efi/chainloader.c (cmdline): New variable.
18014 (grub_chainloader_unload): Wrap efi calls.
18015 (grub_chainloader_boot): Likewise.
18016 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
18017 command line.
18018
18019 * loader/efi/chainloader_normal.c (chainloader_command):
18020 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
18021 command line.
18022
18023 * loader/i386/efi/linux.c (allocate_pages): Change allocation
18024 method.
18025 (grub_e820_add_region): New function.
18026 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
18027 booting.
18028 (grub_find_video_card): New function.
18029 (grub_linux_setup_video): New function.
18030 (grub_rescue_cmd_linux): Probe for video information.
18031
18032 * normal/x86_64/setjmp.S: New file.
18033
18034 * term/efi/console.c (map_char): New function.
18035 (grub_console_putchar): Map unicode char.
18036 (grub_console_checkkey): Wrap efi calls.
18037 (grub_console_getkey): Likewise.
18038 (grub_console_getwh): Likewise.
18039 (grub_console_gotoxy): Likewise.
18040 (grub_console_cls): Likewise.
18041 (grub_console_setcolorstate): Likewise.
18042 (grub_console_setcursor): Likewise.
18043
18044 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
18045
59652a20 180462008-07-16 Pavel Roskin <proski@gnu.org>
18047
ef294055 18048 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
18049 format strings.
18050
59652a20 18051 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
18052 pointer, not an integer. This fixes a warning and prevents
18053 precision loss on 64-bit systems.
18054 (relocate_addresses): Remove unneeded cast.
18055
afc3b5d7 180562008-07-15 Pavel Roskin <proski@gnu.org>
18057
506b2b3e 18058 * kern/i386/ieee1275/init.c: Include grub/cache.h.
18059
62ead89c 18060 * term/ieee1275/ofconsole.c: Disable code unused on i386.
18061
c4cd51d7 18062 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
18063 Fix comparison between signed and unsigned.
18064
0d3d8f28 18065 * include/grub/i386/ieee1275/console.h: Declare
18066 grub_console_init() and grub_console_fini().
18067
8804b286 18068 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
18069 It's empty and unused.
18070
ee01cf35 18071 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
18072 beginning to avoid warnings with some compilers.
18073
afc3b5d7 18074 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
18075 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
18076
e4e8eaa5 180772008-07-14 Pavel Roskin <proski@gnu.org>
18078
407aceb4 18079 * kern/env.c (grub_register_variable_hook): Don't copy empty
18080 string, it leaks memory. Pass "" to grub_env_set(), it should
18081 handle constant strings.
18082
e4e8eaa5 18083 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
18084 * commands/cmp.c (grub_cmd_cmp): Likewise.
18085 * kern/dl.c (grub_dl_flush_cache): Likewise.
18086 (grub_dl_load_core): Likewise.
18087 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
18088 (grub_elf64_load_phdrs): Likewise.
18089
d4e2dad3 180902008-07-13 Pavel Roskin <proski@gnu.org>
18091
18092 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
18093 between signed and unsigned.
18094 (LzmaEnc_Finish): Fix warning about an unused parameter.
18095
aa24b516 180962008-07-13 Bean <bean123ch@gmail.com>
18097
18098 * Makefile.in (enable_lzo): New rule.
18099
18100 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
18101
18102 * configure.ac (ENABLE_LZO): New option --enable-lzo.
18103
18104 * boot/i386/pc/lnxboot.S: #include <config.h>.
18105
18106 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 18107 its value according to the compression algorithm used, lzo or lzma.
aa24b516 18108
18109 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
18110 compression algorithm according to configure macro.
18111
18112 * kern/i386/pc/startup.S (codestart): Likewise.
18113
18114 * kern/i386/pc/lzma_decode.S: New file.
18115
18116 * include/grub/lib/LzFind.h: Likewise.
18117
18118 * include/grub/lib/LzHash.h: Likewise.
18119
18120 * include/grub/lib/LzmaDec.h: Likewise.
18121
18122 * include/grub/lib/LzmaEnc.h: Likewise.
18123
18124 * include/grub/lib/LzmaTypes.h: Likewise.
18125
18126 * lib/LzFind.c: Likewise.
18127
18128 * lib/LzmaDec.c: Likewise.
18129
18130 * lib/LzmaEnc.c: Likewise.
18131
4ae821ac 181322008-07-13 Bean <bean123ch@gmail.com>
18133
18134 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
18135 (grub_ext4_extent_header): New structure.
18136 (grub_ext4_extent): Likewise.
18137 (grub_ext4_extent_idx): Likewise.
18138 (grub_ext4_find_leaf): New function.
18139 (grub_ext2_read_block): Handle extents.
18140
9a745147 181412008-07-12 Robert Millan <rmh@aybabtu.com>
18142
18143 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
18144
d49a4cf6 181452008-07-11 Robert Millan <rmh@aybabtu.com>
18146
18147 * util/grub.d/40_custom.in: New file. Example on how to add custom
18148 entries to /etc/grub.d.
18149 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
18150 40_custom (implicitly, by merging all the grub.d rules).
18151
947414b4 181522008-07-11 Pavel Roskin <proski@gnu.org>
18153
0059cf6f 18154 * commands/read.c (grub_getline): Fix invalid memory access.
18155 Don't add newline to the variable value.
18156
947414b4 18157 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
18158 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
18159 (serial_hw_get_port): Check validity of the port number.
18160 (grub_cmd_serial): Check return value of serial_hw_get_port().
18161
62a02d00 181622008-07-07 Pavel Roskin <proski@gnu.org>
18163
18164 * boot/i386/pc/diskboot.S (notification_string): Replace
18165 "Loading kernel" with just "loading". This is shorter, less
18166 confusing and saves a few bytes for possible future changes.
18167
3e5581b0 181682008-07-05 Pavel Roskin <proski@gnu.org>
18169
ea387a48 18170 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
18171 size for ATAPI devices, they are undefined. Output sector
18172 number in decimal form.
18173
3e5581b0 18174 * disk/ata.c: Use named constants for status bits.
18175
fdecb8fd 181762008-07-04 Pavel Roskin <proski@gnu.org>
18177
bcd35b90 18178 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
18179 grub_addr_t before casting it to the void pointer to fix a
18180 warning. Non-addressable regions are discarded earlier.
18181 (grub_arch_modules_addr): Cast _end to grub_addr_t.
18182 * kern/i386/linuxbios/table.c: Include grub/misc.h.
18183 (check_signature): Don't shadow table_header.
18184 (grub_linuxbios_table_iterate): Cast numeric constants to
18185 grub_linuxbios_table_header_t.
18186 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
18187 grub_stop().
18188
af58ab3d 18189 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
18190 prevent warnings.
18191
1759aa57 18192 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
18193 pointer, which can cause warnings. Support 64-bit addresses.
18194
fdecb8fd 18195 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
18196 of sizeof(long). This fixes PowerPC image generation on x86_64.
18197
8516d2a8 181982008-07-04 Robert Millan <rmh@aybabtu.com>
18199
18200 This fixes a performance issue when pc & gpt partmap iterators
18201 didn't abort iteration even after our hook found what it was
fe987087 18202 looking for (often causing expensive probes of non-existent drives).
8516d2a8 18203
18204 Some callers relied on previous buggy behaviour, since they would
34c44600 18205 raise an error when their own hooks caused early abortion of its
8516d2a8 18206 iteration.
18207
18208 * kern/device.c (grub_device_open): Improve error message.
18209 * disk/lvm.c (grub_lvm_open): Likewise.
18210 * disk/raid.c (grub_raid_open): Likewise.
18211
18212 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
18213 when hook requests it, independently of grub_errno.
18214 (pc_partition_map_probe): Do not fail when find_func() caused
18215 early abortion of pc_partition_map_iterate().
18216
18217 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
18218 when hook requests it, independently of grub_errno.
18219 (gpt_partition_map_probe): Do not fail when find_func() caused
18220 early abortion of gpt_partition_map_iterate().
18221
18222 * kern/partition.c (grub_partition_iterate): Abort parent iteration
18223 when hook requests it, independently of grub_errno. Do not fail when
18224 part_map_iterate_hook() caused early abortion of p->iterate().
18225
18226 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
18227 when grub_partition_iterate() returned with non-zero.
18228
277d0de9 182292008-07-03 Pavel Roskin <proski@gnu.org>
18230
18231 * disk/ata.c (grub_ata_pio_write): Check status before writing,
18232 like we do in grub_ata_pio_read().
18233 (grub_ata_readwrite): Always write individual sectors. Fix the
18234 sector count for the remainder.
18235 (grub_ata_write): Enable writing to ATA devices. Correctly
18236 report error for ATAPI devices.
18237
d4c9b428 182382008-07-02 Pavel Roskin <proski@gnu.org>
18239
e43fc690 18240 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
18241 warning.
18242
f707af42 18243 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
18244 for every read sector, we already increment it for the whole
18245 batch. This fixes reading more than 256 sectors at once.
18246
11e16b15 18247 * util/grub-editenv.c (cmd_info): Cast argument to long
18248 explicitly. ptrdiff_t reduces to int on i386.
18249
cbabfdd4 18250 * util/grub-editenv.c (main): Be specific which parameter is
18251 missing.
18252
b8fbce0a 18253 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
18254 (memdisk): Make memdisk_orig_addr a pointer.
18255
c9c8e606 18256 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
18257 for file offsets, use grub_off_t instead. Fix printf format
18258 warnings.
18259
ca62e598 18260 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18261 there. Real unexpected warnings should not drown in the noise
18262 about known problems.
18263
ce8d1766 18264 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18265 grub_disk_addr_t for memory addresses.
18266
00c7a56a 18267 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18268 explicitly to fix a warning.
18269
08d3ef09 18270 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18271
cb71ba20 18272 * Makefile.in (MODULE_LDFLAGS): New variable.
18273 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18274 the linker accepts --build-id=none.
18275 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18276 MODULE_LDFLAGS.
18277 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18278
d4c9b428 18279 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18280 those in Linux XFS code. Provide a way to access 64-bit parent
18281 inode.
18282 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18283 the end of struct grub_xfs_dir_header.
18284
d4156eee 182852008-07-02 Bean <bean123ch@gmail.com>
18286
18287 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18288 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18289 and GRUB_IEEE1275_FLAG_NO_ANSI.
18290
18291 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18292 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18293 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18294
18295 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18296 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18297
18298 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18299 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18300
18301 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18302 esc sequence on non ANSI terminal.
18303 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18304
18305 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18306 beginning of file.
18307
2270f77b 183082008-07-02 Bean <bean123ch@gmail.com>
18309
18310 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18311 (grub_editenv_SOURCES): New variable.
18312 (pkglib_MODULES): Add loadenv.mod.
18313 (loadenv_mod_SOURCES): New variable.
18314 (loadenv_mod_CFLAGS): Likewise.
18315 (loadenv_mod_LDFLAGS): Likewise.
18316
18317 * include/grub/envblk.h: New file.
18318
18319 * util/envblk.c: New file.
18320
18321 * util/grub-editenv.c: New file.
18322
18323 * commands/loadenv.c: New file.
18324
0e9e51ec 183252008-07-01 Pavel Roskin <proski@gnu.org>
18326
d89b7634 18327 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18328 not unsigned char. This fixes warnings and is consistent with
18329 other tags.
18330
bf1835b1 18331 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18332
8222a04b 18333 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18334
6a42d99d 18335 * term/tparm.c (analyze): Always set *popcount.
18336
10b159d1 18337 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18338 cast to fix a warning.
18339
b8789f6c 18340 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18341 cast to suppress a warning.
18342
29d7e38a 18343 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18344 grub_fshelp_read_file() expects.
18345
f341f669 18346 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18347 write uuid as a 32-bit value in CPU byte order, so declare and
18348 use it as such.
18349
0e9e51ec 18350 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18351 long if the format specifier expects it.
18352 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18353 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18354 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18355 long to fix a warning.
18356 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18357 grub_dprintf() arguments to fix warnings.
18358
3aefa857 183592008-06-30 Pavel Roskin <proski@gnu.org>
18360
56c7668b 18361 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18362 install_bsd_part immediately before core.img is embedded or
18363 modified on disk. This fixes core.img verification if core.img
18364 cannot be embedded.
18365
3aefa857 18366 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18367 core_path to calculate the blocklist.
18368 Patch from Javier Martín <lordhabbit@gmail.com>
18369
5444088d 183702008-06-29 Robert Millan <rmh@aybabtu.com>
18371
18372 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18373 block to disk block.
18374 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18375 Patch from Niels Böhm <bitbucket@arcor.de>
18376
674835c8 183772008-06-29 Robert Millan <rmh@aybabtu.com>
18378
18379 * util/update-grub_lib.in (font_path): Search for fonts in
18380 /boot/grub first, which is more likely to be readable (we aren't
18381 deciding where fonts live, just looking for them).
18382
f527dbc8 183832008-06-26 Pavel Roskin <proski@gnu.org>
18384
6c2d8df6 18385 * util/biosdisk.c (read_device_map): Don't leave dead map
18386 entries for devices failing stat() check.
18387
f527dbc8 18388 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18389 core_path_dev for the core.img path on the target device.
18390
aebe3d13 183912008-06-26 Robert Millan <rmh@aybabtu.com>
18392
18393 * disk/fs_uuid.c: New file.
18394 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18395 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18396 (fs_uuid_mod_LDFLAGS): New variables.
18397 * include/grub/disk.h (grub_disk_dev_id): Add
18398 `GRUB_DISK_DEVICE_UUID_ID'.
18399 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18400 implement iterate().
18401
37aaf354 184022008-06-26 Robert Millan <rmh@aybabtu.com>
18403
18404 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18405 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18406 Linux image includes no initrd.
18407
25ff262a 184082008-06-21 Javier Martín <lordhabbit@gmail.com>
18409
18410 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18411 call to resolve the core image location that effectively appended the
18412 name twice.
18413
76a2bd44 184142008-06-21 Robert Millan <rmh@aybabtu.com>
18415
18416 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18417 call from here ...
18418
18419 * util/grub.d/10_hurd.in: ... to here ...
18420 * util/grub.d/10_linux.in: ... and here.
18421
650e1c79 184222008-06-19 Robert Millan <rmh@aybabtu.com>
18423
fe987087 18424 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 18425 after it has been set by grub_machine_set_prefix().
18426
6ce63911 184272008-06-19 Robert Millan <rmh@aybabtu.com>
18428
18429 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18430 search result when not saving to variable, not the other way around.
18431 When saving to variable, abort iteration as soon as a match is found.
18432
73940cec 184332008-06-19 Robert Millan <rmh@aybabtu.com>
18434
18435 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18436 check for partition that provides /boot/grub. Its logic is flawed,
18437 as it prevents prepare_grub_to_access_device() from being called
18438 multiple times.
18439
3c62a39d 184402008-06-19 Robert Millan <rmh@aybabtu.com>
18441
18442 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18443 "insmod" command directly when abstraction modules are needed,
fe987087 18444 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 18445 since it had already been processed).
18446
47395a42 184472008-06-19 Pavel Roskin <proski@gnu.org>
18448
18449 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18450 changed. This is needed in case GRUB_LIBDIR changes.
18451 * conf/i386-ieee1275.rmk: Likewise.
18452 * conf/i386-linuxbios.rmk: Likewise.
18453 * conf/i386-pc.rmk: Likewise.
18454 * conf/powerpc-ieee1275.rmk: Likewise.
18455
a145ac2d 184562008-06-18 Pavel Roskin <proski@gnu.org>
18457
18458 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18459 kernel_elf_symlist.c to symlist.c for consistency with other
18460 architectures. Update all users.
18461 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18462
7847c51e 184632008-06-18 Robert Millan <rmh@aybabtu.com>
18464
18465 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18466 it in prefix.
18467
18468 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18469 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18470 a RAID device, run setup() for all members independently on whether
18471 LVM abstraction is being used.
18472 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18473 If grub-mkimage has set `*install_dos_part == -2', don't override this
18474 value.
18475 Perform *install_dos_part adjustments independently on whether
18476 we're embedding or not.
18477 Clarify error message when image is too big for embedding.
18478 Remove duplicate *install_dos_part stanza.
18479
b23e5644 184802008-06-17 Robert Millan <rmh@aybabtu.com>
18481
18482 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18483 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18484 variables.
18485 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18486 values in grub_ofconsole_normal_color and
18487 grub_ofconsole_highlight_color (they're not directly related to
18488 background and foreground).
18489 (grub_ofconsole_setcolorstate): Extract background and foreground
18490 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18491
0aac2f79 184922008-06-17 Robert Millan <rmh@aybabtu.com>
18493
18494 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18495 /boot/grub for the check in last commit, not /boot (they could be
18496 different partitions).
18497
3cca7ef3 184982008-06-16 Robert Millan <rmh@aybabtu.com>
18499
18500 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18501 asked to setup access for the same partition that provides /boot,
18502 don't bother using UUIDs since our root already has the value we
18503 want.
18504
347396d8 185052008-06-16 Robert Millan <rmh@aybabtu.com>
18506
18507 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18508 I2O devices.
18509 Patch from Sven Mueller <sven@debian.org>.
18510
991477f8 185112008-06-16 Robert Millan <rmh@aybabtu.com>
18512
18513 * util/update-grub.in: Check for $EUID instead of $UID.
18514 Reported by Vincent Zweije.
18515
d31a32a1 185162008-06-16 Bean <bean123ch@gmail.com>
18517
fe987087 18518 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 18519 (grub_ext2_read_block): Likewise.
18520 (grub_ext2_read_inode): Likewise.
18521 (grub_ext2_mount): Likewise.
18522 (grub_ext2_close): Likewise.
18523 (grub_ext3_get_journal): Removed.
18524
fe987087 18525 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 18526 (grub_reiserfs_read_symlink): Likewise.
18527 (grub_reiserfs_mount): Likewise.
18528 (grub_reiserfs_open): Likewise.
18529 (grub_reiserfs_read): Likewise.
18530 (grub_reiserfs_close): Likewise.
18531 (grub_reiserfs_get_journal): Removed.
18532
18533 * fs/fshelp.c (grub_fshelp_read): Removed.
18534 (grub_fshelp_map_block): Likewise.
18535
18536 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18537 (grub_fshelp_journal): Likewise.
18538 (grub_fshelp_read): Likewise.
18539 (grub_fshelp_map_block): Likewise.
18540
3540a760 185412008-06-16 Pavel Roskin <proski@gnu.org>
18542
18543 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18544 floating point anymore.
18545 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18546
95614c84 185472008-06-15 Pavel Roskin <proski@gnu.org>
18548
18549 * commands/ls.c (grub_ls_list_files): Use integer calculations
18550 for human readable format, avoid floating point use.
18551 * kern/misc.c (grub_ftoa): Remove.
18552 (grub_vsprintf): Remove floating point support.
18553
50465dd6 185542008-06-15 Robert Millan <rmh@aybabtu.com>
18555
fe6b695a 18556 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 18557 devices.
18558 Reported by Max Vozeler.
18559
a9207284 185602008-06-15 Robert Millan <rmh@aybabtu.com>
18561
18562 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18563 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18564 skipped later.
18565 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18566 the beginning of the prefix.
18567
18568 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18569 It is assumed that if we have a memdisk, grub-mkimage has set
18570 grub_prefix to include the "(memdisk)" drive in it.
18571
a7cbd45a 185722008-06-15 Robert Millan <rmh@aybabtu.com>
18573
18574 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18575 Initialize keyboard controller after registering the terminal, so that
18576 grub_printf() can be called from grub_keyboard_controller_init().
18577
21cf716a 185782008-06-15 Robert Millan <rmh@aybabtu.com>
18579
18580 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18581 extent-btree which is written as big endian on disk.
18582 Reported by Alain Greppin <al@chilibi.org>.
18583
23a64d8e 185842008-06-14 Robert Millan <rmh@aybabtu.com>
18585
18586 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18587 * util/i386/pc/grub-install.in (modules): Likewise.
18588
d687651c 185892008-06-13 Pavel Roskin <proski@gnu.org>
18590
18591 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18592
dfe9ddd4 185932008-06-13 Bean <bean123ch@gmail.com>
18594
18595 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18596
18597 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18598
18599 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18600 to indicate sparse block.
18601
16ae7781 186022008-06-12 Pavel Roskin <proski@gnu.org>
18603
e6d1a308 18604 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18605 number, grub_fshelp_read() does it for us.
18606
16ae7781 18607 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18608 linear disk read with journal translation.
18609 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18610 * include/grub/fshelp.h: Declare grub_fshelp_read().
18611
40fd3a2b 186122008-06-09 Pavel Roskin <proski@gnu.org>
18613
18614 * fs/minix.c (grub_minix_mount): Handle error reading
18615 superblock.
18616
f5679726 186172008-06-08 Robert Millan <rmh@aybabtu.com>
18618
18619 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18620 don't append the RAID prefix afterwards.
18621 Reported by Clint Adams.
18622
ce525529 186232008-06-08 Robert Millan <rmh@aybabtu.com>
18624
18625 Based on description from Pavel:
18626 * kern/disk.c (grub_disk_check_range): Rename to ...
18627 (grub_disk_adjust_range): ... this. Add a comment explaining the
18628 tasks performed by this function.
18629
ad4936a0 186302008-06-08 Robert Millan <rmh@aybabtu.com>
18631
18632 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18633 `num_serial' (for consistency with other variables).
18634 (struct grub_ntfs_data): Add `uuid' member.
18635 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18636 (grub_ntfs_uuid): New function.
18637 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18638
dc20b0f9 186392008-06-07 Pavel Roskin <proski@gnu.org>
18640
18641 * util/biosdisk.c (open_device): Revert last change to the
18642 function, it broke installation. The sector needs to be
18643 different dependent on which device is opened.
18644
c5e3cfba 186452008-06-06 Robert Millan <rmh@aybabtu.com>
18646
18647 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18648 rest of GRUB, and breakage doesn't happen if its value were modified.
18649
18650 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18651 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18652 a constant (same value).
18653 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18654 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18655
26a1f8c4 186562008-06-06 Robert Millan <rmh@aybabtu.com>
18657
18658 * util/biosdisk.c (open_device): Do not modify sector offset when
18659 accessing a partition. kern/disk.c already handles this for us.
18660
25d6b327 186612008-06-06 Robert Millan <rmh@aybabtu.com>
18662
18663 * util/grub-emu.c (grub_machine_init): Move code in this function from
18664 here ...
18665 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18666 segfault in case grub_printf() is called).
18667
18668 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18669 grub_probe. Update all users not to explicitly add it again.
18670 (grub_device): New variable; contains corresponding device for grubdir.
18671 (fs_module, partmap_module, devabstraction_module): Pass
18672 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18673 every time.
18674
9ece62fb 186752008-06-05 Robert Millan <rmh@aybabtu.com>
18676
18677 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18678 is found, print it (same layout as with labels).
18679
1ad36d37 186802008-06-04 Robert Millan <rmh@aybabtu.com>
18681
18682 * util/biosdisk.c (get_drive): Rename to ...
18683 (find_grub_drive): ... this. Update all users.
18684
18685 (get_os_disk): Rename to ...
18686 (convert_system_partition_to_system_disk): ... this. Update all users.
18687
18688 (find_drive): Rename to ...
18689 (find_system_device): ... this. Update all users.
18690
e6a30859 186912008-06-04 Robert Millan <rmh@aybabtu.com>
18692
18693 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18694 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18695 (make_device_map): Likewise.
18696
00c108a4 186972008-06-01 Robert Millan <rmh@aybabtu.com>
18698
18699 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18700 before dereferencing it.
18701
18702 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18703 union with fat12/fat16-specific ones. Add some new fields, including
18704 `num_serial' for both versions.
18705 (struct grub_fat_data): Add `uuid' member.
18706 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18707 names. Initialize `data->uuid' using `num_serial'.
18708 (grub_fat_uuid): New function.
18709 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18710
18711 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18712 (grub_reiserfs_uuid): New function.
18713 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18714 member.
18715
18716 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18717 (grub_xfs_uuid): New function.
18718 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18719
1385c5bb 187202008-06-01 Robert Millan <rmh@aybabtu.com>
18721
18722 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18723 code that is backward compatible with pre-uuid search command.
18724
c682dfd7 187252008-05-31 Robert Millan <rmh@aybabtu.com>
18726
18727 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18728 floppies after everything else, to ensure floppy drive isn't accessed
18729 unnecessarily (patch from Bean).
18730
b7db5d47 187312008-05-31 Robert Millan <rmh@aybabtu.com>
18732
18733 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18734 not print device names when we were asked to set a variable.
18735
6e037aa9 187362008-05-31 Robert Millan <rmh@aybabtu.com>
18737
18738 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18739 using "cursor-on" and "cursor-off" commands (understood at least by
18740 the Open Firmware flavour on OLPC).
18741
41305bc8 187422008-05-31 Michael Gorven <michael@gorven.za.net>
18743
18744 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18745 on and off sequences.
18746
69ba137e 187472008-05-31 Robert Millan <rmh@aybabtu.com>
18748
18749 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18750 * util/update-grub.in: Likewise.
18751
520ae21b 187522008-05-30 Pavel Roskin <proski@gnu.org>
18753
18754 * util/biosdisk.c (linux_find_partition): Simplify logic and
18755 make the code more universal. Keep special processing for
18756 devfs, but use a simple rule for all other devices. If the
18757 device ends with a number, append 'p' and the partition number.
18758 Otherwise, append only the partition number.
18759
5786569b 187602008-05-30 Robert Millan <rmh@aybabtu.com>
18761
18762 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18763 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18764 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18765 the `root' parameter to Linux.
18766
51500452 187672008-05-30 Robert Millan <rmh@aybabtu.com>
18768
18769 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18770 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18771 --fs_uuid with --fs-uuid.
18772 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18773 all filesystems support them).
18774
811d3878 187752008-05-30 Robert Millan <rmh@aybabtu.com>
18776
18777 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 18778 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 18779
cab63c95 187802008-05-30 Robert Millan <rmh@aybabtu.com>
18781
18782 * util/grub.d/00_header.in: Remove obsolete comment referencing
18783 convert_system_path_to_grub_path().
18784 * util/update-grub.in: Likewise.
18785 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18786 (convert_system_path_to_grub_path): Add a warning message explaining
18787 that this function is deprecated. Rely on is_path_readable_by_grub()
18788 for the readability checks.
18789 (font_path): Use is_path_readable_by_grub() for the readability
18790 check rather than convert_system_path_to_grub_path().
18791
972e2f7a 187922008-05-30 Robert Millan <rmh@aybabtu.com>
18793
18794 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18795 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18796 converting it first.
18797 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18798 grub.cfg for access to font file, and afterwards call it again to set
18799 the root device.
18800
62191274 188012008-05-30 Robert Millan <rmh@aybabtu.com>
18802
18803 * commands/search.c (options): Add --fs_uuid option.
18804 (search_fs_uuid): New function.
18805 (grub_cmd_search): Fix --set argument passing.
18806 Use search_fs_uuid() when requested via --fs_uuid.
18807 (grub_search_init): Update help message.
18808 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18809 and redeclare it as an array of 16-bit words.
18810 (grub_ext2_uuid): New function.
18811 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18812 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18813 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18814 (GRUB_DEVICE_BOOT_UUID): New variables.
18815 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18816 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18817 whenever possible.
18818 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18819 just assume `root' variable has the right value.
18820 * util/grub.d/10_linux.in: Likewise.
18821 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18822 via PRINT_FS_UUID.
18823 (main): Recognise `-t fs_uuid' argument.
18824
01b73ec8 188252008-05-30 Robert Millan <rmh@aybabtu.com>
18826
18827 * util/biosdisk.c (map): Redefine structure to hold information
18828 about GRUB drive name.
fe6b695a 18829 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 18830 drive names.
18831 (call_hook): Remove.
18832 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18833 member. Assume drive has partitions.
18834 (grub_util_biosdisk_open): Access device names via `.device' struct
18835 member.
18836 (open_device): Likewise.
18837 (find_drive): Likewise.
18838 (read_device_map): Adjust map[] usage to match the new struct
18839 definition. Don't check for duplicates (still possible, but not cheap
18840 anymore).
18841 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18842 (make_device_name): Remove assumption of BIOS-like drive names.
18843
22f16596 188442008-05-30 Pavel Roskin <proski@gnu.org>
18845
18846 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18847 compiling execute.c doesn't need grub_script.tab.h anymore.
18848 (normal/command.c_DEPENDENCIES): Likewise.
18849 (normal/function.c_DEPENDENCIES): Likewise.
18850 * conf/i386-ieee1275.rmk: Likewise.
18851 * conf/i386-linuxbios.rmk: Likewise.
18852 * conf/i386-pc.rmk: Likewise.
18853 * conf/powerpc-ieee1275.rmk: Likewise.
18854 * conf/sparc64-ieee1275.rmk: Likewise.
18855
528ad8f2 188562008-05-29 Pavel Roskin <proski@gnu.org>
18857
d1dff95d 18858 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18859 when scanning metadata for volume group name.
18860
528ad8f2 18861 * include/grub/script.h: Don't include grub_script.tab.h. It's
18862 a generated file, which may only be included from the files with
18863 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18864 use union YYSTYPE, as the later allows forward declaration.
18865 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18866
47248e08 188672008-05-29 Robert Millan <rmh@aybabtu.com>
18868
18869 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18870 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18871 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18872 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18873 scan codes.
18874
ee632529 188752008-05-29 Robert Millan <rmh@aybabtu.com>
18876
18877 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18878 control key combinations.
18879
eee96e08 188802008-05-29 Robert Millan <rmh@aybabtu.com>
18881
18882 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18883 * util/ieee1275/grub-install.in: ... to here.
18884 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18885 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18886 (grub_install_SOURCES): Likewise.
18887
da9a6a94 188882008-05-29 Robert Millan <rmh@aybabtu.com>
18889
18890 * fs/affs.c: Update copyright year.
18891 * fs/ext2.c: Likewise.
18892 * fs/fshelp.c: Likewise.
18893 * fs/hfsplus.c: Likewise.
18894 * fs/ntfs.c: Likewise.
18895 * fs/xfs.c: Likewise.
18896 * include/grub/fshelp.h: Likewise.
18897 * util/grub-mkdevicemap.c: Likewise.
18898
12e65f3a 188992008-05-28 Robert Millan <rmh@aybabtu.com>
18900
18901 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18902 might need to be fatfs to support some firmware implementations
18903 (e.g. OFW or EFI).
18904
23023641 189052008-05-28 Robert Millan <rmh@aybabtu.com>
18906
18907 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18908 devices.
18909 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18910 (make_device_map): Likewise.
18911
887d2619 189122008-05-20 Bean <bean123ch@gmail.com>
18913
18914 * fs/fshelp.c (grub_fshelp_map_block): New function.
18915 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18916 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18917
18918 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18919 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18920 (grub_fshelp_journal): New structure.
18921 (grub_fshelp_map_block): New function prototype.
18922 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18923 (grub_fshelp_map_block): Likewise.
18924
18925 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18926 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18927 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18928 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18929 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18930 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18931 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18932 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18933 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18934 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18935 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18936 (grub_ext2_sblock): New members for journal support.
18937 (grub_ext3_journal_header): New structure.
18938 (grub_ext3_journal_revoke_header): Likewise.
18939 (grub_ext3_journal_block_tag): Likewise.
18940 (grub_ext3_journal_sblock): Likewise.
18941 (grub_fshelp_node): New members logfile and journal.
18942 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18943 grub_fshelp_map_block to get real block number.
18944 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18945 number.
18946 (grub_ext2_read_inode): Likewise.
18947 (grub_ext3_get_journal): New function.
18948 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18949 (grub_ext2_close): Release memory used by journal.
18950
18951 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18952 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18953 (grub_reiserfs_transaction_header): Renamed to
18954 grub_reiserfs_description_block, replace field data with real_blocks.
18955 (grub_reiserfs_commit_block): New structure.
18956 (grub_reiserfs_data): New member journal.
18957 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18958 number.
18959 (grub_reiserfs_read_symlink): Likewise.
18960 (grub_reiserfs_iterate_dir): Likewise.
18961 (grub_reiserfs_open): Likewise.
18962 (grub_reiserfs_read): Likewise.
18963 (grub_reiserfs_get_journal): New function.
18964 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18965 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18966 using grub_reiserfs_get_journal.
18967 (grub_reiserfs_close): Release memory used by journal.
18968
18969 * fs/affs.c (grub_affs_read_block): Change block type to
18970 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18971
18972 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18973
18974 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18975
18976 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18977
18978 * fs/udf.c (grub_udf_read_block): Change block type to
18979 grub_disk_addr_t. Use type cast to avoid warning.
18980
18981 * fs/xfs.c (grub_xfs_read_block): Likewise.
18982
b7c6bed5 189832008-05-16 Christian Franke <franke@computer.org>
18984
18985 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18986 to ensure that break with ESC will always work.
18987 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18988 Remove ESC from keyboard queue.
18989
eedf167f 189902008-05-16 Christian Franke <franke@computer.org>
18991
18992 * util/biosdisk.c: [__CYGWIN__] Add includes.
18993 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18994 (get_os_disk): Move variable declarations to OS specific
18995 parts to avoid warning.
18996 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18997 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18998 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18999 Cygwin.
19000 * util/getroot.c: [__CYGWIN__] Add includes.
19001 (strip_extra_slashes): Fix "/" case.
19002 [__CYGWIN__] (get_win32_path): New function.
19003 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
19004 [__CYGWIN__] (find_root_device): Disable.
19005 [__CYGWIN__] (get_bootsec_serial): New function.
19006 [__CYGWIN__] (find_cygwin_root_device): Likewise.
19007 [__linux__] (grub_guess_root_device): Add early returns to simplify
19008 structure.
19009 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
19010 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
19011 check for Linux only.
19012
a079699e 190132008-05-15 Bean <bean123ch@gmail.com>
19014
19015 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
19016 keyboard hang problem in apple's intel mac.
19017
1cf4059a 190182008-05-09 Robert Millan <rmh@aybabtu.com>
19019
19020 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
19021 devices.
19022 * util/grub-mkdevicemap.c (get_virtio_disk_name)
19023 (make_device_map): Likewise.
19024 Reported by Aurelien Jarno <aurel32@debian.org>
19025
ed759390 190262008-05-07 Ian Campbell <ijc@hellion.org.uk>
19027
19028 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
19029 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
19030 (make_device_map): Output entries for xvd type disks.
19031
b56c4eaa 190322008-05-07 Robert Millan <rmh@aybabtu.com>
19033
19034 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
19035 devices.
19036 * util/grub-mkdevicemap.c (get_cciss_disk_name)
19037 (make_device_map): Likewise.
19038 Reported by Roland Dreier <rdreier@cisco.com>
19039
7f8866ed 190402008-05-07 Robert Millan <rmh@aybabtu.com>
19041
19042 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
19043 grub_strstr() call. Correct a few mistakes in failure path handling.
19044
b0346e0f 190452008-05-06 Robert Millan <rmh@aybabtu.com>
19046
19047 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19048 Do not print a trailing slash (therefore, the root directory is an
19049 empty string).
19050 (convert_system_path_to_grub_path): Do not remove trailing slash
19051 from make_system_path_relative_to_its_root() output.
19052
19053 * util/i386/pc/grub-install.in: Add trailing slash to output from
19054 make_system_path_relative_to_its_root().
19055
6cf12cbd 190562008-05-06 Robert Millan <rmh@aybabtu.com>
19057
19058 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
19059 ensures that output lines aren't intermangled with those sent to
19060 stderr (via grub_util_info()).
19061 * util/grub-probe.c (grub_refresh): Likewise.
19062 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
19063
0fbb3117 190642008-05-05 Christian Franke <franke@computer.org>
19065
19066 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
19067 Add Cygwin device names.
19068 (get_ide_disk_name) [__CYGWIN__]: Likewise.
19069 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
19070 (check_device): Return error instead of success on empty name.
19071 (make_device_map): Move label inside linux specific code to
19072 prevent compiler warning.
19073
8124cdb7 190742008-04-30 Robert Millan <rmh@aybabtu.com>
19075
19076 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
19077 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
19078 first boot option.
19079 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
19080
094c01d0 190812008-04-29 Robert Millan <rmh@aybabtu.com>
19082
19083 * docs/grub.cfg: New file (example GRUB configuration).
19084
f4b1fc02 190852008-04-26 Robert Millan <rmh@aybabtu.com>
19086
329ce2a5 19087 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
19088 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
19089 and `disk/ieee1275/nand.c'.
f4b1fc02 19090
25f16ec1 190912008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 19092
25f16ec1 19093 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
19094 i386-linuxbios.
19095
19096 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
19097 change the buffer size to 4096 for cdrom device.
19098
19099 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
19100 and nand.mod.
19101 (_linux_mod_SOURCES): New variable.
19102 (_linux_mod_CFLAGS): Likewise.
19103 (_linux_mod_LDFLAGS): Likewise.
19104 (linux_mod_SOURCES): Likewise.
19105 (linux_mod_CFLAGS): Likewise.
19106 (linux_mod_LDFLAGS): Likewise.
19107 (nand_mod_SOURCES): Likewise.
19108 (nand_mod_CFLAGS): Likewise.
19109 (nand_mod_LDFLAGS): Likewise.
19110
19111 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
19112 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
19113 type property. (nand device in olpc don't have this property)
19114
19115 * include/grub/disk.h (grub_disk_dev_id): New macro
19116 GRUB_DISK_DEVICE_NAND_ID.
19117
19118 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
19119 function prototype.
19120 (grub_rescue_cmd_initrd): Likewise.
19121
19122 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
19123 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
19124 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 19125
25f16ec1 19126 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
19127 GRUB_MACHINE_IEEE1275 is defined.
19128
19129 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
19130 Use NESTED_FUNC_ATTR attribute on the hook parameter.
19131
19132 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
19133 on nested function heap_init.
19134 (grub_upper_mem): New variable for i386-ieee1275.
19135 (grub_get_extended_memory): New function for i386-ieee1275.
19136 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
19137
19138 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
19139 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
19140 property.
f19dbdb7 19141
25f16ec1 19142 * loader/i386/ieee1275/linux.c: New file.
19143
19144 * loader/i386/ieee1275/linux_normal.c: New file.
19145
19146 * disk/ieee1275/nand.c: New file.
19147
e89d61e9 191482008-04-18 Thomas Schwinge <tschwinge@gnu.org>
19149
19150 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
19151 value.
19152 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
19153
602566f6 191542008-04-18 Robert Millan <rmh@aybabtu.com>
19155
19156 Restructures early code path on ieee1275 to unify grub_main() as
19157 the first C function that is executed in every platform.
19158
19159 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
19160 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
19161 cmain().
19162 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
19163 * kern/ieee1275/cmain.c (cmain): Rename to ...
19164 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
19165 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
19166 at the beginning.
19167
57490c2b 191682008-04-18 Robert Millan <rmh@aybabtu.com>
19169
19170 * util/update-grub.in: Fix syntax error when setting
19171 `GRUB_PRELOAD_MODULES'.
19172 Reported by Stephane Chazelas <stephane@artesyncp.com>
19173
1977517d 191742008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
19175
19176 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
19177 section into account, newer toolchains generate unique build ids
19178 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 19179 we want build ids to be preserved
1977517d 19180 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
19181 far from other sections don't cause the raw binary images grow
19182 size
19183
bfb1f1a2 191842008-04-15 Robert Millan <rmh@aybabtu.com>
19185
19186 * disk/lvm.c: Update copyright year.
19187 * kern/misc.c: Likewise.
19188
01979850 191892008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19190
19191 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 19192 there is no memory left for physical volume name.
01979850 19193
0a1150e2 191942008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19195
19196 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
19197 volume name mapping to support bigger than 9 character names properly.
19198
82ead3fe 191992008-04-13 Robert Millan <rmh@aybabtu.com>
19200
19201 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
19202 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
19203
e54a72f5 192042008-04-13 Christian Franke <franke@computer.org>
19205
19206 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
19207 to create a floppy emulation boot CD when non emulation mode
19208 does not work.
19209 Enable Joliet CD filesystem extension.
19210
9fe86034 192112008-04-13 Robert Millan <rmh@aybabtu.com>
19212
19213 * kern/misc.c (grub_strncat): Fix off-by-one error.
19214 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
19215
19216 * kern/env.c (grub_env_context_close): Clear current context, not
19217 previous one.
19218 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
19219
19220 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
19221
7ceeee39 192222008-04-13 Robert Millan <rmh@aybabtu.com>
19223
19224 Improve robustness when handling LVM.
19225
19226 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 19227 (and leave `*p' unmodified).
7ceeee39 19228 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
19229 through it.
19230 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
19231 iterating through it.
19232 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
19233 through it.
fe6b695a 19234 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 19235 when due) on each grub_lvm_getvalue() or grub_strstr() call.
19236 Don't assume `vg->pvs != NULL' when iterating through it.
19237
58cd3d85 192382008-04-13 Robert Millan <rmh@aybabtu.com>
19239
19240 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
19241 * genmk.rb (partmap): New variable.
19242 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
19243 (#{partmap}): New target rule.
19244 * genpartmaplist.sh: New file.
19245 * Makefile.in (pkglib_DATA): Add partmap.lst.
19246 (partmap.lst): New target rule.
19247 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
19248 modules (including all partition maps), instead of preloading them.
19249
78b51059 192502007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
19251
19252 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
19253 `linux-boot-prober' (if installed) to detect other operating
19254 systems which are installed on the computer and add them to
19255 the boot menu.
19256 * conf/common.rmk: Build and install 30_os-prober.
19257
a91627b4 192582008-04-12 Robert Millan <rmh@aybabtu.com>
19259
19260 * kern/powerpc/ieee1275/init.c: Move from here ...
19261 * kern/ieee1275/init.c: ... to here. Update all users.
19262
19263 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19264 * kern/ieee1275/cmain.c: ... to here. Update all users.
19265
19266 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19267 * kern/ieee1275/openfw.c: ... to here. Update all users.
19268
19269 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19270 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19271
322562ea 192722008-04-10 Pavel Roskin <proski@gnu.org>
19273
19274 * configure.ac: Always use "_cv_" in cache variables for
19275 compatibility with Autoconf 2.62.
19276
a02a73c5 192772008-04-07 Robert Millan <rmh@aybabtu.com>
19278
19279 Revert grub/machine/init.h addition by Pavel (since it breaks on
19280 i386-ieee1275 and others):
19281 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19282 * util/powerpc/ieee1275/misc.c: Likewise.
19283
25c024b1 192842008-04-07 Robert Millan <rmh@aybabtu.com>
19285
19286 * util/grub-probe.c (probe): Improve error message.
19287
3cbd2f98 192882008-04-07 Robert Millan <rmh@aybabtu.com>
19289
19290 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19291 (this prevents the presence of a bogus entry from ruining the whole
19292 thing).
19293
87a297bf 192942008-04-06 Pavel Roskin <proski@gnu.org>
19295
36747a62 19296 * util/biosdisk.c: Include grub/util/biosdisk.h.
19297 * util/grub-fstest.c (execute_command): Make static.
19298 * util/grub-mkdevicemap.c (check_device): Likewise.
19299 * util/i386/pc/misc.c: Include grub/machine/init.h.
19300 * util/powerpc/ieee1275/misc.c: Likewise.
19301 * util/lvm.c: Include grub/util/lvm.h.
19302 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19303 grub/cache.h.
19304 * util/raid.c: Include grub/util/raid.h.
19305 (grub_util_getdiskname): Make static.
19306
87a297bf 19307 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19308 grub_hostfs_fini(), as they are called from grub_init_all() and
19309 grub_fini_all() respectively. This fixes an infinite loop in
19310 grub-fstest due to double registration of hostfs.
19311 Reported by Christian Franke <Christian.Franke@t-online.de>
19312
f6ce7629 193132008-04-05 Pavel Roskin <proski@gnu.org>
19314
19315 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19316 all 8 functions. Otherwise, probe function 0 only.
19317
070e49e4 193182008-04-04 Pavel Roskin <proski@gnu.org>
19319
8b088a4c 19320 * commands/lspci.c (grub_lspci_iter): Print the bus number
19321 correctly.
19322
4f657021 19323 * commands/lspci.c (grub_pci_classes): Fix typos.
19324 (grub_lspci_iter): Don't print func twice. Print vendor ID
19325 before device ID, as it's normally done.
19326
070e49e4 19327 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19328 Fix signedness warnings.
19329 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19330 Likewise.
19331 * util/ieee1275/get_disk_name.c: Include config.h so that
19332 _GNU_SOURCE is defined and getline() is declared. Mark an
19333 unused argument as such. Fix a signedness warning.
19334
ba7328dc 193352008-04-02 Pavel Roskin <proski@gnu.org>
19336
26887f22 19337 * genkernsyms.sh.in: Use more robust assignments for CC and
19338 srcdir. Quote srcdir.
19339 * gensymlist.sh.in: Likewise. Assert at the compile time that
19340 the symbol table is not empty.
19341
ba7328dc 19342 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19343 * fs/cpio.c (grub_cpio_read): Likewise.
19344
0f582c6b 193452008-04-01 Pavel Roskin <proski@gnu.org>
19346
4b6e1995 19347 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19348 * disk/host.c (grub_host_open): Likewise.
19349 * disk/loopback.c (grub_loopback_open): Likewise.
19350 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19351 disk->id as in disk/host.c, not a multi-character constant.
19352
828a2768 19353 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19354 later is obsolete, potentially dangerous and sets a bad example.
19355 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19356 * util/misc.c (grub_util_get_image_size): Likewise.
19357
2bb4fb47 19358 * disk/loopback.c (options): Improve help for "--partitions".
19359
0f582c6b 19360 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19361 options to align them with the short options, e.g. "echo -e".
19362
a33224e0 193632008-03-31 Bean <bean123ch@gmail.com>
19364
19365 * video/reader/png.c (grub_png_data): New member is_16bit and
19366 image_data.
19367 (grub_png_decode_image_header): Detect 16 bit png image.
19368 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19369 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19370 (grub_video_reader_png): Release memory occupied by image_data.
19371
19372 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19373 4096 bytes.
19374 (grub_nfs_mount): Skip the test for sector per cluster.
19375
19376 * include/grub/ntfs.h (MAX_SPC): Removed.
19377
86cb4f54 193782008-03-31 Bean <bean123ch@gmail.com>
19379
19380 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19381 (grub_probe_SOURCES): Add fs/afs.c.
19382 (grub_fstest_SOURCES): Likewise.
19383 (afs_mod_SOURCES): New variable.
19384 (afs_mod_CFLAGS): Likewise.
19385 (afs_mod_LDFLAGS): Likewise.
19386
19387 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19388 (grub_emu_SOURCES): Likewise.
19389
19390 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19391
19392 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19393
19394 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19395
19396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19397
19398 * fs/afs.c: New file.
19399
17c74c21 194002008-03-30 Pavel Roskin <proski@gnu.org>
19401
4cb68e89 19402 * disk/host.c: Include grub/misc.h to fix a warning.
19403 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19404 warnings about implicit declarations.
19405
8790bb04 19406 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19407 variable.
19408 * include/grub/i386/loader.h: Change declaration of
19409 grub_linux_boot() to match what grub_loader_set() expects.
19410 * util/getroot.c (grub_guess_root_device): Return const char* to
19411 fix a warning.
19412 * util/grub-probe.c (probe): Fix a warning about uninitialized
19413 abstraction_name variable.
19414 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19415 second argument as unused to fix a warning.
19416
9a3f3296 19417 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19418 missing grub_error() call.
19419
0ecef90d 19420 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19421 2.60 and newer uses it to define datadir.
19422
0bf6d401 19423 * commands/sleep.c: Fix warning about implicit declaration.
19424 * disk/memdisk.c: Likewise.
19425 * loader/aout.c: Likewise.
19426 * loader/i386/bsd_normal.c: Likewise.
19427 * util/grub-probe.c: Likewise.
19428
7cdacf97 19429 * commands/i386/cpuid.c (has_longmode): Make static.
19430 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19431 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19432
17c74c21 19433 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19434 GDT. This is more robust, as %ds can change.
19435 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19436 calling real_to_prot().
19437 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19438
80a3e68b 194392008-03-28 Pavel Roskin <proski@gnu.org>
19440
19441 * kern/i386/pc/startup.S: Assert that uncompressed functions
19442 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19443 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19444 code, as they push parts of the code (error handlers) beyond
19445 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19446 code as correctness and size.
19447
77bcd272 194482008-03-28 Pavel Roskin <proski@gnu.org>
19449
19450 * kern/i386/pc/startup.S
19451 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19452 data block address to the real mode, keep offset minimal. This
19453 works around a bug in AWARD BIOS on old Athlon systems, which
19454 makes CD detection hang.
19455
c5dfd43b 194562008-03-26 Pavel Roskin <proski@gnu.org>
19457
19458 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19459 const.
19460 * include/grub/normal.h: Add grub_parse_color_name_pair()
19461 declaration.
19462
bf962df2 194632008-03-24 Bean <bean123ch@gmail.com>
19464
19465 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19466 (cd_count): Removed.
19467 (cd_drive): New variable.
19468 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19469 (grub_biosdisk_call_hook): Likewise.
19470 (grub_biosdisk_iterate): Change cdrom detection method.
19471 (grub_biosdisk_open): Replace cd_start with cd_drive.
19472 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19473 detect cdrom device.
19474
19475 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19476 Removed.
19477 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19478 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19479 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19480 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19481 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19482 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19483 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19484 (grub_biosdisk_cdrp): New structure.
19485 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19486
19487 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19488
19489 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19490 device.
19491
19492 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19493 New function.
19494
68e7fc7a 194952008-03-20 Robert Millan <rmh@aybabtu.com>
19496
19497 Remove 2 TiB limit in ata.mod.
19498 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19499 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19500 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19501 grub_uint64_t instead of grub_uint32_t.
19502
38ad2cf5 195032008-03-05 Bean <bean123ch@gmail.com>
19504
19505 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19506 (grub_multiboot): Set boot device.
19507
19508 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19509
2b89344e 195102008-03-02 Bean <bean123ch@gmail.com>
19511
19512 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19513 symlink_buffer.
19514
87a95d1f 195152008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19516
19517 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19518 texinfo.tex.
19519
19520 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19521 modified.
19522
19523 * docs/fdl.texi: New file.
f19dbdb7 19524
87a95d1f 19525 * docs/mdate-sh: New file. Copied from gnulib.
19526 * docs/texinfo.tex: Likewise.
19527
19528 * config.guess: Updated from gnulib.
19529 * install-sh: Likewise.
19530
7dc15d8e 195312008-02-28 Robert Millan <rmh@aybabtu.com>
19532
19533 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19534 (aout_mod_SOURCES): New variable.
19535 (aout_mod_CFLAGS): Likewise.
19536 (aout_mod_LDFLAGS): Likewise.
19537
19538 * conf/i386-ieee1275.rmk: Likewise.
19539
b00ab696 195402008-02-28 Robert Millan <rmh@aybabtu.com>
19541
19542 * util/update-grub.in: Reorganise terminal validity check. Accept
19543 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19544 Based on suggestion by Franklin PIAT.
19545
79ca2d78 195462008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19547
19548 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19549 function.
19550 * util/getroot.c (grub_util_check_block_device): New function that
19551 returns the given argument if it is a block device and returns NULL else.
19552 * util/grub-probe.c (argument_is_device): New variable.
19553 (probe): Promote device_name from a variable to an argument. Receive
19554 device_name from grub_util_check_block_device() if path is NULL and from
19555 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 19556 (options): Introduce new parameter '-d, --device'.
79ca2d78 19557 (main): Add description of the new parameter to the help screen.
19558 Rename path variable to argument. Set argument_is_device if the '-d'
19559 option is given. Pass argument to probe() depending on
19560 argument_is_device.
19561
0d16e571 195622008-02-24 Bean <bean123ch@gmail.com>
19563
19564 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19565 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19566 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19567 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19568 (GRUB_ISO9660_VOLDESC_END): Likewise.
19569 (grub_iso9660_primary_voldesc): New member escape.
19570 (grub_iso9660_data): New member joliet.
19571 (grub_iso9660_convert_string): New function.
19572 (grub_iso9660_mount): Detect joliet extension.
19573 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19574 (grub_iso9660_iso9660_label): Likewise.
19575
19576 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19577 (grub_setup_SOURCES): Add fs/udf.c.
19578 (grub_fstest_SOURCES): Likewise.
19579 (udf_mod_SOURCES): New variable.
19580 (udf_mod_CFLAGS): Likewise.
19581 (udf_mod_LDFLAGS): Likewise.
19582
19583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19584 (grub_emu_SOURCES): Likewise.
19585
19586 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19587
19588 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19589
19590 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19591
19592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19593
19594 * fs/udf.c: New file.
19595
8a594a17 195962008-02-24 Robert Millan <rmh@aybabtu.com>
19597
19598 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19599 (normal/lexer.c_DEPENDENCIES): New variables.
19600 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19601 (normal/lexer.c_DEPENDENCIES): Likewise.
19602 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19603 (normal/lexer.c_DEPENDENCIES): Likewise.
19604 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19605 (normal/lexer.c_DEPENDENCIES): Likewise.
19606 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19607 (normal/lexer.c_DEPENDENCIES): Likewise.
19608 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19609 (normal/lexer.c_DEPENDENCIES): Likewise.
19610
2dc33c03 196112008-02-23 Robert Millan <rmh@aybabtu.com>
19612
19613 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19614 since they were intended to be in hex. This didn't break previously
19615 because of a bug in gpt_partition_map_iterate() (see below).
19616
19617 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19618 when checking the validity of GPT header.
19619 Remove `partno', since it always provides the same information as `i'.
19620
f6f4cfb0 196212008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19622
19623 * include/grub/efi/time.h: Fix a wrong comment.
19624
79ff665f 196252008-02-19 Pavel Roskin <proski@gnu.org>
19626
19627 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19628 message.
19629
d38e24c2 196302008-02-19 Bean <bean123ch@gmail.com>
19631
19632 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19633 (aout_mod_SOURCES): New variable.
19634 (aout_mod_CFLAGS): Likewise.
19635 (aout_mod_LDFLAGS): Likewise.
19636 (_bsd_mod_SOURCES): New variable.
19637 (_bsd_mod_CFLAGS): Likewise.
19638 (_bsd_mod_LDFLAGS): Likewise.
19639 (bsd_mod_SOURCES): New variable.
19640 (bsd_mod_CFLAGS): Likewise.
19641 (bsd_mod_LDFLAGS): Likewise.
19642
19643 * include/grub/aout.h: New file.
19644
19645 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19646
19647 * include/grub/i386/bsd.h: New file.
19648
19649 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19650 to make it public.
19651
19652 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19653 function is called, so that it's possible to change it inside the hook.
19654 (grub_elf64_load): Likewise.
19655 (grub_elf_file): Don't close the file if elf header is not found.
19656 (grub_elf_close): Close the file if grub_elf_file fails (The new
19657 grub_elf_file won't close it).
19658 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19659 (grub_elf64_size): Likewise.
19660
19661 * kern/i386/loader.S (grub_unix_real_boot): New function.
19662
19663 * loader/aout.c: New file.
19664
19665 * loader/i386/bsd.c: New file.
19666
19667 * loader/i386/bsd_normal.c: New file.
19668
19669 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19670
19671 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 19672 can test other formats.
d38e24c2 19673
b93bdb0f 196742008-02-19 Robert Millan <rmh@aybabtu.com>
19675
19676 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19677 (grub_gpt_partition_type_empty): Redefine with macro from
19678 `<grub/gpt_partition.h>'.
19679 (gpt_partition_map_iterate): Adjust partition type comparison.
19680
19681 Export `entry' as partmap-specific `part.data' struct.
19682 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19683
19684 * include/grub/gpt_partition.h (grub_gpt_header)
19685 (grub_gpt_partentry): ... to here (new file).
19686
19687 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19688
19689 (grub_gpt_partition_type_bios_boot): New const variable, defined
19690 with macro from `<grub/gpt_partition.h>'.
19691
19692 (setup): Replace `first_start' with `embed_region', which keeps
19693 track of the embed region (and is partmap-agnostic).
19694
19695 Replace find_first_partition_start() with find_usable_region(),
19696 which finds a usable region for embedding using partmap-specific
19697 knowledge (supports PC/MSDOS and GPT).
19698
19699 Fix all assumptions that the embed region start at sector 1, using
19700 `embed_region.start' from now on. Similarly, use `embed_region.end'
19701 rather than `first_start' to calculate available size.
19702
19703 In grub_util_info() message, replace "into after the MBR" with an
19704 indication of the specific sector our embed region starts at.
19705
66cb40f6 197062008-02-19 Robert Millan <rmh@aybabtu.com>
19707
19708 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19709 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19710 `commands/reboot.c'.
19711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19712 (halt_mod_SOURCES): Likewise.
19713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19714 (halt_mod_SOURCES): Likewise.
19715
b7202015 197162008-02-17 Christian Franke <franke@computer.org>
19717
19718 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19719
32b0fc49 197202008-02-17 Robert Millan <rmh@aybabtu.com>
19721
19722 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19723 set `first_start' to 0 for non-PC/MSDOS partition maps.
19724
aca63502 197252008-02-16 Robert Millan <rmh@aybabtu.com>
19726
19727 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19728 do not assume partition map is PC/MSDOS before performing checks that
19729 are specific to that layout.
19730
0de8be86 197312008-02-13 Robert Millan <rmh@aybabtu.com>
19732
19733 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19734 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19735 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19736
c3db8364 197372008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19738
19739 * configure.ac: Only a cosmetic change on the handling of
19740 -fno-stack-protector.
19741
f714229e 197422008-02-12 Alexandre Boeglin <alex@boeglin.org>
19743
c3db8364 19744 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19745 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19746 reboot.c.
f714229e 19747 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19748 (halt_mod_SOURCES): New variable.
19749 (halt_mod_CFLAGS): Likewise.
19750 (halt_mod_LDFLAGS): Likewise.
19751 (reboot_mod_SOURCES): Likewise.
19752 (reboot_mod_CFLAGS): Likewise.
19753 (reboot_mod_LDFLAGS): Likewise.
19754
c3db8364 19755 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19756 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19757 reboot.c.
f714229e 19758 (halt_mod_SOURCES): Likewise.
19759 (reboot_mod_SOURCES): Likewise.
19760
c3db8364 19761 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19762 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 19763 (reboot_mod_SOURCES): Likewise.
19764
19765 * commands/i386/pc/reboot.c: merge this file ...
19766
19767 * commands/ieee1275/reboot.c: ... and this file ...
19768
19769 * commands/reboot.c: ... to this file.
c3db8364 19770 Add some precompiler directive to include the correct header for
19771 each machine.
f714229e 19772
19773 * commands/ieee1275/halt.c: move this file ...
19774
19775 * commands/halt.c: ... to here.
c3db8364 19776 Add some precompiler directive to include the correct header for
19777 each machine.
f714229e 19778
19779 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19780 (grub_halt): Likewise.
19781
19782 * kern/efi/efi.c (grub_reboot): New function.
19783 (grub_halt): Likewise.
19784
c74493e0 197852008-02-12 Robert Millan <rmh@aybabtu.com>
19786
19787 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19788 /dev (like it is done for /dev/mapper). This doesn't provide support
19789 for EVMS, but at least it is now easy to identify the problem when it
19790 arises.
19791
d0db4b04 197922008-02-11 Robert Millan <rmh@aybabtu.com>
19793
19794 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19795 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19796 comparing it with -1, not 0.
19797
bf748642 197982008-02-10 Robert Millan <rmh@aybabtu.com>
19799
19800 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19801 `disk/lvm.c'.
19802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19803 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19804
19805 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19806 `disk/lvm.c' to the end of the list.
19807 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19808 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19809
b5db202a 198102008-02-10 Robert Millan <rmh@aybabtu.com>
19811
19812 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19813 grub_print_error() instead. This will let user know why we're entering
19814 rescue mode.
19815 Based on suggestions from Sam Morris.
19816
83abee31 198172008-02-10 Alexandre Boeglin <alex@boeglin.org>
19818
19819 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19820 on remaining N args, instead of "--" arg N times.
19821
78d5a08b 198222008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19823
19824 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19825 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19826 pattern for unknown glyphs.
19827
68807e5f 198282008-02-09 Robert Millan <rmh@aybabtu.com>
19829
19830 * configure.ac: Probe for `help2man'.
19831 * Makefile.in (builddir): New variable.
19832 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19833 or otherwise add a few flags/options to it.
19834 (install-local): For every executable utility or script that is
19835 installed, invoke $(HELP2MAN) to install a manpage based on --help
19836 output.
19837
19838 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19839 that it doesn't prevent --help from working in build tree.
19840
19841 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19842 with `bug-grub@gnu.org'.
19843 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19844 * util/update-grub.in (usage): New function.
19845 Implement proper argument check, with support for --help and --version
19846 (as well as existing -y).
19847
198482008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 19849
19850 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19851 avoid overwriting previous output.
19852 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19853
c1962162 198542008-02-09 Robert Millan <rmh@aybabtu.com>
19855
19856 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19857 drawing the menu.
19858
3dac2e3f 198592008-02-09 Robert Millan <rmh@aybabtu.com>
19860
19861 * commands/sleep.c: New file.
19862 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19863 (sleep_mod_SOURCES): New variable.
19864 (sleep_mod_CFLAGS): Likewise.
19865 (sleep_mod_LDFLAGS): Likewise.
19866
7a634e08 198672008-02-09 Robert Millan <rmh@aybabtu.com>
19868
19869 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19870 situations in which we can deduce the RAID size and the superblock
19871 doesn't match it.
19872
b92f0c18 198732008-02-09 Robert Millan <rmh@aybabtu.com>
19874
19875 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19876 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19877 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19878
19879 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19880 and return a grub_diskmemberlist_t composed of physical array members.
19881 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19882
19883 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19884 prototype.
19885 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19886 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19887 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19888
19889 * util/grub-probe.c (probe): Move partmap probing code from here ...
19890 (probe_partmap): ... to here.
19891 (probe): Use probe_partmap() once for the disk we're probing, and
19892 additionally, when such disk contains a memberlist() struct member,
19893 once for each disk that is contained in the structure returned by
19894 memberlist().
19895
91a4bf68 198962008-02-09 Robert Millan <rmh@aybabtu.com>
19897
19898 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19899 environment variable to 'all' in order to obtain debug output from
19900 non-util/ code.
19901 * util/i386/pc/grub-setup.c (main): Likewise.
19902
a96f9caa 199032008-02-08 Robert Millan <rmh@aybabtu.com>
19904
19905 * disk/raid.c (grub_raid_scan_device): Check for
19906 `array->device[sb.this_disk.number]' rather than for
19907 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 19908 guaranteed to be accessible.
a96f9caa 19909
b37a9222 199102008-02-08 Robert Millan <rmh@aybabtu.com>
19911
19912 * disk/raid.c: Update copyright.
19913 * fs/cpio.c: Likewise.
19914 * include/grub/raid.h: Likewise.
19915 * loader/i386/pc/multiboot.c: Likewise.
19916 * util/hostfs.c: Likewise.
19917
5626aee1 199182008-02-08 Robert Millan <rmh@aybabtu.com>
19919
19920 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19921 to a grub_disk_t array.
19922 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19923 `device[x]'.
19924 (grub_raid_scan_device): Replace `device[x].name' accesses with
19925 `device[x]->name'. Simplify initialization of `array->device[x]'.
19926
554f0187 199272008-02-08 Robert Millan <rmh@aybabtu.com>
19928
19929 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19930 grub_dprintf() calls.
19931 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19932 error message.
19933
1ec8425d 199342008-02-07 Christian Franke <franke@computer.org>
19935
19936 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19937 instead of fseek and ftell to support large files.
19938 (grub_hostfs_read): Likewise.
19939
f2156fda 199402008-02-07 Robert Millan <rmh@aybabtu.com>
19941
19942 Patch from Jeroen Dekkers.
19943 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 19944 failure, since successfully reading all array members might not be
f2156fda 19945 required.
19946
9216e0e7 199472008-02-06 Robert Millan <rmh@aybabtu.com>
19948
19949 * util/grub-probe.c (probe): Simplify partmap probing (with the
19950 assumption that the first word up to the underscore equals to
19951 the module name).
19952
b0dfd29a 199532008-02-06 Christian Franke <franke@computer.org>
19954
19955 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19956 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19957 last block of a cpio or tar stream.
19958 Check for "TRAILER!!!" instead of any empty data
19959 block to detect last block of a cpio stream.
19960 (grub_cpio_dir): Fix constness of variable np.
19961 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19962 cpio or tar trailer is detected. This fixes a crash
19963 on open of a non existing file.
19964
c32865bf 199652008-02-05 Bean <bean123ch@gmail.com>
19966
19967 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19968 address of entry.
19969 (grub_multiboot_load_elf64): Likewise.
19970 (grub_multiboot): Initialize mbi structure.
19971
19972 * util/grub-fstest.c: Don't include unused header file script.h.
19973
fe6b695a 19974 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 19975 of file.
19976 (grub_fstest_SOURCES): Likewise.
19977
409480b7 199782008-02-05 Robert Millan <rmh@aybabtu.com>
19979
19980 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19981 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19982 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19983 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19984
19985 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19986 (translation_table): Replace hardcoded values with macros
19987 provided by `<grub/term.h>'.
19988
19989 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19990 (keyboard_map): Correct/add a few values, with macros provided
19991 by `<grub/term.h>'.
19992 (keyboard_map_shift): Zero values that don't differ from their
19993 `keyboard_map' equivalents.
19994 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19995 Discard the second scan code that is always sent by Caps lock.
19996 Only use `keyboard_map_shift' when it provides a non-zero value,
19997 otherwise fallback to `keyboard_map'.
19998
99fadbaa 199992008-02-04 Bean <bean123ch@gmail.com>
20000
20001 * Makefile.in (enable_grub_fstest): New variable.
20002
20003 * conf/common.rmk (grub_fstest_init.lst): New rule.
20004 (grub_fstest_init.h): Likewise.
20005 (grub_fstest_init.c): Likewise.
20006 (util/grub-fstest.c_DEPENDENCIES): New variable.
20007 (grub_fstest_SOURCES): Likewise.
20008
20009 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
20010
20011 * util/grub-fstest.c: New file.
20012
bf567c50 200132008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20014
20015 Make grub-setup handle a separate root device.
f19dbdb7 20016
bf567c50 20017 * util/i386/pc/grub-setup.c (setup): Always open the root device,
20018 so that the root device can be compared with the destination
20019 device.
20020 When embedding the core image, if the root and destination devices
20021 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
20022 0xFF.
20023 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 20024
9be6b98b 200252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20026
20027 Add support for having a grub directory in a different drive. This
20028 is still only the data handling part.
f19dbdb7 20029
9be6b98b 20030 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
20031 (codestart): Save %dh in GRUB_ROOT_DRIVE.
20032 (grub_root_drive): New variable.
20033
20034 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
20035 instead of GRUB_BOOT_DRIVE to construct a device name. Set
20036 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
20037 as it was.
20038
20039 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
20040
20041 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
20042 macro.
20043 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
20044
20045 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
20046 is bogus, because PXE booting does not specify any drive
20047 correctly.
20048
20049 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
20050 am not sure if this is really correct.
20051
20052 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
20053 is always identical to the boot drive when booting from a CD.
20054
20055 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
20056 longer.
20057 (root_drive): New variable.
20058 (real_start): Unconditionally set %dh to ROOT_DRIVE.
20059 (setup_sectors): Push %dx right after popping it, because %dh will
20060 be modified later.
20061 (copy_buffer): Restore %dx.
20062
e0ca0677 200632008-02-03 Robert Millan <rmh@aybabtu.com>
20064
20065 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
20066 use `cdboot.img' for cdrom images.
20067
3b3f6629 200682008-02-03 Robert Millan <rmh@aybabtu.com>
20069
20070 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
20071 only setup gfxterm when `font' command has succeeded.
20072
d42b3672 200732008-02-03 Robert Millan <rmh@aybabtu.com>
20074
20075 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
20076 (grub_rescue_cmd_multiboot_loader)
20077 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
20078
fa370ea6 200792008-02-03 Pavel Roskin <proski@gnu.org>
20080
e0c5dacb 20081 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 20082 %edx and %esi from stack only after grub_gate_a20() is called.
20083 grub_gate_a20() clobbers %edx.
20084
f2a76e1d 200852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20086
20087 * configure.ac (AC_INIT): Bumped to 1.96.
20088
20089 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
20090 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
20091 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
20092 video/readers/png.c.
20093
90fd32d1 200942008-02-03 Bean <bean123ch@gmail.com>
9be665dd 20095
20096 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
20097 (cdboot_img_SOURCES): New variable.
20098 (cdboot_img_ASFLAGS): New variable.
20099 (cdboot_img_LDFLAGS): New variable.
20100
20101 * boot/i386/pc/cdboot.S: New file.
20102
20103 * disk/i386/pc/biosdisk.c (cd_start): New variable.
20104 (cd_count): Likewise.
20105 (grub_biosdisk_get_drive): Add support for cd device.
20106 (grub_biosdisk_call_hook): Likewise.
20107 (grub_biosdisk_iterate): Likewise.
20108 (grub_biosdisk_open): Likewise.
20109 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
20110 (grub_biosdisk_rw): Support reading from cd device.
20111 (GRUB_MOD_INIT): Iterate cd devices.
20112
20113 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
20114 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
20115 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
20116
20117 * kern/i386/pc/init.c (make_install_device): Check for cd device.
20118
4020aa53 201192008-02-02 Robert Millan <rmh@aybabtu.com>
20120
20121 * commands/read.c: New file.
20122 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
20123 (read_mod_SOURCES): New variable.
20124 (read_mod_CFLAGS): Likewise.
20125 (read_mod_LDFLAGS): Likewise.
20126
e03a1132 201272008-02-02 Robert Millan <rmh@aybabtu.com>
20128
20129 * normal/main.c (grub_normal_execute): Check for `menu->size' when
20130 determining whether menu has to be displayed.
20131
58c69220 201322008-02-02 Marco Gerards <marco@gnu.org>
20133
20134 * bus/pci.c: New file.
20135
20136 * include/grub/pci.h: Likewise.
20137
20138 * include/grub/i386/pc/pci.h: Likewise.
20139
20140 * commands/lspci.c: Likewise.
20141
20142 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
20143 `lspci.mod'.
20144 (pci_mod_SOURCES): New variable.
20145 (pci_mod_CFLAGS): Likewise.
20146 (pci_mod_LDFLAGS): Likewise.
20147 (lspci_mod_SOURCES): Likewise.
20148 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 20149 (lspci_mod_LDFLAGS): Likewise.
58c69220 20150
c004e1b4 201512008-02-02 Bean <bean123ch@gmail.com>
20152
20153 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
20154 (grub_ufs_get_file_block): Fix indirect block calculation problem.
20155
20156 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
20157 (grub_xfs_btree_node): New structure.
20158 (grub_xfs_btree_root): New structure.
20159 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
20160 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
20161 (GRUB_XFS_EXTENT_BLOCK): Likewise.
20162 (GRUB_XFS_EXTENT_SIZE): Likewise.
20163 (grub_xfs_read_block): Support btree format type.
20164 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
20165 Use directory block as basic unit.
20166
20167 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
20168
20169 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
20170 __attribute__ ((__regparm__ (1))).
20171
f95562bf 201722008-02-01 Robert Millan <rmh@aybabtu.com>
20173
20174 Correct a mistake in previous commit.
20175
20176 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
20177 top.
20178 (normal/command.c_DEPENDENCIES): New variable.
20179
7d31f41f 201802008-02-01 Robert Millan <rmh@aybabtu.com>
20181
20182 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
20183 top.
20184 (normal/command.c_DEPENDENCIES): New variable.
20185 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
20186 * conf/i386-ieee1275.rmk: Likewise.
20187 * conf/i386-linuxbios.rmk: Likewise.
20188 * conf/i386-pc.rmk: Likewise.
20189 * conf/sparc64-ieee1275.rmk: Likewise.
20190 * conf/powerpc-ieee1275.rmk: Likewise.
20191 (grub_emu_SOURCES): Add `fs/fshelp.c'.
20192
20193 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
20194
60b6be74 201952008-02-01 Robert Millan <rmh@aybabtu.com>
20196
20197 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
20198 call at beginning of function.
20199
078522ab 202002008-01-31 Pavel Roskin <proski@gnu.org>
20201
20202 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 20203 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
20204 (grub_mkrescue_SOURCES): Likewise.
078522ab 20205 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
20206
ccaa8a5f 202072008-01-30 Robert Millan <rmh@aybabtu.com>
20208
20209 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
20210 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
20211 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
20212 (grub_probe_SOURCES): ... to here.
20213
20214 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
20215 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
20216 * conf/i386-ieee1275.rmk: Likewise.
20217 * conf/i386-linuxbios.rmk: Likewise.
20218 * conf/powerpc-ieee1275.rmk: Likewise.
20219
ae5a9cd7 202202008-01-30 Tristan Gingold <gingold@free.fr>
20221
20222 * kern/rescue.c: Silently accept empty lines.
20223
70bc2ef2 202242008-01-29 Bean <bean123ch@gmail.com>
20225
20226 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
20227 (real_code_2): Code cleanup and change comment style.
20228 (move_memory): Avoid using 32-bit address mode.
20229
6a4d50ea 202302008-01-29 Bean <bean123ch@gmail.com>
20231
20232 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
20233 (png_mod_SOURCES): New variable.
20234 (png_mod_CFLAGS): Likewise.
20235 (png_mod_LDFLAGS): Likewise.
20236
20237 * video/readers/png.c: New file.
20238
11cc30ac 202392008-01-28 Robert Millan <rmh@aybabtu.com>
20240
20241 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
20242 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
20243 `ifndef GRUB_MOD_GAP' hack.
20244 * util/elf/grub-mkimage.c (add_segments): Likewise.
20245
3abc589f 202462008-01-27 Robert Millan <rmh@aybabtu.com>
20247
20248 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
20249 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 20250 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 20251
e1907778 202522008-01-27 Robert Millan <rmh@aybabtu.com>
20253
20254 Get grub-emu to build again (including parallel builds).
20255
20256 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
20257 Split into ...
20258 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20259 (normal/execute.c_DEPENDENCIES): ... this, ...
20260 (grub-emu_DEPENDENCIES): ... and this.
20261
20262 * conf/i386-efi.rmk: Likewise.
20263 * conf/i386-linuxbios.rmk: Likewise.
20264 * conf/i386-ieee1275.rmk: Likewise.
20265 * conf/powerpc-ieee1275.rmk: Likewise.
20266 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20267
2216b101 202682008-01-27 Robert Millan <rmh@aybabtu.com>
20269
20270 * NEWS: Add a few items.
20271
f75172d9 202722008-01-27 Robert Millan <rmh@aybabtu.com>
20273
20274 Fix parallel builds with grub-emu. Based on earlier commit for
20275 grub-probe and grub-setup.
20276
20277 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20278 (util/grub-emu.c_DEPENDENCIES): ... this.
20279 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20280 (util/grub-emu.c_DEPENDENCIES): ... this.
20281 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20282 (util/grub-emu.c_DEPENDENCIES): ... this.
20283 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20284 (util/grub-emu.c_DEPENDENCIES): ... this.
20285 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20286 (util/grub-emu.c_DEPENDENCIES): ... this.
20287
3f51de77 202882008-01-27 Pavel Roskin <proski@gnu.org>
20289
20290 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20291 to create a gap between _end and the modules added to the image
20292 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20293 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20294 * util/elf/grub-mkimage.c (add_segments): Likewise.
20295
2033f53e 202962008-01-26 Pavel Roskin <proski@gnu.org>
20297
20298 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20299 just return an error.
20300
22da1f6f 203012008-01-26 Bean <bean123ch@gmail.com>
20302
20303 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20304 (grub_reiserfs_get_item): Save offset of the next item.
20305 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20306
2a9525e6 203072008-01-25 Robert Millan <rmh@aybabtu.com>
20308
20309 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20310 make all filesystem sources appear together (possibly fixing omissions
20311 while at it).
20312 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20313 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20314 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20316
20317 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20318 add `kern/file.c'.
20319 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20320 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20321 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20322 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20323
20324 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20325 (probe): Add a sanity check to make sure of our ability to read
20326 requested files when probing for filesystem type.
20327
20328 * genmk.rb: Update copyright year (2007).
20329
20330 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20331 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20332 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20333 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20334 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20335 : Remove function prototypes.
20336
b95f71b5 203372008-01-25 Robert Millan <rmh@aybabtu.com>
20338
20339 Revert my previous commits (based on wrong assumption of how grub_errno
20340 works).
20341
fe6b695a 20342 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 20343 * kern/file.c (grub_file_open): Likewise.
20344
d08bbb49 203452008-01-24 Pavel Roskin <proski@gnu.org>
20346
20347 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20348 that hang if GRUB tries to setup colors.
20349 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20350 colors for firmwares that don't support it.
20351 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20352 Recognize Open Hack'Ware, set flags to work around its
20353 limitations.
20354
605e36ed 203552008-01-24 Robert Millan <rmh@aybabtu.com>
20356
20357 * kern/file.c (grub_file_open): Do not account previous failures of
20358 unrelated functions when grub_errno is checked for.
20359 Reported by Oleg Strikov.
20360
bac332a1 203612008-01-24 Bean <bean123ch@gmail.com>
20362
20363 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20364 (grub_ufs_sblock): New member volume name.
20365 (grub_ufs_find_file): Fix string copy bug.
20366 (grub_ufs_label): Implement this function properly.
20367
20368 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20369 (grub_hfs_iterate_records): Use the correct file number for extents
20370 and catalog file. Fix problem in next index calculation.
20371 (grub_hfs_find_node): Replace recursive function call with loop.
20372 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20373
15c80c09 203742008-01-23 Robert Millan <rmh@aybabtu.com>
20375
20376 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20377 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20378 (grub_multiboot2_real_boot): New function prototype.
20379
20380 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20381 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20382
20383 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20384 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20385
305338fd 203862008-01-23 Robert Millan <rmh@aybabtu.com>
20387
20388 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20389 #ifdef'ed out grub_printf().
20390
3ea52685 203912008-01-23 Robert Millan <rmh@aybabtu.com>
20392
20393 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20394 grub_dprintf calls, since they make "debug=all" mode unusable.
20395 (grub_console_checkkey): Likewise.
20396
5882ae4b 203972008-01-23 Robert Millan <rmh@aybabtu.com>
20398
20399 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20400 `term/i386/pc/at_keyboard.c'.
20401 (pkglib_MODULES): Add `serial.mod'.
20402 (serial_mod_SOURCES): New variable.
20403 (serial_mod_CFLAGS): Likewise.
20404 (serial_mod_LDFLAGS): Likewise.
20405
20406 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20407 `<grub/powerpc/ieee1275/console.h>'.
20408 (grub_keyboard_controller_init): New function prototype.
20409 (grub_console_checkkey): Likewise.
20410 (grub_console_getkey): Likewise.
20411
20412 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20413 keyboard on i386.
20414
20415 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20416 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20417
06ab5303 204182008-01-23 Robert Millan <rmh@aybabtu.com>
20419
20420 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20421 present, "(memdisk)/boot/grub" becomes the default prefix.
20422
20423 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20424 a memdisk tarball with all the modules. Add --overlay=DIR option that
20425 allows users to overlay additional files into the image.
20426
dbb475a4 204272008-01-23 Robert Millan <rmh@aybabtu.com>
20428
20429 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20430 and `machine/memory.h'.
20431 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20432 (_multiboot_mod_SOURCES): New variable.
20433 (_multiboot_mod_CFLAGS): Likewise.
20434 (_multiboot_mod_LDFLAGS): Likewise.
20435 (multiboot_mod_SOURCES): Likewise.
20436 (multiboot_mod_CFLAGS): Likewise.
20437 (multiboot_mod_LDFLAGS): Likewise.
20438
20439 * include/grub/i386/ieee1275/loader.h: New file.
20440
20441 * include/grub/i386/ieee1275/machine.h: Likewise.
20442
20443 * include/grub/i386/ieee1275/memory.h: Likewise.
20444
20445 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20446 variable declaration.
20447 (grub_os_area_size): Likewise.
20448
20449 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20450 (grub_lower_mem, grub_upper_mem): New variables.
20451 (grub_stop_floppy): New function (just to make
20452 grub_multiboot2_real_boot() happy).
20453
20454 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20455 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20456 (grub_stop): New function.
20457 Include `"../realmode.S"' and `"../loader.S"'.
20458
20459 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20460 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20461
20462 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20463 rely on grub_multiboot2_real_boot() for final boot.
20464
25638629 204652008-01-22 Robert Millan <rmh@aybabtu.com>
20466
20467 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20468 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20469 device that doesn't look like an SD card.
20470 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20471 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20472 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20473 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20474 found.
20475
9dad816d 204762008-01-22 Robert Millan <rmh@aybabtu.com>
20477
20478 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20479 avoid claiming over our own code.
20480
34842f2d 204812008-01-22 Bean <bean123ch@gmail.com>
20482
20483 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20484 (jpeg_mod_SOURCES): New variable.
20485 (jpeg_mod_CFLAGS): Likewise.
20486 (jpeg_mod_LDFLAGS): Likewise.
20487
20488 * video/readers/jpeg.c : New file.
20489
44023a28 204902008-01-22 Bean <bean123ch@gmail.com>
20491
20492 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20493 there are no more items.
20494
bc2d8ac6 204952008-01-21 Robert Millan <rmh@aybabtu.com>
20496
20497 * kern/mm.c (grub_mm_init_region): Improve debug message.
20498
261bd4bc 204992008-01-21 Robert Millan <rmh@aybabtu.com>
20500
20501 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20502 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20503 address.
20504 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20505 a C macro.
20506 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20507 Indicates start of upper memory.
20508 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20509 (generate_image): Abort when image size is big enough to corrupt
20510 upper memory.
20511
20512 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20513 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20514 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20515 instead of hardcoding 0xA0000.
20516 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20517 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20518 instead of hardcoding 0xA0000.
20519
f970b55e 205202008-01-21 Robert Millan <rmh@aybabtu.com>
20521
20522 * disk/memdisk.c (memdisk_size): New variable.
20523 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20524 `memdisk_size'.
20525 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20526 image to dynamic memory.
20527 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20528 `memdisk_size'. Free memdisk block.
20529
1a8b0526 205302008-01-21 Robert Millan <rmh@aybabtu.com>
20531
20532 Fix detection of very small filesystems (like tar).
20533
20534 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20535 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20536 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20537 a problem with this disk).
20538
6e9b4aab 205392008-01-21 Robert Millan <rmh@aybabtu.com>
20540
20541 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20542 on grub_biosdisk_rw_standard() error.
20543
0d8837b2 205442008-01-21 Robert Millan <rmh@aybabtu.com>
20545
20546 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20547 recent changes.
20548 * kern/elf.c: Likewise.
20549 * kern/ieee1275/ieee1275.c: Likewise.
20550 * kern/powerpc/ieee1275/openfw.c: Likewise.
20551 * term/ieee1275/ofconsole.c: Likewise.
20552
ffd36e34 205532008-01-21 Robert Millan <rmh@aybabtu.com>
20554
20555 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20556
3f0093d0 20557 * include/grub/kernel.h (grub_arch_memdisk_addr)
20558 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 20559
3f0093d0 20560 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20561 (grub_arch_memdisk_size): ... to here.
ffd36e34 20562
6c391b21 205632008-01-21 Robert Millan <rmh@aybabtu.com>
20564
20565 Mostly based on bugfix from Bean.
20566
20567 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20568 attribute with hook() parameter.
20569 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20570 declaration.
20571 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20572 attribute with hook() parameter.
20573 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20574 declaration.
20575
55a581dc 205762008-01-21 Robert Millan <rmh@aybabtu.com>
20577
20578 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20579 (pkglib_MODULES): Add `memdisk.mod'.
20580 (memdisk_mod_SOURCES): New variable.
20581 (memdisk_mod_CFLAGS): Likewise.
20582 (memdisk_mod_LDFLAGS): Likewise.
20583
20584 * disk/memdisk.c: New file.
20585
20586 * include/grub/disk.h (grub_disk_dev_id): Add
20587 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20588
20589 * include/grub/i386/pc/kernel.h
20590 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20591 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20592 (grub_kernel_image_size): New variable declaration.
20593 (grub_total_module_size): Likewise.
20594 (grub_memdisk_image_size): Likewise.
20595
20596 * include/grub/i386/pc/memory.h
20597 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20598
20599 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20600 (grub_arch_memdisk_addr): New variable declaration.
20601 (grub_arch_memdisk_size): Likewise.
20602
20603 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20604 (grub_arch_memdisk_size): Likewise.
20605
20606 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20607 (codestart): Replace hardcoded `0x100000' with
20608 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20609
20610 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20611 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20612 not NULL, append the contents of the file it refers to, at the end of
20613 the compressed kernel image. Initialize `grub_memdisk_image_size'
20614 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20615 (options): Add "memdisk"|'m' option.
20616 (main): Parse --memdisk|-m option, and pass user-provided path as
20617 parameter to generate_image().
20618
3d7f54c9 206192008-01-20 Robert Millan <rmh@aybabtu.com>
20620
20621 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20622 grub_dprintf() calls from here ...
20623 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20624
0bf74728 206252008-01-20 Robert Millan <rmh@aybabtu.com>
20626
20627 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20628
20629 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20630 declaration.
20631 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20632 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20633 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 20634 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 20635 property).
20636 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20637 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20638
33bf70a7 206392008-01-19 Robert Millan <rmh@aybabtu.com>
20640
fe6b695a 20641 Get rid of confusing function (superseded by
33bf70a7 20642 `grub_ieee1275_get_integer_property')
20643 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20644 prototype.
20645 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20646 function.
20647 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20648 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 20649 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 20650
e2da7d26 206512008-01-19 Robert Millan <rmh@aybabtu.com>
20652
20653 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20654 command after "shut-down", since implementations differ on which
20655 the command for halt is.
20656
59f1fd8d 206572008-01-19 Robert Millan <rmh@aybabtu.com>
20658
20659 * include/grub/i386/linuxbios/console.h: Add header protection.
20660 (grub_keyboard_controller_init): New function prototype.
20661 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20662 (KEYBOARD_COMMAND_READ): Likewise.
20663 (KEYBOARD_COMMAND_WRITE): Likewise.
20664 (KEYBOARD_SCANCODE_SET1): Likewise.
20665 (grub_keyboard_controller_write): New function.
20666 (grub_keyboard_controller_read): Likewise.
20667 (grub_keyboard_controller_init): Likewise.
20668
20669 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20670 (grub_console_init): On coreboot/LinuxBIOS, call
20671 grub_keyboard_controller_init().
20672
5f5a7c15 206732008-01-19 Robert Millan <rmh@aybabtu.com>
20674
20675 PowerPC changes provided by Pavel Roskin.
20676
20677 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20678 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20679 don't rely on cmain() doing it.
20680 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20681 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20682
1210e168 206832008-01-16 Robert Millan <rmh@aybabtu.com>
20684
20685 * include/grub/i386/linuxbios/memory.h
20686 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20687 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20688 receive `table_header' as argument. Instead, probe for it in the
20689 known memory ranges where it can be present.
20690 (grub_available_iterate): Do not pass a fixed `table_header' address
20691 to grub_linuxbios_table_iterate().
20692
3d04eab8 206932008-01-15 Robert Millan <rmh@aybabtu.com>
20694
20695 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20696 * conf/i386-ieee1275.rmk: New file.
20697 * include/grub/i386/ieee1275/console.h: Likewise.
20698 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20699 * include/grub/i386/ieee1275/kernel.h: Likewise.
20700 * include/grub/i386/ieee1275/time.h: Likewise.
20701 * kern/i386/ieee1275/init.c: Likewise.
20702 * kern/i386/ieee1275/startup.S: Likewise.
20703
d1bc1b73 207042008-01-15 Robert Millan <rmh@aybabtu.com>
20705
20706 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20707 when pointers are 32-bit (but still do set it to one when they are
20708 64-bit).
20709
66a65807 207102008-01-15 Robert Millan <rmh@aybabtu.com>
20711
20712 * include/grub/ieee1275/ieee1275.h
20713 (grub_ieee1275_get_integer_property): New function prototype.
20714
20715 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20716 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 20717 grub_ieee1275_get_property() to handle endianness.
66a65807 20718
20719 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20720 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 20721 where appropriate.
66a65807 20722 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20723 (grub_map): Likewise.
20724 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20725
a83ccafd 207262008-01-15 Bean <bean123ch@gmail.com>
20727
20728 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20729 (grub_script_execute_cmdline): Reset grub_errno.
20730
20731 * normal/main.c (read_config_file): Reset grub_errno.
20732
20733 * normal/parse.y (script_init): New.
20734 (script): Move function and menuentry here.
20735 (delimiter): New.
20736 (command): Add delimiter at the end of command.
20737 (commands): Adjust to match the new command.
20738 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 20739 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 20740 (if): Use the new commands.
20741
20742 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20743
df6ecfc6 207442008-01-15 Robert Millan <rmh@aybabtu.com>
20745
20746 * normal/menu.c (run_menu): Move timeout message from here ...
20747 (print_timeout): ... to here.
20748 (run_menu): Use print_timeout() once during initial draw to print
20749 the whole message, and again in every clock tick to update only
20750 the number of seconds.
20751
87ae25eb 207522008-01-15 Robert Millan <rmh@aybabtu.com>
20753
20754 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20755 actual size of `available' from grub_ieee1275_get_property(), and
20756 restrict parsing to that bound.
20757
47bf09a4 207582008-01-15 Christian Franke <franke@computer.org>
20759
20760 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20761 (argp_program_version): Remove variable.
20762 (argp_program_bug_address): Likewise.
20763 (options): Convert from struct argp_option to struct option.
20764 (struct arguments): Remove.
20765 (parse_opt): Remove.
20766 (usage): New function.
20767 (main): Replace struct args members by simple variables.
20768 Replace argp_parse() by getopt_long().
20769 Add switch to evaluate options.
20770 Add missing "(...)" around root_dev in prefix string.
20771
c86f1469 207722008-01-14 Robert Millan <rmh@aybabtu.com>
20773
20774 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20775 for grub_ieee1275_exit(), in order to improve portability.
20776
e622c559 207772008-01-14 Robert Millan <rmh@aybabtu.com>
20778
20779 * util/grub.d/10_linux.in (prefix): Define.
20780 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20781
44cb1ec8 207822008-01-13 Pavel Roskin <proski@gnu.org>
20783
20784 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20785 grub_errno if no errors have been detected.
20786
1eb8c802 207872008-01-12 Robert Millan <rmh@aybabtu.com>
20788
20789 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20790 (grub_util_get_dev_abstraction): New function prototype.
20791
20792 * util/getroot.c: Include `<grub/util/getroot.h>'
20793 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20794 (grub_util_get_dev_abstraction): ... here (new function).
20795
20796 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20797 `PRINT_ABSTRACTION'.
20798 (probe): Probe for abstraction type when requested.
20799 (main): Understand `--target=abstraction'.
20800
20801 * util/i386/efi/grub-install.in: Add abstraction module to core
20802 image when it is found to be necessary.
20803 * util/i386/pc/grub-install.in: Likewise.
20804 * util/powerpc/ieee1275/grub-install.in: Likewise.
20805
20806 * util/update-grub_lib.in (font_path): Return system path without
20807 converting to GRUB path.
20808 * util/update-grub.in: Convert system path returned by font_path()
20809 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20810 abstraction module is needed for loading fonts (if any). Export
20811 that as `GRUB_PRELOAD_MODULES'.
20812 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20813 insmod commands).
20814
52bd3de9 208152008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20816
20817 Remove some unused code from reiserfs.
f19dbdb7 20818
52bd3de9 20819 * fs/reiserfs.c (struct grub_reiserfs_key)
20820 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20821 (struct grub_reiserfs_node_body): Removed.
20822 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20823 Likewise.
20824 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20825 Likewise.
20826 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20827 Likewise.
20828 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20829 Likewise.
20830 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20831 Likewise.
20832 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20833 Likewise.
20834 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20835 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20836 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20837
2f80039d 208382008-01-10 Robert Millan <rmh@aybabtu.com>
20839
20840 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20841 Determines if a file is garbage left by packaging systems, etc.
20842 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20843 for processing /etc/grub.d scripts.
20844 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20845 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20846 as a condition for processing Linux images.
20847
87888032 208482008-01-10 Pavel Roskin <proski@gnu.org>
20849
20850 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20851 to compile reiserfs.c on PowerPC.
20852
7e54fced 208532008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 20854
20855 * kern/device.c (grub_device_iterate): Do not abort device iteration
20856 when one of the devices cannot be opened.
20857 * kern/disk.c (grub_disk_open): Do not account previous failures of
20858 unrelated functions when grub_errno is checked for.
20859
5aa541e6 208602008-01-08 Robert Millan <rmh@aybabtu.com>
20861
20862 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20863 `! grub_linux_is_bzimage', change order of address comparison to make
20864 it more intuitive, and improve "too big zImage" error message.
20865
7076340d 208662008-01-08 Robert Millan <rmh@aybabtu.com>
20867
20868 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20869 `$(update-grub_DATA)'.
20870 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20871 targets.
20872
9ca70333 208732008-01-07 Robert Millan <rmh@aybabtu.com>
20874
20875 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20876 which instruction is modified by grub-setup during installation
20877 (since it wasn't obvious by only looking at this file).
20878
38ccf575 208792008-01-07 Robert Millan <rmh@aybabtu.com>
20880
20881 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20882 listing actual TODO items.
20883
f5db4291 208842008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20885
868967cf 20886 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20887 correctly.
20888 (grub_reiserfs_get_key_offset): Likewise.
20889 (grub_reiserfs_set_key_offset): Likewise.
20890 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 20891 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 20892
20893 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20894 better to remove the bitfield version completely.
f19dbdb7 20895
868967cf 208962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20897
f5db4291 20898 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20899 allocated from the heap, due to the fshelp implementation.
20900 (grub_reiserfs_dir): Free NODE, due to the same reason.
20901
492e6d9d 209022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20903
20904 Mostly from Vincent Pelletier:
f19dbdb7 20905
492e6d9d 20906 * fs/reiserfs.c: New file.
f19dbdb7 20907
492e6d9d 20908 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20909 (reiserfs_mod_SOURCES): New variable.
20910 (reiserfs_mod_CFLAGS): Likewise.
20911 (reiserfs_mod_LDFLAGS): Likewise.
20912
20913 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20914 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20915 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20916 normal/color.c.
20917
9ce3e7c1 209182008-01-06 Robert Millan <rmh@aybabtu.com>
20919
20920 * normal/color.c: Remove `<grub/env.h>'.
20921
f3b58148 209222008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20923
20924 * include/grub/normal.h: Include <grub/env.h>.
20925
7ac3bcfa 209262008-01-05 Robert Millan <rmh@aybabtu.com>
20927
20928 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20929 usage example with `(hd0,1)'.
fb358190 20930 Reported by Samuel Thibault.
7ac3bcfa 20931
c8ee99d7 209322008-01-05 Robert Millan <rmh@aybabtu.com>
20933
20934 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20935 (grub_linux_boot_zimage): Rename to ...
20936 (grub_linux_boot): ... this.
20937 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20938 (grub_linux_boot_zimage): Conditionalize zImage copy.
20939
20940 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20941 (grub_linux_boot_bzimage): Remove prototype.
20942 (grub_linux_boot_zimage): Rename to ...
20943 (grub_linux_boot): ... this.
20944
20945 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20946 (grub_linux_boot): Remove function.
20947
0ece25b1 209482008-01-05 Robert Millan <rmh@aybabtu.com>
20949
20950 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20951 (grub_env_write_color_highlight): Likewise.
20952 (grub_wait_after_message): Likewise.
20953
20954 * normal/color.c: New file.
20955
20956 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20957 (normal_mod_DEPENDENCIES): Likewise.
20958
20959 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20960 (normal_mod_DEPENDENCIES): Likewise.
20961
20962 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20963 (normal_mod_DEPENDENCIES): Likewise.
20964
20965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20966 (normal_mod_DEPENDENCIES): Likewise.
20967
20968 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20969 for waiting after a message is printed.
20970 * normal/main.c (read_config_file): Likewise.
20971 (grub_normal_init): Register grub_env_write_color_normal() and
20972 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20973 `color_highlight' variables as global.
20974
20975 * normal/menu.c (grub_wait_after_message): New function.
20976 (grub_color_menu_normal): New variable. Replaces ...
20977 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20978 (grub_color_menu_highlight): New variable. Replaces ...
20979 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20980 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20981 `GRUB_TERM_COLOR_STANDARD'.
20982 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20983 `normal_code' and `highlight_code' to `old_color_normal' and
20984 `old_color_highlight', respectively.
20985 (grub_menu_init_page): Update colors when drawing the menu, based on
20986 `menu_color_normal' and `menu_color_highlight' variables.
20987 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20988 a message is printed.
20989
182dd4e5 209902008-01-05 Robert Millan <rmh@aybabtu.com>
20991
20992 * kern/env.c (grub_env_context_open): Propagate hooks for global
20993 variables to new context.
20994
20995 * kern/main.c (grub_set_root_dev): Export `root' variable.
20996
ddf8f6ad 209972008-01-05 Robert Millan <rmh@aybabtu.com>
20998
20999 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 21000 discs unconditionally, since udev and others have options to provide
ddf8f6ad 21001 them.
21002
d8b43d9b 210032008-01-05 Robert Millan <rmh@aybabtu.com>
21004
21005 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
21006
2bff2de3 210072008-01-04 Christian Franke <franke@computer.org>
21008
21009 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
21010 of eisa_mmap.
21011
97eab917 210122008-01-03 Pavel Roskin <proski@gnu.org>
21013
21014 * kern/i386/linuxbios/init.c: Put "void" to all function
21015 declarations with no arguments.
21016 * kern/powerpc/ieee1275/init.c: Likewise.
21017 * term/i386/pc/at_keyboard.c: Likewise.
21018 * term/i386/pc/vga_text.c: Likewise.
21019 * util/grub-mkdevicemap.c: Likewise.
21020
b9416d00 210212008-01-02 Robert Millan <rmh@aybabtu.com>
21022
21023 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
21024 message when loaded image is out of bounds.
21025 (grub_multiboot_load_elf64): Likewise.
21026
92695df9 210272008-01-02 Pavel Roskin <proski@gnu.org>
21028
21029 * util/grub.d/10_linux.in: Try version without ".old" when
21030 looking for initrd. It's better to use initrd from the newer
21031 kernel of the same version than no initrd at all.
21032
d98d9cad 210332008-01-01 Robert Millan <rmh@aybabtu.com>
21034
21035 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
21036
dbfdce36 210372008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
21038
f19dbdb7 21039 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 21040 grub_video_get_active_render_target.
21041 (grub_video_adapter): Added unmap_color and get_active_render_target.
21042
f19dbdb7 21043 * video/video.c: Added grub_video_unmap_color and
dbfdce36 21044 grub_video_get_active_render_target.
21045 (grub_video_get_info): Changed method to accept NULL pointer as an
21046 argument to allow detection of active video adapter.
21047
21048 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
21049 grub_video_vbe_unmap_color_int.
21050 Added grub_video_vbe_unmap_color and
21051 grub_video_vbe_get_active_render_target.
21052 (grub_video_vbe_adapter): Added unmap_color and
21053 get_active_render_target.
21054
f19dbdb7 21055 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 21056 with grub_video_vbe_unmap_color_int.
21057
21058 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
21059 (DEFAULT_NORMAL_COLOR): Likewise.
21060 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
21061 (DEFAULT_FG_COLOR): Removed.
21062 (DEFAULT_BG_COLOR): Likewise.
21063 (DEFAULT_CURSOR_COLOR): Changed value.
21064 (grub_virtual_screen): Added standard_color_setting,
21065 normal_color_setting, highlight_color_setting and term_color.
21066 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
21067 (bitmap_width): Added.
21068 (bitmap_height): Likewise.
21069 (bitmap): Likewise.
21070 (set_term_color): Likewise.
21071 (grub_virtual_screen_setup): Changed to use new terminal coloring
21072 settings.
21073 (grub_gfxterm_init): Added init for bitmap.
21074 (grub_gfxterm_fini): Added destroy for bitmap.
21075 (redraw_screen_rect): Updated to use background bitmap and new
21076 terminal coloring.
21077 (scroll_up): Added optimization for case when there is no bitmap.
21078 (grub_gfxterm_cls): Fixed to use correct background color.
21079 (grub_virtual_screen_setcolorstate): Changed to use new terminal
21080 coloring.
21081 (grub_virtual_screen_setcolor): Likewise.
21082 (grub_virtual_screen_getcolor): Added.
21083 (grub_gfxterm_background_image_cmd): Likewise.
21084 (grub_video_term): Added setcolor and getcolor.
21085 (MOD_INIT): Added registration of background_image command.
21086 (MOD_TERM): Added unregistration for background_image command.
21087
c3c20931 210882007-12-30 Pavel Roskin <proski@gnu.org>
21089
21090 * loader/multiboot_loader.c: Fix multiboot command
21091 unregistration. Fix all typos in the word "multiboot".
21092
df266716 210932007-12-29 Pavel Roskin <proski@gnu.org>
94239199 21094
21095 * util/grub.d/10_linux.in: Refactor search for initrd. Add
21096 support for initrd names used in Fedora.
21097
fc6e896c 210982007-12-26 Bean <bean123ch@gmail.com>
21099
21100 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
21101 (cpio_mod_SOURCES): New variable.
21102 (cpio_mod_CFLAGS): Likewise.
21103 (cpio_mod_LDFLAGS): Likewise.
21104
21105 * fs/cpio.c: New file.
21106
21107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
21108
21109 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21110
21111 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21112
21113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21114
533110ad 211152007-12-25 Robert Millan <rmh@aybabtu.com>
21116
21117 * include/grub/term.h (struct grub_term): Add `getcolor' function.
21118 (grub_getcolor): New function.
21119
21120 * kern/term.c (grub_getcolor): New function.
21121 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
21122 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
21123 (print_entry): Set normal and highlight colors to
21124 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
21125 respectively, before printing and restore them to old
21126 values afterwards.
21127 (grub_menu_init_page): Likewise. Fill an additional colored space
21128 that would otherwise be left blank.
21129
21130 * term/efi/console.c (grub_console_getcolor): New function.
21131 (struct grub_console_term.getcolor): New variable.
21132 * term/i386/pc/console.c (grub_console_getcolor): New function.
21133 (struct grub_console_term.getcolor): New variable.
21134 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
21135 (struct grub_console_term.getcolor): New variable.
21136
21137 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
21138 (struct grub_console_term.setcolor): Remove variable.
21139 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
21140 (struct grub_console_term.setcolor): Remove variable.
21141 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
21142 (struct grub_console_term.setcolor): Remove variable.
21143 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
21144 (struct grub_console_term.setcolor): Remove variable.
21145
4931827f 211462007-12-25 Robert Millan <rmh@aybabtu.com>
21147
21148 * configure.ac: Search for possible unifont.hex locations, and
21149 define UNIFONT_HEX if found.
21150
21151 * Makefile.in (UNIFONT_HEX): Define variable.
21152 (DATA): Rename to ...
21153 (PKGLIB): ... this. Update all users.
21154 (PKGDATA): New variable.
21155 (pkgdata_IMAGES): Rename to ...
21156 (pkglib_IMAGES): ... this. Update all users.
21157 (pkgdata_MODULES): Rename to ...
21158 (pkglib_MODULES): ... this. Update all users.
21159 (pkgdata_PROGRAMS): Rename to ...
21160 (pkglib_PROGRAMS): ... this. Update all users.
21161 (pkgdata_DATA): Rename to ...
21162 (pkglib_DATA): ... this. Update all users.
21163 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
21164 (unicode.pff, ascii.pff): New rules.
21165 (all-local): Add `$(PKGDATA)' dependency.
21166 (install-local): Process `$(PKGDATA)'.
21167
21168 * util/update-grub_lib.in (font_path): Search for *.pff files in
21169 a few more locations, including `${pkgdata}'.
21170
57e57e31 211712007-12-23 Robert Millan <rmh@aybabtu.com>
21172
21173 Patch from Bean <bean123ch@gmail.com>:
21174 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
21175 `size'.
21176
4bc72aa9 211772007-12-21 Bean <bean123ch@gmail.com>
21178
21179 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
21180 (ntfscomp_mod_SOURCES): New variable.
21181 (ntfscomp_mod_CFLAGS): Likewise.
21182 (ntfscomp_mod_LDFLAGS): Likewise.
21183
21184 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
21185 (grub_probe_SOURCES): Likewise.
21186 (grub_emu_SOURCES): Likewise.
21187
21188 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21189 (grub_emu_SOURCES): Likewise.
21190
21191 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21192 (grub_emu_SOURCES): Likewise.
21193
21194 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21195 (grub_emu_SOURCES): Likewise.
21196
21197 * fs/ntfs.c (grub_ntfscomp_func): New variable.
21198 (read_run_list): Renamed to grub_ntfs_read_run_list.
21199 (decomp_nextvcn): Moved to ntfscomp.c.
21200 (decomp_getch): Likewise.
21201 (decomp_get16): Likewise.
21202 (decomp_block): Likewise.
21203 (read_block): Likewise.
21204 (read_data): Partially moved to ntfscomp.c.
21205 (fixup): Change unsigned to grub_uint16_t.
21206 (read_mft): Change unsigned long to grub_uint32_t.
21207 (read_attr): Likewise.
21208 (read_data): Likewise.
21209 (read_run_data): Likewise.
21210 (read_run_list): Likewise.
21211 (read_mft): Likewise.
21212
21213 * fs/ntfscomp.c: New file.
21214
21215 * include/grub/ntfs.h: New file.
21216
af680a87 212172007-12-16 Robert Millan <rmh@aybabtu.com>
21218
21219 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
21220 IDE disk check, since Linux is known to support 20 IDE disks.
21221 Reported by Colin Watson.
21222
84be7599 212232007-12-15 Bean <bean123ch@gmail.com>
21224
21225 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
21226 (lnxboot_img_SOURCES): New variable.
21227 (lnxboot_img_ASFLAGS): Likewise.
21228 (lnxboot_img_LDFLAGS): Likewise.
21229
21230 * boot/i386/pc/lnxboot.S: New file.
21231
6af9db01 212322007-11-24 Pavel Roskin <proski@gnu.org>
21233
21234 * configure.ac: Test if '--build-id=none' is supported by the
21235 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
21236 objcopy to generate incorrect binary files (binutils
21237 2.17.50.0.18-1 as shipped by Fedora 8).
21238 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
21239 linking, so that build ID doesn't break the test.
21240
7361cfe6 212412007-11-24 Pavel Roskin <proski@gnu.org>
21242
21243 * include/grub/i386/time.h: use "void" in the argument list
21244 of grub_cpu_idle().
21245 * include/grub/powerpc/time.h: Likewise.
21246 * include/grub/sparc64/time.h: Likewise.
21247
1593e10c 212482007-11-18 Christian Franke <franke@computer.org>
21249
21250 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
21251 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
21252 This fixes the problem that function keys did not work in grub-emu.
21253
3b8db1a8 212542007-11-18 Christian Franke <franke@computer.org>
21255
21256 * disk/host.c (grub_host_open): Remove attribute unused from
21257 name parameter. Add check for "host". This fixes the problem
21258 that grub-emu does not find partitions.
21259
2e29408d 212602007-11-18 Christian Franke <franke@computer.org>
21261
21262 * util/hostfs.c (is_dir): New function.
21263 (grub_hostfs_dir): Handle missing dirent.d_type case.
21264 (grub_hostfs_read): Add missing fseek().
21265 (grub_hostfs_label): Clear label pointer. This fixes a crash
21266 of grub-emu on "ls (host)".
21267
398cd047 212682007-11-18 Christian Franke <franke@computer.org>
21269
21270 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21271 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21272 to 64 bit boundary by default.
21273
c405c391 212742007-11-18 Bean <bean123ch@gmail.com>
21275
21276 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21277 (hexdump_mod_SOURCES): New variable.
21278 (hexdump_mod_CFLAGS): Likewise.
21279 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 21280
c405c391 21281 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21282
21283 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21284
21285 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21286
21287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21288
21289 * include/grub/hexdump.h: New file.
21290
21291 * commands/hexdump.c: New file.
21292
5cced7fd 212932007-11-10 Robert Millan <rmh@aybabtu.com>
21294
21295 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21296 in grub_outb() calls.
21297 (beep_on): Likewise.
21298
8b714eb0 212992007-11-10 Christian Franke <franke@computer.org>
21300
21301 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21302 (grub_menu_run): Likewise.
21303
ce0f1839 213042007-11-10 Robert Millan <rmh@aybabtu.com>
21305
21306 * include/grub/i386/efi/machine.h: New file.
21307 * include/grub/i386/linuxbios/machine.h: Likewise.
21308 * include/grub/i386/pc/machine.h: Likewise.
21309 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21310 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21311
21312 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21313 (serial_hw_io_addr): New variable.
21314 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21315 instead of `(unsigned short *) 0x400'.
21316
270c237d 213172007-11-10 Bean <bean123ch@gmail.com>
21318
21319 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21320
a87783bf 213212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21322
21323 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21324 (vga_mod_SOURCES): Added.
21325 (vga_mod_CFLAGS): Likewise.
21326 (vga_mod_LDFLAGS): Likewise.
21327
21328 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21329 grub_outb() calls.
21330 (set_map_mask): Likewise.
21331 (set_read_map): Likewise.
21332 (set_read_address): Likewise.
21333 (vga_font): Removed variable.
21334 (get_vga_glyph): Removed function.
21335 (invalidate_char): Likewise.
21336 (write_char): Changed to use grub_font_get_glyph() for font
21337 information.
21338 (grub_vga_putchar): Likewise.
21339 (grub_vga_getcharwidth): Likewise.
21340
6433b448 213412007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21342
21343 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21344 flags.
21345 (pxeboot_img_LDFLAGS): Likewise.
21346 (diskboot_img_LDFLAGS): Likewise.
21347 (kernel_img_LDFLAGS): Likewise.
21348
49178511 213492007-11-06 Robert Millan <rmh@aybabtu.com>
21350
21351 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21352 in grub_outb() calls.
21353 (serial_hw_init): Likewise.
21354
53b052de 213552007-11-05 Robert Millan <rmh@aybabtu.com>
21356
21357 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21358 spaces. Skip non-regular files.
21359
5ab33bba 213602007-11-05 Robert Millan <rmh@aybabtu.com>
21361
21362 * kern/disk.c (grub_disk_firmware_fini)
21363 (grub_disk_firmware_is_tainted): New variables.
21364
21365 * include/grub/disk.h (grub_disk_firmware_fini)
21366 (grub_disk_firmware_is_tainted): Likewise.
21367
21368 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21369 (grub_disk_biosdisk_fini): ... to here.
21370 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21371 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21372 is set. Register grub_disk_biosdisk_fini() in
21373 `grub_disk_firmware_fini'.
21374
21375 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21376 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21377 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21378 to finish existing firmware disk interface.
21379
21380 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21381 (ata_mod_SOURCES): New variable.
21382 (ata_mod_CFLAGS): Likewise.
21383 (ata_mod_LDFLAGS): Likewise.
21384
0149ab7c 213852007-11-05 Robert Millan <rmh@aybabtu.com>
21386
21387 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21388 (grub_ata_wait): Reimplement using grub_millisleep().
21389
21390 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21391 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21392
be7ac41e 213932007-11-03 Marco Gerards <marco@gnu.org>
21394
21395 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21396 (CRTC_ADDR_PORT): New macro.
21397 (CRTC_DATA_PORT): Likewise.
21398 (CRTC_CURSOR): Likewise.
21399 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21400 (CRTC_CURSOR_ADDR_LOW): Likewise.
21401 (update_cursor): New function.
21402 (grub_console_real_putchar): Call `update_cursor'.
21403 (grub_console_gotoxy): Likewise.
21404 (grub_console_cls): Set the default color when clearing the
21405 screen.
21406 (grub_console_setcursor): Implemented.
21407
bb06ab2e 214082007-11-03 Marco Gerards <marco@gnu.org>
21409
21410 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21411 become activate.
21412 (grub_ata_pio_write): Likewise.
21413
21414 (grub_atapi_identify): Wait after issuing an ATA command.
21415 (grub_atapi_packet): Likewise.
21416 (grub_ata_identify): Likewise.
21417 (grub_ata_readwrite): Likewise.
21418
cf8f780b 214192007-11-03 Marco Gerards <marco@gnu.org>
21420
21421 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21422 (grub_ata_pio_write): Likewise.
21423 (grub_ata_readwrite): Use `grub_error', instead of
21424 returning `grub_errno'.
21425
ed649e54 214262007-11-03 Marco Gerards <marco@gnu.org>
21427
21428 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21429 grub_ata_pio_write once for every single sector, instead of for
21430 multiple sectors.
21431
ca25d8f0 214322007-10-31 Robert Millan <rmh@aybabtu.com>
21433
21434 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21435
21436 * conf/i386-linuxbios.rmk: New file.
21437
21438 * kern/i386/pc/hardware.c: Likewise.
21439 * term/i386/pc/at_keyboard.c: Likewise.
21440 * term/i386/pc/vga_text.c: Likewise.
21441
21442 * include/grub/i386/linuxbios/boot.h: Likewise.
21443 * include/grub/i386/linuxbios/console.h: Likewise.
21444 * include/grub/i386/linuxbios/init.h: Likewise.
21445 * include/grub/i386/linuxbios/kernel.h: Likewise.
21446 * include/grub/i386/linuxbios/loader.h: Likewise.
21447 * include/grub/i386/linuxbios/memory.h: Likewise.
21448 * include/grub/i386/linuxbios/serial.h: Likewise.
21449 * include/grub/i386/linuxbios/time.h: Likewise.
21450
21451 * kern/i386/linuxbios/init.c: Likewise.
21452 * kern/i386/linuxbios/startup.S: Likewise.
21453 * kern/i386/linuxbios/table.c: Likewise.
21454
e911ecc1 214552007-10-31 Marco Gerards <marco@gnu.org>
21456
21457 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21458 (ata_mod_SOURCES): New variable.
21459 (ata_mod_CFLAGS): Likewise.
21460 (ata_mod_LDFLAGS): Likewise.
21461
21462 * disk/ata.c: New file.
21463
21464 * include/grub/disk.h (grub_disk_dev_id): Add
21465 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 21466
7f66d0e0 214672007-10-31 Robert Millan <rmh@aybabtu.com>
21468
21469 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21470 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21471
21472 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21473 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21474
21475 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21476 `<grub/types.h>'.
21477
21478 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21479
5cd7dd46 214802007-10-27 Robert Millan <rmh@aybabtu.com>
21481
3236ca65 21482 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 21483
2ebfc90f 214842007-10-22 Robert Millan <rmh@aybabtu.com>
21485
21486 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21487 `"../realmode.S"'.
21488 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21489
73fcb0f3 214902007-10-22 Robert Millan <rmh@aybabtu.com>
21491
21492 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21493 (pkgdata_MODULES): Add `biosdisk.mod'.
21494 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21495 variables.
21496
21497 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21498 (grub_biosdisk_init): Replace with ...
21499 (GRUB_MOD_INIT(biosdisk)): ... this.
21500 (grub_biosdisk_fini): Replace with ...
21501 (GRUB_MOD_FINI(biosdisk)): ... this.
21502
21503 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21504 (grub_machine_init): Remove call to grub_biosdisk_init().
21505 (grub_machine_fini): Remove call to grub_machine_fini().
21506
21507 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21508
3381d274 215092007-10-22 Robert Millan <rmh@aybabtu.com>
21510
21511 * include/grub/time.h: New file.
21512 * include/grub/i386/time.h: Likewise.
21513 * include/grub/powerpc/time.h: Likewise.
21514 * include/grub/sparc64/time.h: Likewise.
21515
21516 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21517 instances to ...
21518 (KERNEL_MACHINE_TIME_HEADER): ... this.
21519 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21520 instances to ...
21521 (KERNEL_MACHINE_TIME_HEADER): ... this.
21522 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21523 instances to ...
21524 (KERNEL_MACHINE_TIME_HEADER): ... this.
21525
21526 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21527 (grub_millisleep): New function.
21528 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21529 (grub_millisleep): New function.
21530 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21531 Remove `grub/machine/time.h' include.
21532 (grub_millisleep): New function.
21533 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21534 Remove `grub/machine/time.h' include.
21535 (grub_millisleep): New function.
21536
21537 * include/grub/misc.h (grub_div_roundup): New function.
21538
21539 * kern/misc.c: Include `<grub/time.h>'.
21540 (grub_millisleep_generic): New function.
21541
21542 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21543 Add `time.h'.
21544 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21545 Add `time.h'.
21546 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21547 `machine/time.h'. Add `time.h'.
21548 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21549
a39a0312 215502007-10-21 Robert Millan <rmh@aybabtu.com>
21551
21552 * include/grub/misc.h (grub_max): New function.
21553
2aad70e2 215542007-10-21 Robert Millan <rmh@aybabtu.com>
21555
21556 * util/misc.c (grub_util_info): Call fflush() before returning.
21557
54b71c4b 215582007-10-20 Robert Millan <rmh@aybabtu.com>
21559
21560 * genmk.rb (Image): Copy `extra_flags' from here ...
21561 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21562
21563 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21564 to `argc' and `args' arguments.
21565
a979f513 215662007-10-17 Robert Millan <rmh@aybabtu.com>
21567
21568 * kern/i386/loader.S: New file.
21569
21570 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21571 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21572 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21573 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21574 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21575 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21576 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21577 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21578 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21579 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21580 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21581 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21582 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21583 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21584
21585 * kern/i386/realmode.S: New file.
21586
21587 * kern/i386/pc/startup.S (protstack): Moved from here ...
21588 * kern/i386/realmode.S (protstack)... to here.
21589 * kern/i386/pc/startup.S (gdt): Moved from here ...
21590 * kern/i386/realmode.S (gdt)... to here.
21591 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21592 * kern/i386/realmode.S (prot_to_real)... to here.
21593
21594 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21595 `kern/i386/realmode.S'.
21596
825fc8fd 215972007-10-17 Robert Millan <rmh@aybabtu.com>
21598
21599 * include/grub/i386/loader.h: New file.
21600
21601 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21602 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21603 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21604 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21605 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21606 * include/grub/i386/loader.h (grub_linux_prot_size)
21607 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21608 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21609 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21610 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21611
21612 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21613
e179b2f4 216142007-10-15 Robert Millan <rmh@aybabtu.com>
21615
21616 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21617 filesystem when dev->disk is unset.
21618 Do probe for filesystem even when dev->disk->has_partitions is set.
21619 In case a filesystem is found, always report it.
21620 In case it isn't, if dev->disk->has_partitions is set, report that
21621 a partition table was found instead of reporting that no filesystem
21622 could be identified.
21623
5db82af6 216242007-10-12 Robert Millan <rmh@aybabtu.com>
21625
21626 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21627 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21628
68f6ac74 21629 * include/grub/types.h (grub_host_to_target16): New macro.
21630 (grub_host_to_target32): Likewise.
21631 (grub_host_to_target64): Likewise.
21632 (grub_target_to_host16): Likewise.
21633 (grub_target_to_host32): Likewise.
21634 (grub_target_to_host64): Likewise.
5db82af6 21635
21636 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21637 Renamed from to ...
21638 (GRUB_MOD_ALIGN): ...this. Update all users.
21639
68f6ac74 21640 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21641 grub_host_to_target32.
21642 Replace grub_be_to_cpu32 with grub_target_to_host32.
21643 (load_modules): Likewise.
21644 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21645 Replace grub_be_to_cpu32 with grub_target_to_host32.
21646 Replace grub_cpu_to_be16 with grub_host_to_target16.
21647 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 21648
3cf497cc 216492007-10-12 Robert Millan <rmh@aybabtu.com>
21650
21651 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21652 * util/elf/grub-mkimage.c: ... here.
21653
21654 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21655 `util/powerpc/ieee1275/grub-mkimage.c'.
21656
c8cc3692 216572007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 21658
c8cc3692 21659 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21660 and make it easier to figure out.
21661 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21662 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21663 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21664 leave us with less than HEAP_MIN_SIZE total heap.
21665 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 21666
5c58b791 216672007-10-03 Robert Millan <rmh@aybabtu.com>
21668
21669 * include/grub/i386/io.h: New file.
21670 * commands/i386/pc/play.c (inb): Removed.
21671 (outb): Removed.
21672 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21673 with grub_outb().
afcd2ef8 21674 * term/i386/pc/serial.c (inb): Removed.
21675 (outb): Removed.
21676 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21677 with grub_outb().
21678 * term/i386/pc/vga.c (inb): Removed.
21679 (outb): Removed.
21680 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21681 with grub_outb().
5c58b791 21682
1a477ed6 216832007-10-02 Robert Millan <rmh@aybabtu.com>
21684
21685 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21687 Reported by Marcin Kurek.
21688
6b5d80fa 216892007-09-07 Robert Millan <rmh@aybabtu.com>
21690
21691 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21692 SmartFirmware version updates (as released by Sven Luther), and avoid
21693 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21694 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21695 known broken.
21696
5618afbf 216972007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21698
21699 From Hitoshi Ozeki:
21700 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21701 when merging two regions.
21702
6139dcd9 217032007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21704
508e39ee 21705 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21706 * normal/completion.c (grub_normal_do_completion): Likewise.
21707 Reported by Hitoshi Ozeki.
21708
217092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21710
6139dcd9 21711 Do not use devices at boot in chainloading.
f19dbdb7 21712
6139dcd9 21713 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21714 (boot_part_addr): Likewise.
21715 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21716 with BOOT_DRIVE and BOOT_PART_ADDR.
21717 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21718 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21719
38da6516 217202007-08-29 Robert Millan <rmh@aybabtu.com>
21721
21722 Patch from Simon Peter <dn.tlp@gmx.net>:
21723 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21724 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21725 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21726 util/i386/pc/grub-setup.c_DEPENDENCIES.
21727 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21728 util/grub-probe.c_DEPENDENCIES.
21729 * conf/powerpc-ieee1275.rmk: Likewise.
21730
29d0928c 217312007-08-28 Robert Millan <rmh@aybabtu.com>
21732
21733 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21734 to tell grub-mkdevicemap how to name devices.
21735 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21736 feature).
21737
21738 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21739 util/i386/get_disk_name.c.
21740 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21741 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21742 util/ieee1275/get_disk_name.c.
21743
21744 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21745
21746 * DISTLIST: Add util/i386/get_disk_name.c and
21747 util/ieee1275/get_disk_name.c.
21748
21749 * util/grub-mkdevicemap.c: Replace device naming logic with
21750 grub_util_get_disk_name() calls.
21751
5a0d3cca 217522007-08-20 Robert Millan <rmh@aybabtu.com>
21753
21754 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21755 (so that it works for both plural and singular quantities).
21756
8b72db2f 217572007-08-05 Robert Millan <rmh@aybabtu.com>
21758
21759 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21760 so that [xz] isn't taken into account when determining order.
21761
352466bf 217622007-08-02 Marco Gerards <marco@gnu.org>
21763
21764 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21765 `include/multiboot2.h', `include/grub/elfload.h',
21766 `include/multiboot.h', `include/grub/multiboot.h',
21767 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21768 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21769 `kern/elf.c', `loader/multiboot_loader.c',
21770 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21771 `loader/i386/pc/multiboot2.c',
21772 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21773 `util/i386/pc/grub-mkrescue.in'. Remove
21774 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21775 `include/grub/i386/pc/util/biosdisk.h' and
21776 `include/grub/powerpc/ieee1275/multiboot.h'.
21777
8f096014 217782007-08-02 Bean <bean123ch@gmail.com>
21779
21780 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21781 (ntfs_mod_SOURCES): New variable.
21782 (ntfs_mod_CFLAGS): Likewise.
21783 (ntfs_mod_LDFLAGS): Likewise.
21784
21785 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21786 (grub_probe_SOURCES): Likewise.
21787 (grub_emu_SOURCES): Likewise.
21788
21789 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21790 (grub_emu_SOURCES): Likewise.
21791
21792 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21793 (grub_emu_SOURCES): Likewise.
f19dbdb7 21794
8f096014 21795 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21796
21797 * fs/ntfs.c: New file.
21798
9959f7db 217992007-08-02 Bean <bean123ch@gmail.com>
21800
21801 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21802
21803 * file.h (grub_file): Likewise.
21804
21805 * fshelp.h (grub_fshelp_read_file): Likewise.
21806
21807 * util/i386/pc/grub-setup.c (setup): Likewise.
21808 (save_first_sector): Likewise.
21809 (save_blocklists): Likewise.
f19dbdb7 21810
9959f7db 21811 * fs/affs.c (grub_affs_read_file): Likewise.
21812
21813 * fs/ext2.c (grub_ext2_read_file): Likewise.
21814
21815 * fs/fat.c (grub_fat_read_data): Likewise.
21816
21817 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21818
21819 * fs/hfs.c (grub_hfs_read_file): Likewise.
21820
21821 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21822
21823 * fs/jfs.c (grub_jfs_read_file): Likewise.
21824
21825 * fs/minix.c (grub_minix_read_file): Likewise.
21826
21827 * fs/sfs.c (grub_sfs_read_file): Likewise.
21828
21829 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 21830
9959f7db 21831 * fs/xfs.c (grub_xfs_read_file): Likewise.
21832
21833 * command/blocklist.c (read_blocklist): Likewise.
21834 (print_blocklist): Likewise.
21835
0a203f83 218362007-08-02 Marco Gerards <marco@gnu.org>
21837
21838 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21839 `util/hostfs.c'.
21840
21841 * disk/host.c: New file.
21842
21843 * util/hostfs.c: Likewise.
21844
21845 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21846 return `GRUB_ERR_BAD_FS'.
21847 * fs/sfs.c (grub_sfs_mount): Likewise.
21848 * fs/xfs.c (grub_xfs_mount): Likewise.
21849
21850 * include/grub/disk.h (enum grub_disk_dev_id): Add
21851 `GRUB_DISK_DEVICE_HOST_ID'.
21852
21853 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21854
e5dfe777 218552007-07-24 Jerone Young <jerone@gmail.com>
21856
f19dbdb7 21857 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 21858 modules for compilation.
21859 * conf/powerpc-ieee1275.rmk: Likewise.
21860
21861 * include/multiboot.h: Move multiboot definitions to one file. Rename
21862 many definitions to not get grub specific.
21863 * include/multiboot2.h: Create header with multiboot 2 definitions.
21864 * include/grub/multiboot.h: Header for grub specific function
21865 prototypes and definitions.
21866 * include/grub/multiboot2.h: Likewise.
21867 * include/grub/multiboot_loader.h: Likewise.
21868 * include/grub/i386/pc/multiboot.h: Removed.
21869 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21870
21871 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21872 and 2 to allow for one multiboot and module commands.
21873 * loader/multiboot2.c: Add multiboot2 functionality.
21874 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21875 and definition names.
21876 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21877 2 functions.
21878 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21879 ieee1275 specific multiboot2 code.
21880
21881 * kern/i386/pc/startup.S: Change headers and definition names for
21882 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21883
daf0f0ba 218842007-07-22 Robert Millan <rmh@aybabtu.com>
21885
21886 * geninitheader.sh: Process file specified in first parameter rather
21887 than hardcoding grub_modules_init.lst.
fe6b695a 21888 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 21889 than hardcoding grub_modules_init.h.
21890
21891 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21892 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21893 grub_probe_init.[ch] and grub_setup_init.[ch].
21894
21895 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21896 grub_modules_init.h with grub_emu_init.h.
21897 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21898 grub_probe_init.[ch] files.
21899 * conf/i386-efi.rmk: Likewise.
21900 * conf/i386-pc.rmk: Likewise.
21901 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21902 grub_setup_init.[ch] files.
21903
21904 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21905 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21906 to initialize modules rather than a list of hardcoded functions.
21907 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21908 grub_init_all() to initialize modules rather than a list of hardcoded
21909 functions.
21910
54cdc1cc 219112007-07-22 Robert Millan <rmh@aybabtu.com>
21912
21913 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21914 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21915
ad0686cc 219162007-07-22 Robert Millan <rmh@aybabtu.com>
21917
21918 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21919 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21920 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21921 flag when running on SmartFirmware.
21922 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21923 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21924 was set.
21925
21926 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21927 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21928 rather than decreasing it.
21929
21930 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21931 there's not enough space to do it, fail in the same way as when it
21932 can't be done because there are no partitions.
21933
21934 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21935 when nvsetenv failed.
21936
969c02ec 219372007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21938
21939 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21940 because this rule is automatically generated.
21941 (grub-mkrescue): Removed for the same reason as above.
21942
5a79f472 219432007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21944
21945 Migrate to GNU General Public License Version 3.
f19dbdb7 21946
5a79f472 21947 * COPYING: Replaced with the plain text version of GPLv3.
21948
21949 * config.guess: Updated from gnulib.
21950 * config.sub: Likewise.
21951
21952 * geninit.sh: Output a GPLv3 copyright notice.
21953 * geninitheader.sh: Likewise.
21954 * genmodsrc.sh: Likewise.
21955 * gensymlist.sh.in: Likewise.
21956
21957 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21958 * boot/i386/pc/diskboot.S: Likewise.
21959 * boot/i386/pc/pxeboot.S: Likewise.
21960 * commands/blocklist.c: Likewise.
21961 * commands/boot.c: Likewise.
21962 * commands/cat.c: Likewise.
21963 * commands/cmp.c: Likewise.
21964 * commands/configfile.c: Likewise.
21965 * commands/echo.c: Likewise.
21966 * commands/help.c: Likewise.
21967 * commands/ls.c: Likewise.
21968 * commands/search.c: Likewise.
21969 * commands/terminal.c: Likewise.
21970 * commands/test.c: Likewise.
21971 * commands/videotest.c: Likewise.
21972 * commands/i386/cpuid.c: Likewise.
21973 * commands/i386/pc/halt.c: Likewise.
21974 * commands/i386/pc/play.c: Likewise.
21975 * commands/i386/pc/reboot.c: Likewise.
21976 * commands/i386/pc/vbeinfo.c: Likewise.
21977 * commands/i386/pc/vbetest.c: Likewise.
21978 * commands/ieee1275/halt.c: Likewise.
21979 * commands/ieee1275/reboot.c: Likewise.
21980 * commands/ieee1275/suspend.c: Likewise.
21981 * disk/loopback.c: Likewise.
21982 * disk/lvm.c: Likewise.
21983 * disk/raid.c: Likewise.
21984 * disk/efi/efidisk.c: Likewise.
21985 * disk/i386/pc/biosdisk.c: Likewise.
21986 * disk/ieee1275/ofdisk.c: Likewise.
21987 * font/manager.c: Likewise.
21988 * fs/affs.c: Likewise.
21989 * fs/ext2.c: Likewise.
21990 * fs/fat.c: Likewise.
21991 * fs/fshelp.c: Likewise.
21992 * fs/hfs.c: Likewise.
21993 * fs/hfsplus.c: Likewise.
21994 * fs/iso9660.c: Likewise.
21995 * fs/jfs.c: Likewise.
21996 * fs/minix.c: Likewise.
21997 * fs/sfs.c: Likewise.
21998 * fs/ufs.c: Likewise.
21999 * fs/xfs.c: Likewise.
22000 * hello/hello.c: Likewise.
22001 * include/grub/acorn_filecore.h: Likewise.
22002 * include/grub/arg.h: Likewise.
22003 * include/grub/bitmap.h: Likewise.
22004 * include/grub/boot.h: Likewise.
22005 * include/grub/cache.h: Likewise.
22006 * include/grub/device.h: Likewise.
22007 * include/grub/disk.h: Likewise.
22008 * include/grub/dl.h: Likewise.
22009 * include/grub/elfload.h: Likewise.
22010 * include/grub/env.h: Likewise.
22011 * include/grub/err.h: Likewise.
22012 * include/grub/file.h: Likewise.
22013 * include/grub/font.h: Likewise.
22014 * include/grub/fs.h: Likewise.
22015 * include/grub/fshelp.h: Likewise.
22016 * include/grub/gzio.h: Likewise.
22017 * include/grub/hfs.h: Likewise.
22018 * include/grub/kernel.h: Likewise.
22019 * include/grub/loader.h: Likewise.
22020 * include/grub/lvm.h: Likewise.
22021 * include/grub/misc.h: Likewise.
22022 * include/grub/mm.h: Likewise.
22023 * include/grub/net.h: Likewise.
22024 * include/grub/normal.h: Likewise.
22025 * include/grub/parser.h: Likewise.
22026 * include/grub/partition.h: Likewise.
22027 * include/grub/pc_partition.h: Likewise.
22028 * include/grub/raid.h: Likewise.
22029 * include/grub/rescue.h: Likewise.
22030 * include/grub/script.h: Likewise.
22031 * include/grub/setjmp.h: Likewise.
22032 * include/grub/symbol.h: Likewise.
22033 * include/grub/term.h: Likewise.
22034 * include/grub/terminfo.h: Likewise.
22035 * include/grub/tparm.h: Likewise.
22036 * include/grub/types.h: Likewise.
22037 * include/grub/video.h: Likewise.
22038 * include/grub/efi/api.h: Likewise.
22039 * include/grub/efi/chainloader.h: Likewise.
22040 * include/grub/efi/console.h: Likewise.
22041 * include/grub/efi/console_control.h: Likewise.
22042 * include/grub/efi/disk.h: Likewise.
22043 * include/grub/efi/efi.h: Likewise.
22044 * include/grub/efi/pe32.h: Likewise.
22045 * include/grub/efi/time.h: Likewise.
22046 * include/grub/i386/linux.h: Likewise.
22047 * include/grub/i386/setjmp.h: Likewise.
22048 * include/grub/i386/types.h: Likewise.
22049 * include/grub/i386/efi/kernel.h: Likewise.
22050 * include/grub/i386/efi/loader.h: Likewise.
22051 * include/grub/i386/efi/time.h: Likewise.
22052 * include/grub/i386/pc/biosdisk.h: Likewise.
22053 * include/grub/i386/pc/boot.h: Likewise.
22054 * include/grub/i386/pc/chainloader.h: Likewise.
22055 * include/grub/i386/pc/console.h: Likewise.
22056 * include/grub/i386/pc/init.h: Likewise.
22057 * include/grub/i386/pc/kernel.h: Likewise.
22058 * include/grub/i386/pc/loader.h: Likewise.
22059 * include/grub/i386/pc/memory.h: Likewise.
22060 * include/grub/i386/pc/multiboot.h: Likewise.
22061 * include/grub/i386/pc/serial.h: Likewise.
22062 * include/grub/i386/pc/time.h: Likewise.
22063 * include/grub/i386/pc/vbe.h: Likewise.
22064 * include/grub/i386/pc/vbeblit.h: Likewise.
22065 * include/grub/i386/pc/vbefill.h: Likewise.
22066 * include/grub/i386/pc/vbeutil.h: Likewise.
22067 * include/grub/i386/pc/vga.h: Likewise.
22068 * include/grub/ieee1275/ieee1275.h: Likewise.
22069 * include/grub/ieee1275/ofdisk.h: Likewise.
22070 * include/grub/powerpc/libgcc.h: Likewise.
22071 * include/grub/powerpc/setjmp.h: Likewise.
22072 * include/grub/powerpc/types.h: Likewise.
22073 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
22074 * include/grub/powerpc/ieee1275/console.h: Likewise.
22075 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
22076 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22077 * include/grub/powerpc/ieee1275/loader.h: Likewise.
22078 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
22079 * include/grub/powerpc/ieee1275/time.h: Likewise.
22080 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
22081 * include/grub/sparc64/libgcc.h: Likewise.
22082 * include/grub/sparc64/setjmp.h: Likewise.
22083 * include/grub/sparc64/types.h: Likewise.
22084 * include/grub/sparc64/ieee1275/console.h: Likewise.
22085 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22086 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22087 * include/grub/sparc64/ieee1275/time.h: Likewise.
22088 * include/grub/util/biosdisk.h: Likewise.
22089 * include/grub/util/getroot.h: Likewise.
22090 * include/grub/util/lvm.h: Likewise.
22091 * include/grub/util/misc.h: Likewise.
22092 * include/grub/util/raid.h: Likewise.
22093 * include/grub/util/resolve.h: Likewise.
22094 * io/gzio.c: Likewise.
22095 * kern/device.c: Likewise.
22096 * kern/disk.c: Likewise.
22097 * kern/dl.c: Likewise.
22098 * kern/elf.c: Likewise.
22099 * kern/env.c: Likewise.
22100 * kern/err.c: Likewise.
22101 * kern/file.c: Likewise.
22102 * kern/fs.c: Likewise.
22103 * kern/loader.c: Likewise.
22104 * kern/main.c: Likewise.
22105 * kern/misc.c: Likewise.
22106 * kern/mm.c: Likewise.
22107 * kern/parser.c: Likewise.
22108 * kern/partition.c: Likewise.
22109 * kern/rescue.c: Likewise.
22110 * kern/term.c: Likewise.
22111 * kern/efi/efi.c: Likewise.
22112 * kern/efi/init.c: Likewise.
22113 * kern/efi/mm.c: Likewise.
22114 * kern/i386/dl.c: Likewise.
22115 * kern/i386/efi/init.c: Likewise.
22116 * kern/i386/efi/startup.S: Likewise.
22117 * kern/i386/pc/init.c: Likewise.
22118 * kern/i386/pc/lzo1x.S: Likewise.
22119 * kern/i386/pc/startup.S: Likewise.
22120 * kern/ieee1275/ieee1275.c: Likewise.
22121 * kern/powerpc/cache.S: Likewise.
22122 * kern/powerpc/dl.c: Likewise.
22123 * kern/powerpc/ieee1275/cmain.c: Likewise.
22124 * kern/powerpc/ieee1275/crt0.S: Likewise.
22125 * kern/powerpc/ieee1275/init.c: Likewise.
22126 * kern/powerpc/ieee1275/openfw.c: Likewise.
22127 * kern/sparc64/cache.S: Likewise.
22128 * kern/sparc64/dl.c: Likewise.
22129 * kern/sparc64/ieee1275/init.c: Likewise.
22130 * kern/sparc64/ieee1275/openfw.c: Likewise.
22131 * loader/efi/chainloader.c: Likewise.
22132 * loader/efi/chainloader_normal.c: Likewise.
22133 * loader/i386/efi/linux.c: Likewise.
22134 * loader/i386/efi/linux_normal.c: Likewise.
22135 * loader/i386/pc/chainloader.c: Likewise.
22136 * loader/i386/pc/chainloader_normal.c: Likewise.
22137 * loader/i386/pc/linux.c: Likewise.
22138 * loader/i386/pc/linux_normal.c: Likewise.
22139 * loader/i386/pc/multiboot.c: Likewise.
22140 * loader/i386/pc/multiboot_normal.c: Likewise.
22141 * loader/powerpc/ieee1275/linux.c: Likewise.
22142 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22143 * normal/arg.c: Likewise.
22144 * normal/cmdline.c: Likewise.
22145 * normal/command.c: Likewise.
22146 * normal/completion.c: Likewise.
22147 * normal/execute.c: Likewise.
22148 * normal/function.c: Likewise.
22149 * normal/lexer.c: Likewise.
22150 * normal/main.c: Likewise.
22151 * normal/menu.c: Likewise.
22152 * normal/menu_entry.c: Likewise.
22153 * normal/misc.c: Likewise.
22154 * normal/parser.y: Likewise.
22155 * normal/script.c: Likewise.
22156 * normal/i386/setjmp.S: Likewise.
22157 * normal/powerpc/setjmp.S: Likewise.
22158 * normal/sparc64/setjmp.S: Likewise.
22159 * partmap/acorn.c: Likewise.
22160 * partmap/amiga.c: Likewise.
22161 * partmap/apple.c: Likewise.
22162 * partmap/gpt.c: Likewise.
22163 * partmap/pc.c: Likewise.
22164 * partmap/sun.c: Likewise.
22165 * term/gfxterm.c: Likewise.
22166 * term/terminfo.c: Likewise.
22167 * term/efi/console.c: Likewise.
22168 * term/i386/pc/console.c: Likewise.
22169 * term/i386/pc/serial.c: Likewise.
22170 * term/i386/pc/vesafb.c: Likewise.
22171 * term/i386/pc/vga.c: Likewise.
22172 * term/ieee1275/ofconsole.c: Likewise.
22173 * util/biosdisk.c: Likewise.
22174 * util/console.c: Likewise.
22175 * util/genmoddep.c: Likewise.
22176 * util/getroot.c: Likewise.
22177 * util/grub-emu.c: Likewise.
22178 * util/grub-mkdevicemap.c: Likewise.
22179 * util/grub-probe.c: Likewise.
22180 * util/lvm.c: Likewise.
22181 * util/misc.c: Likewise.
22182 * util/raid.c: Likewise.
22183 * util/resolve.c: Likewise.
22184 * util/update-grub.in: Likewise.
22185 * util/update-grub_lib.in: Likewise.
22186 * util/grub.d/00_header.in: Likewise.
22187 * util/grub.d/10_hurd.in: Likewise.
22188 * util/grub.d/10_linux.in: Likewise.
22189 * util/i386/efi/grub-install.in: Likewise.
22190 * util/i386/efi/grub-mkimage.c: Likewise.
22191 * util/i386/pc/grub-install.in: Likewise.
22192 * util/i386/pc/grub-mkimage.c: Likewise.
22193 * util/i386/pc/grub-mkrescue.in: Likewise.
22194 * util/i386/pc/grub-setup.c: Likewise.
22195 * util/i386/pc/misc.c: Likewise.
22196 * util/powerpc/ieee1275/grub-install.in: Likewise.
22197 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
22198 * util/powerpc/ieee1275/misc.c: Likewise.
22199 * video/bitmap.c: Likewise.
22200 * video/video.c: Likewise.
22201 * video/i386/pc/vbe.c: Likewise.
22202 * video/i386/pc/vbeblit.c: Likewise.
22203 * video/i386/pc/vbefill.c: Likewise.
22204 * video/i386/pc/vbeutil.c: Likewise.
22205 * video/readers/tga.c: Likewise.
22206
3572d015 222072007-07-02 Robert Millan <rmh@aybabtu.com>
22208
22209 * conf/i386-efi.rmk: Replace obsolete reference to
22210 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
22211 with util/getroot.c.
22212 * conf/powerpc-ieee1275.rmk: Likewise.
22213 * conf/sparc64-ieee1275.rmk: Likewise.
22214
22215 * util/grub-emu.c (main): Fix unchecked pointer handling.
22216
2c2a681b 222172007-07-02 Robert Millan <rmh@aybabtu.com>
22218
22219 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
22220 invocation to fail, in order to support partition-less media.
22221
22222 * util/i386/pc/grub-install.in: Likewise.
22223
22224 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
22225 which fs or partmap modules are needed (akin to its sister scripts).
22226
22227 Also use grub-probe to get rid of unportable /proc/mounts check.
22228
22229 Print the same informational message that the other scripts do, before
fe6b695a 22230 exiting.
2c2a681b 22231
6193defe 222322007-06-23 Robert Millan <rmh@aybabtu.com>
22233
fe6b695a 22234 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 22235 a font file can be found and, if so, echo the GRUB path to it.
22236
22237 * util/update-grub.in: Handle multiple terminals depending on user
22238 input, platform availability and font file presence. Propagate
22239 variables of our findings to /etc/grub.d/ children.
22240
22241 * util/grub.d/00_header.in: Handle multiple terminals, based on
22242 environment setup by update-grub.
22243
eface1dc 222442007-06-23 Robert Millan <rmh@aybabtu.com>
22245
ba50d28f 22246 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 22247
bf697e28 222482007-06-21 Robert Millan <rmh@aybabtu.com>
22249
22250 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
22251 indicate end of data section in kernel image.
22252 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
22253 GRUB_KERNEL_MACHINE_DATA_END.
22254
22255 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
22256 space for it.
22257 * kern/i386/efi/startup.S: Likewise.
22258
22259 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22260 during image generation. Implement --prefix option to override this
22261 patch.
22262 * util/i386/efi/grub-mkimage.c: Likewise.
22263
22264 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22265 code to make path relative to its root into a separate function.
22266
22267 * util/i386/pc/grub-install.in: Use newly provided
22268 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22269 pass the result to grub-install --prefix.
22270
baa574b4 222712007-06-13 Robert Millan <rmh@aybabtu.com>
22272
22273 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22274 DEFAULT_DEVICE_MAP.
22275 * util/grub-emu.c: Use above definitions from misc.h instead of
22276 defining them.
22277 * util/grub-mkdevicemap.c: Likewise.
22278 * util/i386/pc/grub-setup.c: Likewise.
22279 * util/grub-probe.c: Likewise.
22280 (probe): Abort with grub_util_error() when either
22281 grub_guess_root_device or grub_util_get_grub_dev fails.
22282
0215dcbf 222832007-06-12 Robert Millan <rmh@aybabtu.com>
22284
22285 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22286 "pager" assignment.
22287 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22288 "pcdata".
22289 * util/grub-probe.c (probe): Likewise for "drive_name".
22290
8af2ab7b 222912007-06-11 Robert Millan <rmh@aybabtu.com>
22292
22293 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22294 not just the cdrom one.
22295
59d31694 222962007-06-11 Robert Millan <rmh@aybabtu.com>
22297
22298 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22299 Add --pkglibdir=DIR option to override pkglibdir.
22300 Mention --image-type=TYPE in help output.
22301 Fix --grub-mkimage (it was a no-op).
fe6b695a 22302 Abort gracefully when no parameter is given.
59d31694 22303
7ee367e4 223042007-06-11 Robert Millan <rmh@aybabtu.com>
22305
22306 * util/i386/pc/grub-mkrescue.in: New file.
22307 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22308 * Makefile.in: Handle bin_SCRIPTS.
22309
29b0ed46 223102007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22311
22312 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22313 list of video modes.
22314
c0f90770 223152007-06-06 Robert Millan <rmh@aybabtu.com>
22316
22317 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22318 file doesn't exist, or if it is in a filesystem grub can't read.
22319
22320 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22321 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22322 header comment to fit in 80 columns when the variables are resolved.
22323
22324 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22325 could be identified by update-grub. Remove redundant check for
fe6b695a 22326 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 22327 handles that).
22328
fb36dc26 223292007-06-04 Robert Millan <rmh@aybabtu.com>
22330
22331 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22332
22333 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22334
22335 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22336
0c68c93e 223372007-06-04 Robert Millan <rmh@aybabtu.com>
22338
22339 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22340
22341 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22342 grub_apple_partition_map_fini.
22343
22344 * util/biosdisk.c
22345 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22346 to access >2 TiB disks).
22347
22348 Print disk->total_sectors with %llu instead of %lu, since this
22349 variable is always 64-bit (prevents wrong disk size from being displayed
22350 on either >2 TiB disk or big-endian CPU).
22351
22352 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22353 into a generic case that supports all (sane) partition maps.
22354
22355 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22356 breaks big-endian.
22357
22358 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22359 and grub_apple_partition_map_fini() after that.
22360
0f23eb74 223612007-06-01 Robert Millan <rmh@aybabtu.com>
22362
22363 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22364
22365 * util/grub.d/00_header.in: Only enable gfxterm when
22366 convert_system_path_to_grub_path() succeeds.
22367
42c71976 223682007-05-20 Robert Millan <rmh@aybabtu.com>
22369
22370 * util/update-grub_lib.in: New file.
22371 * DISTLIST: Add update-grub_lib.in.
22372 * conf/common.rmk: Generate update-grub_lib and install it in
22373 $(lib_DATA).
22374 * Makefile.in: Add install routine for $(lib_DATA).
22375
22376 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22377 function provided by update-grub_lib to support arbitrary paths of
22378 unifont.pff.
22379 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22380 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22381
5beb2291 223822007-05-19 Robert Millan <rmh@aybabtu.com>
22383
22384 * commands/i386/cpuid.c: New module.
22385 * DISTLIST: Add it.
22386 * conf/i386-efi.rmk: Enable cpuid.mod.
22387 * conf/i386-pc.rmk: Likewise.
22388
7262eca1 223892007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22390
22391 * kern/disk.c (grub_disk_read): Check return value of
22392 grub_realloc().
22393
260ba823 223942007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22395
22396 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22397 arrays.
22398 * disk/raid.c (grub_raid_open): Likewise.
22399
1ecb6cf2 224002007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22401
22402 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22403 stack instead of on the heap.
22404
22405 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22406 before doing a read on it.
22407
22408 * configure.ac: Only use -fno-stack-protector for the target
22409 environment.
f19dbdb7 22410
21c8cbb1 224112007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22412
22413 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22414 __attribute_ ((unused)) to mode_type argument.
22415
22416 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 22417
21c8cbb1 22418 * kern/misc.c (memcmp): Fix prototype.
22419
22420 * include/grub/partition.h [GRUB_UTIL]
22421 (grub_gpt_partition_map_init): Add prototype.
22422 (grub_gpt_partition_map_fini): Likewise.
22423
22424 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22425 at the right place.
22426
22427 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22428 (grub_fat_read_data): Likewise.
22429 (grub_fat_find_dir): Likewise.
22430
22431 * font/manager.c (find_glyph): Make table a const.
22432 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 22433
849d55d3 224342007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22435
22436 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22437 code, first search for device in /dev/mapper, then in /dev.
22438 (grub_util_get_grub_dev): New function.
22439 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22440 prototype.
22441 * util/grub-probe.c (probe): Remove check for RAID, call
22442 grub_util_get_grub_dev() instead of
22443 grub_util_biosdisk_get_grub_dev().
22444 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22445 grub_util_biosdisk_get_grub_dev().
22446 * util/i386/pc/grub-setup.c (main): Likewise.
22447
8fff7c2f 224482007-05-16 Robert Millan <rmh@aybabtu.com>
22449
22450 * DISTLIST: Update for the latest changes.
22451 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22452 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22453 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22454 grub/util/biosdisk.h.
22455 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22456 grub/util/biosdisk.h.
22457
48e12b52 224582007-05-16 Robert Millan <rmh@aybabtu.com>
22459
22460 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22461
46b9d128 224622007-05-16 Robert Millan <rmh@aybabtu.com>
22463
22464 * util/i386/efi/grub-install.in: New.
22465 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22466 newly added grub-install.
22467 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22468 include.
22469 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22470 grub/util/biosdisk.h.
22471 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22472 grub/util/biosdisk.h.
22473
2d1a40a9 224742007-05-16 Robert Millan <rmh@aybabtu.com>
22475
22476 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22477 * include/grub/util/biosdisk.h: ... here.
22478 * util/i386/pc/biosdisk.c: Moved to ...
22479 * util/biosdisk.c: ... here.
22480 * util/i386/pc/getroot.c: Moved to ...
22481 * util/getroot.c: ... here.
22482 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22483 * util/grub-mkdevicemap.c: ... here.
22484 * util/i386/pc/grub-probe.c: Moved to ...
22485 * util/grub-probe.c: ... here.
22486
9e26e3bc 224872007-05-15 Robert Millan <rmh@aybabtu.com>
22488
22489 * util/update-grub.in: Remove duplicated line in grub.cfg header
22490 message.
22491
57f96397 224922007-05-13 Robert Millan <rmh@aybabtu.com>
22493
22494 * util/update-grub.in: Fix a few assumptions about the devices holding
22495 /, /boot and /boot/grub being the same.
22496 * util/grub.d/00_header.in: Likewise.
22497 * util/grub.d/10_hurd.in: Likewise.
22498 * util/grub.d/10_linux.in: Likewise.
22499
22500 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22501 patterns. Use that to define the `.old' suffix as older than `'.
22502
22503 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22504
22505 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22506 the grub.cfg header message.
22507
2e610d62 225082007-05-11 Robert Millan <rmh@aybabtu.com>
22509
22510 * util/update-grub.in: Create device.map if it doesn't already exist,
22511 before attempting to run grub-probe.
22512 Check for grub-probe and grub-mkdevicemap with the same code
22513 grub-install is using.
22514 Remove test mode.
22515
3f6a10ef 225162007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22517
22518 * Makefile.in: Add the datarootdir autoconf variable.
22519
02e7b75e 225202007-05-09 Robert Millan <rmh@aybabtu.com>
22521
22522 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 22523 fail gracefully if dev->disk->partition == NULL.
02e7b75e 22524
75f396cc 225252007-05-07 Robert Millan <rmh@aybabtu.com>
22526
22527 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22528 determine partition map module.
22529 * util/i386/pc/grub-install.in: Use this feature to decide which
22530 partition module to load, instead of hardcoding pc and gpt.
22531
da65cb36 225322007-05-07 Robert Millan <rmh@aybabtu.com>
22533
22534 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22535 source directory differs from build directory.
22536
b57d6a91 225372007-05-05 Robert Millan <rmh@aybabtu.com>
22538
22539 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22540 initialisation.
22541
509d00f1 225422007-05-05 Robert Millan <rmh@aybabtu.com>
22543
22544 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22545
c48f23ef 225462007-05-05 Robert Millan <rmh@aybabtu.com>
22547
22548 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22549 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22550
20b97658 225512007-05-05 Robert Millan <rmh@aybabtu.com>
22552
22553 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22554 (grub_probe_SOURCES): Likewise.
22555 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22556 GPT and initialize dos_part and bsd_part accordingly.
22557 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22558 install_bsd_part.
22559 (main): Activate gpt module for use during partition identification,
22560 and deactivate it afterwards.
22561 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22562 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22563 partition identification, and deactivate it afterwards.
22564
99123174 225652007-05-05 Robert Millan <rmh@aybabtu.com>
22566
22567 * term/i386/pc/console.c (grub_console_fini): Call
22568 grub_term_set_current() before grub_term_unregister().
22569
ebd97f6e 225702007-05-04 Robert Millan <rmh@aybabtu.com>
22571
22572 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22573 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22574 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22575 and update-grub_DATA.
22576 * conf/common.rmk: Build and install update-grub components.
22577 * conf/common.mk: Regenerate.
22578 * util/update-grub.in: New. Core of update-grub.
22579 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22580 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22581 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22582 * util/grub.d/README: New. Document grub.d directory layout.
22583
b06a264d 225842007-05-01 Robert Millan <rmh@aybabtu.com>
22585
22586 * util/grub-emu.c: Move initialization functions
22587 grub_util_biosdisk_init() and grub_init_all() before
22588 grub_util_biosdisk_get_grub_dev(), which relies on them.
22589
41f0050e 225902007-04-19 Robert Millan <rmh@aybabtu.com>
22591
22592 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22593 it is used later.
22594
04582bb3 225952007-04-18 Jerone Young <jerone@gmail.com>
22596
f19dbdb7 22597 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 22598 stanza.
22599
08db4632 226002007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 22601
08db4632 22602 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22603 continue on and look for device node with real device name.
22604
801b76be 226052007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 22606
fe6b695a 22607 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 22608 ability.
22609 * Makefile.in: Add autoconf package transformation code.
22610 * util/i386/pc/grub-install.in: Likewise.
22611 * util/powerpc/ieee1275/grub-install.in: Likewise.
22612
6795c4e1 226132007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22614
22615 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22616 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22617 (EXT2_REVISION): Likewise.
22618 (EXT2_INODE_SIZE): Likewise.
22619 (struct grub_ext2_block_group): Added a missing member
22620 "used_dirs".
22621 (grub_ext2_read_inode): Divide by the inode size in a superblock
22622 instead of 128 to obtain INODES_PER_BLOCK.
22623 Use the macro EXT2_INODE_SIZE instead of directly using
22624 SBLOCK->INODE_SIZE.
22625
d70af616 226262007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22627
22628 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22629 superblock instead of the structure size to compute an
22630 offset. This fixes the problem that GRUB could not read a
22631 filesystem when inode size is different from 128-byte.
22632
3b801603 226332007-03-05 Marco Gerards <marco@gnu.org>
22634
22635 * normal/main.c (read_config_file): When "menu" is not set, create
22636 an initial context.
22637
4785bfe4 226382007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22639
22640 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22641 (HEAP_LIMIT): New macro.
22642 (grub_claim_heap): Claim memory up to `heaplimit'.
22643
a0cbb023 226442007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22645
22646 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22647 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22648 (_start): Likewise.
22649 (grub_arch_modules_addr): Return address after `_end'.
22650 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22651 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22652 (add_segments): Calculate `_end' from phdr size and location.
22653 (ALIGN_UP): Moved to ...
22654 * include/grub/misc.h: here.
22655 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22656 New macro.
22657 (GRUB_IEEE1275_MODULE_BASE): Removed.
22658
fd7d8eba 226592007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22660
22661 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22662 loop boundary.
22663
9b09e6fc 226642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22665
22666 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22667 All users updated.
22668 (grub_elf64_load_hook_t): Likewise.
22669 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22670 debug output.
22671
3ce27299 226722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22673
22674 * kern/mm.c: Update copyright.
22675 (grub_mm_debug): Correct syntax error.
22676 (grub_mm_dump_free): New function.
22677 (grub_debug_free): Call `grub_free'.
22678 * include/grub/mm.h: Update copyright.
22679 (grub_mm_dump_free): Add declaration.
22680
077d5fee 226812007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22682
22683 * include/grub/ieee1275/ieee1275.h: Update copyright.
22684 * kern/powerpc/ieee1275/init.c: Likewise.
22685 * kern/powerpc/ieee1275/openfw.c: Likewise.
22686
22687 * loader/powerpc/ieee1275/linux.c: Likewise.
22688 * include/grub/elfload.h: Likewise.
22689 * kern/elf.c: Likewise.
22690 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22691 callers.
22692 (grub_elf64_load): Likewise.
22693 (grub_elf32_load_segment): Move to a nested function.
22694 (grub_elf64_load_segment): Likewise.
22695
dc946850 226962007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22697
22698 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22699 prototype.
22700 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22701 (grub_heap_len): Likewise.
22702 (HEAP_SIZE): New macro.
22703 (grub_claim_heap): New function.
22704 (grub_machine_init): Don't claim heap directly. Call
22705 `grub_claim_heap'.
22706 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22707 (grub_available_iterate): New function.
22708
baa2a121 227092007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22710
22711 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22712 * configure.ac: Use it for testing the HOST and TARGET compilers.
22713
4fe9862e 227142006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22715
22716 * Makefile.in (enable_grub_emu): New variable.
22717 * configure.ac (--enable-grub-emu): New option.
22718 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22719 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22720 * conf/i386-pc.rmk: Likewise.
22721 * conf/powerpc-ieee1275.rmk: Likewise.
22722 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22723
a8aa5762 227242006-12-12 Marco Gerards <marco@gnu.org>
22725
22726 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22727
22728 * kern/env.c (grub_env_unset): Don't free the member `value' when
22729 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22730 pointer.
22731
22732 * normal/main.c (current_menu): Removed.
22733 (free_menu): Unset the `menu' environment variable.
22734 (grub_normal_menu_addentry): Make use of the environment variable
22735 `menu', instead of using the global `current_menu'. Allocate
22736 memory for the sourcecode of this entry.
22737 (read_config_file): New argument `nested', changed all callers.
22738 Only in the case of a new context, initialize a new menu. Set the
22739 `menu' environment variable.
22740 (grub_normal_execute): Don't set and unset the environment
22741 variable `menu' here anymore. Only free the menu when leaving the
22742 context.
22743
22744 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22745 leak.
22746
957b3a3e 227472006-12-11 Marco Gerards <marco@gnu.org>
22748
22749 * normal/menu_entry.c (run): Fix off by one bug so the last line
22750 is executed. Move the loader check to outside the loop.
22751
ef875714 227522006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22753
22754 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22755
4e739985 227562006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22757
22758 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22759 the number of sectors. Reported by Andrey Shuvikov
22760 <mr_hyro@yahoo.com>.
f19dbdb7 22761
790707f2 227622006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22763
22764 * kern/disk.c (grub_disk_read): When there is a read error, always
22765 try to read only the necessary data.
f19dbdb7 22766
790707f2 22767 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22768 disk/raid.c.
22769 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22770 prototype.
22771 [GRUB_UTIL] (grub_raid_fini): Likewise.
22772 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 22773 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 22774 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22775 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22776 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22777 and grub_raid_fini().
f19dbdb7 22778
03e58196 227792006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22780
22781 * include/grub/types.h (__unused): Rename to UNUSED.
22782 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22783 (grub_elf64_size): Likewise.
f19dbdb7 22784
ae4f23bf 227852006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22786
22787 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22788 grub_error_push and grub_error_pop in the error-handling path.
22789 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22790 length.
22791
2166cc83 227922006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22793
22794 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22795 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22797 (kernel_elf_SOURCES): Likewise.
22798 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22799 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22800 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22801 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22802 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22803 (elf_mod_SOURCES): New variable.
22804 (elf_mod_CFLAGS): Likewise.
22805 (elf_mod_LDFLAGS): Likewise.
22806 * include/grub/types.h (__unused): New macro.
22807 * include/grub/elfload.h: New file.
22808 * kern/elf.c: Likewise.
22809 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22810 (ELF32_LOADMASK): New macro.
22811 (ELF64_LOADMASK): Likewise.
22812 (vmlinux): Removed.
22813 (grub_linux_load32): New function.
22814 (grub_linux_load64): Likewise.
22815 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22816 Use grub_elf_t instead of grub_file_t.
22817
a09d5aa5 228182006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22819
22820 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22821 `catch_result' to struct set_color_args.
22822
d976fc51 228232006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22824
22825 * normal/menu.c: Include grub/script.h.
22826 * normal/menu_entry.c: Likewise.
22827 * include/grub/normal.h: Do not include grub/script.h.
22828
67507549 228292006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22830
22831 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22832
69203a99 228332006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22834
22835 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22836 disk.
22837 (grub_disk_close): Print debug messages when closing a disk.
22838 (grub_disk_read): Print debug messages when disk read fails.
22839 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22840 filesystem type.
22841 * kern/partition.c: Include misc.h.
22842 (grub_partition_iterate): Print debug messages when detecting
22843 partition type.
22844
e2b8278c 228452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22846
22847 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22848 is negative.
22849 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22850
97b2f2ff 228512006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22852
22853 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22854 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22855
6555d655 228562006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22857
22858 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22859 instead of sizeof(lv). Patch by Michael Guntsche.
22860
4d42b77f 228612006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22862
22863 * disk/lvm.c: Rename VGS to VG_LIST.
22864 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22865 (grub_lvm_open): Likewise.
22866 Thanks to Michael Guntsche for finding this bug.
22867
5d74d927 228682006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22869
22870 * configure.ac (AC_INIT): Bumped to 1.95.
22871
a1bb27e4 228722006-10-14 Robert Millan <rmh@aybabtu.com>
22873
22874 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22875 with "/dev/.static/dev/md".
22876
e0994b8b 228772006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22878
22879 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22880 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22881 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22882 DRIVE_NAME are always freed.
22883
22884 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22885 DOS_PART, as a DOS partition is counted from one instead of zero
22886 now. Reported by Robert Millan.
22887
ddd5cee9 228882006-10-14 Robert Millan <rmh@aybabtu.com>
22889
22890 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22891 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22892 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22893 string returned by grub_guess_root_device.
22894 * util/i386/pc/grub-setup.c: Likewise.
22895 * util/i386/pc/grub-probefs.c: Likewise.
22896
22897 * util/i386/pc/grub-probefs.c: Rename to ...
22898 * util/i386/pc/grub-probe.c: ... this.
22899 * DISTLIST: Remove grub-probefs, add grub-probe.
22900 * conf/i386-efi.rmk: Likewise.
22901 * conf/i386-pc.rmk: Likewise.
22902 * util/i386/pc/grub-install.in: Likewise.
22903
22904 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22905 choose which information we want to print.
22906
2b002173 229072006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22908
22909 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22910 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22911 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22912 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22913 video/readers/tga.c and video/i386/pc/vbeutil.c.
22914
229152006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22916
22917 Added support for RAID and LVM.
f19dbdb7 22918
2b002173 22919 * disk/lvm.c: New file.
22920 * disk/raid.c: Likewise.
22921 * include/grub/lvm.h: Likewise.
f19dbdb7 22922 * include/grub/raid.h: Likewise.
2b002173 22923 * include/grub/util/lvm.h: Likewise.
22924 * include/grub/util/raid.h: Likewise.
22925 * util/lvm.c: Likewise.
22926 * util/raid.c: Likewise.
22927
22928 * include/grub/disk.h (grub_disk_dev_id): Add
22929 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22930 (grub_disk_get_size): New prototype.
22931 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22932 returns a partition.
22933 (grub_disk_get_size): New function.
f19dbdb7 22934
2b002173 22935 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22936 verbatim if grub_install_dos_part is -2.
22937
22938 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22939 and LVM devices.
22940
22941 * util/i386/pc/grub-setup.c (setup): New argument
22942 MUST_EMBED. Force embedding of GRUB when the argument is
22943 true. Close FILE before returning.
22944 (main): Add support for RAID and LVM.
f19dbdb7 22945
2b002173 22946 * conf/common.rmk: Add RAID and LVM modules.
22947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22948 util/lvm.c.
22949 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22950
22951 * kern/misc.c (grub_strstr): New function.
22952 * include/grub/misc.h (grub_strstr): New prototype.
22953
050548d0 229542006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22955
22956 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22957
da849d2d 229582006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22959
22960 * kern/misc.c (grub_strtoull): Guess the base only if not
22961 specified.
22962
97b2f2ff 229632006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 22964
22965 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22966 PowerMac support.
22967
97b2f2ff 229682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 22969
22970 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22971
22972 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22973 Remove `flags' argument. All callers changed.
22974 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22975 (IEEE1275_IHANDLE_INVALID): New variable.
22976 (IEEE1275_CELL_INVALID): New variable.
22977 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22978 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22979 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22980 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22981 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22982 codes from Open Firmware. All callers updated.
22983 (grub_ieee1275_next_property): Directly return Open Firmware return
22984 code.
22985 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22986 Standardize error checking from `grub_ieee1275_get_property'.
22987 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22988 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22989
97b2f2ff 229902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 22991
22992 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22993 `instance_to_package_args' to `instance_to_path_args'.
22994
22995 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22996 `grub_ieee1275_chosen'.
22997
22998 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22999 `grub_ieee1275_interpret'.
23000
97b2f2ff 230012006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 23002
23003 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
23004
97b2f2ff 230052006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 23006
23007 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
23008 (__cmpdi): Likewise.
23009
23010 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
23011 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
23012 `grub_ssize_t'.
23013
02bb8acc 23014 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 23015
23016 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
23017 to type `grub_ssize_t'.
23018 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
23019
7f9a8531 230202006-09-22 Marco Gerards <marco@gnu.org>
23021
23022 * normal/script.c (grub_script_create_cmdmenu): Skip leading
23023 newlines.
23024
b5ef1102 230252006-09-22 Marco Gerards <marco@gnu.org>
23026
23027 * commands/echo.c: New file.
23028
23029 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
23030
23031 * conf/common.rmk (echo_mod_SOURCES): New variable.
23032 (echo_mod_CFLAGS): Likewise.
23033 (echo_mod_LDFLAGS): Likewise.
23034
2cff3677 230352006-09-22 Marco Gerards <marco@gnu.org>
23036
23037 * normal/main.c (get_line): Malloc memory instead of using
23038 preallocated memory. Removed the arguments `cmdline' and
23039 `max_len'. Updated all callers.
23040
6ba4688b 230412006-09-22 Marco Gerards <marco@gnu.org>
23042
23043 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
23044 (normal_mod_DEPENDENCIES): Likewise.
23045
23046 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
23047 (normal_mod_DEPENDENCIES): Likewise.
23048
23049 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
23050
e02ac02c 230512006-09-22 Johan Rydberg <jrydberg@gnu.org>
23052
23053 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
23054 programs.
23055 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
23056 (normal_mod_DEPENDENCIES): Likewise.
23057 * conf/i386-pc.mk: Regenerate.
23058 * conf/i386-efi.mk: Likewise
23059 * conf/common.mk: Likewise.
23060 * conf/powerpc-ieee1275.mk: Likewise.
23061 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23062
8d252e44 230632006-09-22 Robert Millan <rmh@aybabtu.com>
23064
23065 Sync with i386 version.
23066 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
23067 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
23068
209bf7ac 230692006-09-21 Robert Millan <rmh@aybabtu.com>
23070
23071 Import from GRUB Legacy (lib/device.c):
23072 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
23073 (init_device_map) [__linux__]: Add support for I2O devices.
23074
6b146090 230752006-09-14 Marco Gerards <marco@gnu.org>
23076
23077 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
23078 `-melf_i386'.
23079
e38600a8 230802006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 23081
23082 * util/i386/pc/grub-install.in: Skip menu.lst when removing
23083 /boot/grub/*.lst.
78fa1790 23084
2952da5d 23085 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 23086
2952da5d 23087 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
23088 before adding it to device.map.
23089
01b82a64 230902006-08-15 Johan Rydberg <jrydberg@gnu.org>
23091
fe6b695a 23092 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 23093 compiles a file; using the -MD option.
23094 * conf/common.mk: Regenerate.
23095 * conf/i386-pc.mk: Likewise.
23096 * conf/i386-efi.mk: Likewise.
23097 * conf/powerpc-ieee1275.mk: Likewise.
23098 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23099
1064790d 231002006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
23101
23102 Move the prototypes of grub_setjmp and grub_longjmp to
23103 cpu/setjmp.h, so that each architecture may specify different
23104 attributes.
f19dbdb7 23105
1064790d 23106 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
23107 (grub_longjmp): Likewise.
23108 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
23109 (grub_longjmp): Likewise.
23110 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
23111 (grub_longjmp): Likewise.
23112
23113 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
23114 [!GRUB_UTIL] (grub_longjmp): Removed.
23115
29dda3ed 231162006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
23117
23118 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
23119 "color!" method does not return any value.
23120
ad2a06ed 231212006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23122
23123 * include/grub/bitmap.h: New file.
23124
23125 * include/grub/i386/pc/vbeutil.h: Likewise.
23126
23127 * video/bitmap.c: Likewise.
23128
23129 * video/readers/tga.c: Likewise.
23130
23131 * video/i386/pc/vbeutil.c: Likewise.
23132
23133 * commands/videotest.c: Code cleanup and updated to reflect to new
23134 video API.
23135
23136 * term/gfxterm.c: Likewise.
23137
23138 * video/video.c: Likewise.
23139
23140 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
23141 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
23142 (bitmap_mod_SOURCES): New entry.
23143 (bitmap_mod_CFLAGS): Likewise.
23144 (bitmap_mod_LDFLAGS): Likewise.
23145 (tga_mod_SOURCES): Likewise.
23146 (tga_mod_CFLAGS): Likewise.
23147 (tga_mod_LDFLAGS): Likewise.
23148
23149 * include/grub/video.h (grub_video_blit_operators): New enum type.
23150 (grub_video_render_target): Changed as forward declaration and moved
23151 actual definition to be video driver specific.
23152 (grub_video_adapter.blit_bitmap): Added blitting operator.
23153 (grub_video_adapter.blit_render_target): Likewise.
23154 (grub_video_blit_bitmap): Likewise.
23155 (grub_video_blit_render_target): Likewise.
23156
23157 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
23158 driver specific render target definition.
23159 (grub_video_vbe_map_rgba): Added driver internal helper.
23160 (grub_video_vbe_unmap_color): Updated to use
23161 grub_video_i386_vbeblit_info.
23162 (grub_video_vbe_get_video_ptr): Likewise.
23163
23164 * include/grub/i386/pc/vbeblit.h
23165 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
23166 grub_video_i386_vbeblit_info.
23167 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23168 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23169 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23170 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23171 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23172 (grub_video_i386_vbeblit_index_index): Likewise.
23173 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
23174 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23175 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23176 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
23177 operator.
23178 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
23179 operator.
23180
23181 * video/i386/pc/vbeblit.c: Updated to reflect changes on
23182 include/grub/i386/pc/vbeblit.h.
23183
23184 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
23185 Updated to use grub_video_i386_vbeblit_info.
23186 (grub_video_i386_vbefill_R8G8B8): Likewise.
23187 (grub_video_i386_vbefill_index): Likewise.
23188 (grub_video_i386_vbefill): Added generic filler.
23189
23190 * video/i386/pc/vbefill.c: Updated to reflect changes on
23191 include/grub/i386/pc/vbefill.h.
23192
23193 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
23194 grub_video_i386_vbeblit_info.
23195 (grub_video_vbe_unmap_color): Likewise.
23196 (grub_video_vbe_blit_glyph): Likewise.
23197 (grub_video_vbe_scroll): Likewise.
23198 (grub_video_vbe_draw_pixel): Removed function.
23199 (grub_video_vbe_get_pixel): Likewise.
23200 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
23201 updated code to use it.
23202 (common_blitter): Added common blitter for render target and bitmap.
23203 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
23204 (grub_video_vbe_blit_render_target): Likewise.
23205
bc8c036d 232062006-07-30 Johan Rydberg <jrydberg@gnu.org>
23207
23208 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
23209 is in text mode if there is no console control protocol instance
23210 available.
23211
684a8eff 232122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23213
23214 * include/grub/video.h: Code cleanup.
23215
23216 * include/grub/i386/pc/vbe.h: Likewise.
23217
23218 * video/i386/pc/vbe.c: Likewise.
23219
23220 * video/i386/pc/vbeblit.c: Likewise.
23221
23222 * video/i386/pc/vbefill.c: Likewise.
23223
23224 * video/video.c: Likewise. Also added more comments.
23225
5915059b 232262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23227
23228 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
23229 (struct grub_biosdisk_dap): Likewise.
23230
23231 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
23232 linkage settings for all functions.
23233
90ce5d56 232342006-07-12 Marco Gerards <marco@gnu.org>
23235
23236 * configure.ac (--enable-mm-debug): Fix typo.
23237
23238 * genkernsyms.sh.in: Use proper quoting for `CC'.
23239
43e7f879 232402006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
23241
23242 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
23243 (normal_mod_ASFLAGS): Remove "-m32".
23244
4889bdec 232452006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
23246
23247 * util/misc.c: Include config.h.
23248 [!HAVE_MEMALIGN]: Do not include malloc.h.
23249 (grub_memalign): Use posix_memalign, if present. Then, use
23250 memalign, if present. Otherwise, emit an error.
23251
23252 * util/grub-emu.c: Do not include malloc.h.
23253
23254 * include/grub/util/misc.h: Include unistd.h. This is required for
23255 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
23256 D. Eades III <hde@foobar-qux.org>.
23257
23258 * configure.ac (AC_GNU_SOURCE): Added.
23259 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23260 type.
23261
fd39d4da 232622006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23263
23264 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23265 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23266
b786f3b5 232672006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23268
23269 * include/grub/types.h (grub_host_addr_t): Rename to
23270 grub_target_addr_t.
23271 (grub_host_off_t): Rename to grub_target_off_t.
23272 (grub_host_size_t): Rename to grub_target_size_t.
23273 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23274 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23275
23276 * include/grub/kernel.h (struct grub_module_header): Change type
23277 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23278 (grub_module_info): Likewise.
f19dbdb7 23279
051988bb 232802006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23281
23282 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23283 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23284 Velazquez <jesus.velazquez@gmail.com>.
23285
deae281b 232862006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23287
23288 Count partitions from 1 instead of 0 in the string representation
23289 of partitions. Still use 0-based internally.
f19dbdb7 23290
deae281b 23291 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23292 (sun_partition_map_iterate): Use grub_partition_t instead of
23293 struct grub_partition *. Cast DESC->START_CYLINDER to
23294 grub_uint64_t after converting the endian.
23295 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23296 (sun_partition_map_get_name): Add 1 to P->INDEX.
23297
23298 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23299 PCDATA->DOS_PART.
23300 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23301
23302 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23303 zero instead of one.
23304 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23305 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23306
23307 * partmap/apple.c (apple_partition_map_iterate): Change the type
23308 of POS to unsigned.
23309 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23310 (apple_partition_map_get_name): Add 1 into P->INDEX.
23311
23312 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23313 of POS to unsigned.
23314 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23315 calculate the offset of a partition.
23316 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23317 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23318
23319 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23320 SECTOR to grub_disk_addr_t.
23321 (acorn_partition_map_iterate): Likewise.
23322 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23323 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23324 top.
23325 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23326
23327 * kern/i386/pc/init.c (make_install_device): Add 1 into
23328 GRUB_INSTALL_DOS_PART.
23329
23330 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23331 conditional.
23332
524a1e6a 233332006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23334
23335 Clean up the code to support 64-bit addressing in disks and
23336 files. This change is not enough for filesystems yet.
f19dbdb7 23337
524a1e6a 23338 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23339 type of "start" to grub_uint64_t.
23340 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23341 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23342 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23343 convert addresses.
23344
23345 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23346 to grub_disk_addr_t.
23347
23348 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23349 string.
23350
23351 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23352
23353 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23354 to char *.
23355
23356 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23357
23358 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23359
23360 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23361
23362 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23363 to grub_off_t, to detect an error from grub_file_seek.
23364 (grub_multiboot_load_elf32): Likewise.
23365
23366 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23367 maximum unsigned long value when an overflow is detected.
23368 (grub_strtoull): New function.
23369 (grub_divmod64): Likewise.
23370 (grub_lltoa): use grub_divmod64.
23371
23372 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23373 grub_disk_addr_t.
23374 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23375 the pointer to next character. Use grub_strtoull instead of
23376 grub_strtoul.
23377 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23378 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23379 respectively.
23380
fe6b695a 23381 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 23382 return value is signed.
23383 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23384 test if OFFSET is less than zero, as OFFSET is unsigned now.
23385
23386 * kern/disk.c (struct grub_disk_cache): Change the type of
23387 "sector" to grub_disk_addr_t.
23388 (grub_disk_cache_get_index): Change the type of SECTOR to
23389 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23390 unsigned after shifting.
23391 (grub_disk_cache_invalidate): Change the type of SECTOR to
23392 grub_disk_addr_t.
23393 (grub_disk_cache_unlock): Likewise.
23394 (grub_disk_cache_store): Likewise.
23395 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23396 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23397 grub_disk_addr_t and grub_uint64_t, respectively.
23398 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23399 body, as the value of OFFSET is tweaked by
23400 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23401 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23402 respectively.
23403 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23404 body, as the value of OFFSET is tweaked by
23405 grub_disk_check_range. Change the types of LEN and N to
23406 grub_size_t.
23407
23408 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23409 and "saved_offset" to grub_off_t.
23410 (test_header): Cast BUF to char *.
23411 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23412 to char *.
23413 (grub_gzio_read): Change the types of OFFSET and SIZE to
23414 grub_off_t and grub_size_t, respectively.
23415
23416 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23417 Removed.
23418 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23419 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23420 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23421 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23422 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23423
23424 * include/grub/types.h (grub_off_t): Unconditionally set to
23425 grub_uint64_t.
23426 (grub_disk_addr_t): Changed to grub_uint64_t.
23427
23428 * include/grub/partition.h (struct grub_partition): Change the
23429 types of "start", "len" and "offset" to grub_disk_addr_t,
23430 grub_uint64_t and grub_disk_addr_t, respectively.
23431 (grub_partition_get_start): Return grub_disk_addr_t.
23432 (grub_partition_get_len): Return grub_uint64_t.
23433
23434 * include/grub/misc.h (grub_strtoull): New prototype.
23435 (grub_divmod64): Likewise.
23436
23437 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23438 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23439 grub_off_t, respectively.
23440 All callers and references changed.
23441
23442 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23443 grub_size_t in "read".
23444 All callers and references changed.
23445
23446 * include/grub/file.h (struct grub_file): Change the types of
23447 "offset" and "size" to grub_off_t and grub_off_t,
23448 respectively. Change the type of SECTOR to grub_disk_addr_t in
23449 "read_hook".
23450 (grub_file_read): Change the type of LEN to grub_size_t.
23451 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23452 grub_off_t.
23453 (grub_file_size): Return grub_off_t.
23454 (grub_file_tell): Likewise.
23455 All callers and references changed.
23456
23457 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23458 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23459 "write".
23460 (struct grub_disk): Change the type of "total_sectors" to
23461 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 23462 "read_hook".
524a1e6a 23463 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23464 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23465 (grub_disk_write): Likewise.
23466 All callers and references changed.
23467
23468 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23469 char * for grub_strncmp to silence gcc.
23470 (grub_iso9660_mount): Likewise.
23471 (grub_iso9660_mount): Likewise.
23472 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23473 return statement.
23474 (grub_iso9660_iterate_dir): Likewise.
23475 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23476
23477 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23478 LEN to grub_disk_addr_t and grub_size_t, respectively.
23479
23480 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23481
23482 * fs/jfs.c (grub_jfs_read_file): Likewise.
23483
23484 * fs/minix.c (grub_jfs_read_file): Likewise.
23485
23486 * fs/sfs.c (grub_jfs_read_file): Likewise.
23487
23488 * fs/ufs.c (grub_jfs_read_file): Likewise.
23489
23490 * fs/xfs.c (grub_jfs_read_file): Likewise.
23491
23492 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23493 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23494 respectively.
23495
23496 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23497 BLKNR to -1 instead of returning GRUB_ERRNO.
23498 (grub_ext2_read_file): Change the types of SECTOR and
23499 LEN to grub_disk_addr_t and grub_size_t, respectively.
23500
23501 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23502 LEN to grub_disk_addr_t and grub_size_t, respectively.
23503
23504 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23505 grub_file_read.
23506
23507 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23508 string. Do not cast SECTOR explicitly.
23509
23510 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23511 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23512 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23513 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23514 over 2TB and LBA mode is not supported, raise an error.
23515 (get_safe_sectors): New function.
23516 (grub_biosdisk_read): Use get_safe_sectors.
23517 (grub_biosdisk_write): Likewise.
23518
23519 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23520 (grub_efidisk_write): Likewise.
23521
23522 * disk/loopback.c (delete_loopback): Cosmetic changes.
23523 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23524 correctly.
23525 (grub_loopback_open): Likewise.
23526 (grub_loopback_read): Likewise. Also, change the type of POS to
23527 grub_off_t, and fix the usage of grub_memset.
23528
23529 * commands/i386/pc/play.c: Include grub/machine/time.h.
23530
23531 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23532 print FILE->SIZE.
23533
23534 * commands/configfile.c: Include grub/env.h.
23535
23536 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23537 GRUB_ERRNO directly instead. Change the type of POS to
23538 grub_off_t. Follow the coding standard.
23539
23540 * commands/blocklist.c: Include grub/partition.h.
23541 (grub_cmd_blocklist): Return an error if the underlying device is
23542 not a disk. Take the starting sector of a partition into account,
23543 if a partition is used.
23544
23545 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23546 a length field.
23547 (lba_mode): Support 64-bit addresses.
23548 (chs_mode): Likewise.
23549 (copy_buffer): Adapted to the new offsets of a length field and a
23550 segment field.
23551 (blocklist_default_start): Allocate 64-bit space.
23552
23553 * boot/i386/pc/boot.S (force_lba): Removed.
23554 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 23555 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 23556 space.
23557 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23558 is useless.
23559 (lba_mode): Refactored to support a 64-bit address. More size
23560 optimization.
23561 (setup_sectors): Likewise.
23562
53af98ad 235632006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23564
23565 * DISTLIST: Added include/grub/i386/linux.h. Removed
23566 include/grub/i386/pc/linux.h
23567
23568 * configure.ac (AC_INIT): Bumped to 1.94.
23569
23570 * config.guess: Updated from gnulib.
23571 * config.sub: Likewise.
23572 * install-sh: Likewise.
23573 * mkinstalldirs: Likewise.
23574
b4c1940a 235752006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23576
23577 * conf/common.rmk (grub_modules_init.lst): Depended on
23578 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23579 MODSRCFILES.
23580
23581 * genmk.rb (PModule::rule): Reverted the previous change.
23582
cfca1cfd 235832006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23584
23585 * conf/common.rmk (grub_modules_init.lst): Depends on
23586 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23587 that the target does not exist before producing.
23588 (grub_modules_init.h): Remove the target before generating.
23589 (grub_emu_init.c): Likewise.
23590
23591 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23592
aa6d7826 235932006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23594
23595 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23596 for the target-specific tests. Make sure that we also have the
23597 up-to-date target variables for those tests.
23598
26c607b9 235992006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23600
23601 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23602 (PModule::rule): Likewise.
23603
0162321a 236042006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23605
23606 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23607 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23608 target-specific flags should be prefixed.
23609 (PModule::rule): Likewise.
23610
6c826348 236112006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23612
23613 * configure.ac (CMP): Check if cmp is available explicitly.
23614
b977bf01 236152006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23616
23617 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23618 (target_cpu): New variable.
23619 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 23620
b977bf01 23621 * util/i386/pc/grub-install.in (host_cpu): Removed.
23622 (target_cpu): New variable.
23623 (pkglibdir): Use target_cpu instead of host_cpu.
23624
23625 * util/genmoddep.c: Removed.
f19dbdb7 23626
b977bf01 23627 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23628 instead of GRUB_HOST_SIZEOF_VOID_P.
23629 * kern/dl.c: Likewise.
23630
23631 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23632 ...
23633 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23634 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23635 (GRUB_TARGET_SIZEOF_LONG): ... this.
23636 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23637 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23638 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23639 to ...
23640 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23641 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23642 (GRUB_TARGET_SIZEOF_LONG): ... this.
23643 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23644 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23645 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23646 to ...
23647 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23648 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23649 (GRUB_TARGET_SIZEOF_LONG): ... this.
23650 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23651 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23652
23653 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23654 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23655 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23656 instead of GRUB_HOST_SIZEOF_LONG.
23657 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23658 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23659 GRUB_CPU_WORDS_BIGENDIAN.
23660 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23661 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23662 grub_host_ssize_t.
23663
23664 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23665 (genmoddep_SOURCES): Likewise.
23666 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23667 (genmoddep_SOURCES): Likewise.
23668 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23669 (genmoddep_SOURCES): Likewise.
23670 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23671 Likewise.
23672 (genmoddep_SOURCES): Likewise.
23673
23674 * genmoddep.awk: New file.
23675
23676 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23677 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23678 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23679 (PModule::rule): Likewise.
23680 (Program::rule): Likewise.
23681 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23682 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23683 respectively.
23684
23685 * configure.ac: Rewritten intensively to use host and target
23686 instead of build and host, respectively.
23687
23688 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23689 (host_cpu): Removed.
23690 (target_cpu): New variable.
23691 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23692 (BUILD_CC): Removed.
23693 (BUILD_CFLAGS): Likewise.
23694 (BUILD_CPPFLAGS): Likewise.
23695 (TARGET_CC): New variable.
23696 (TARGET_CFLAGS): Likewise.
23697 (TARGET_CPPFLAGS): Likewise.
23698 (TARGET_LDFLAGS): Likewise.
23699 (AWK): Likewise.
23700 (include): Use target_cpu instead of host_cpu.
23701 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 23702
b977bf01 23703 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23704
f09771a1 237052006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23706
23707 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23708 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23709 field 'false' to 'exec_on_false'.
23710 (grub_script_create_cmdif): Renamed argument names to reflect above
23711 changes.
23712
23713 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23714
23715 * normal/script.c (grub_script_create_cmdif): Likewise.
23716
118f4fb3 237172006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23718
23719 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23720 top.
23721 (grub_hfsplus_btree_recptr): Likewise.
23722 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23723 FILEBLOCK both to pass a block number and store next block
23724 number.
23725 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23726 overflow file correctly. Specify errors appropriately, because
23727 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23728 grub_hfsplus_btree_recptr to get the pointer to a found key.
23729 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23730 is found.
23731
23732 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23733 linux.mod.
23734 (_linux_mod_SOURCES): New variable.
23735 (_linux_mod_CFLAGS): Likewise.
23736 (_linux_mod_LDFLAGS): Likewise.
23737 (linux_mod_SOURCES): Likewise.
23738 (linux_mod_CFLAGS): Likewise.
23739 (linux_mod_LDFLAGS): Likewise.
23740
23741 * DISTLIST: Added loader/i386/efi/linux.c,
23742 loader/i386/efi/linux_normal.c and
23743 include/grub/i386/efi/loader.h.
23744
23745 * loader/i386/efi/linux.c: New file.
23746 * loader/i386/efi/linux_normal.c: Likewise.
23747 * include/grub/i386/efi/loader.h: Likewise.
23748
89a7d726 237492006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23750
23751 * commands/blocklist.c: New file.
23752
23753 * DISTLIST: Added commands/blocklist.c.
23754
23755 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 23756 color for the background, and a darker color for the foreground.
89a7d726 23757 (grub_console_checkkey): Return READ_KEY.
23758 (grub_console_cls): Set the background to
23759 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23760
23761 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23762
23763 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23764 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23765
23766 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23767 prototype.
23768
23769 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23770 BG. The spec is wrong again.
23771
23772 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23773 prototype.
23774 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23775
23776 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23777 commands/blocklist.c.
23778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 23779
89a7d726 23780 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23781 (blocklist_mod_SOURCES): New variable.
23782 (blocklist_mod_CFLAGS): Likewise.
23783 (blocklist_mod_LDFLAGS): Likewise.
23784
75c8f258 237852006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23786
23787 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23788 duplication.
23789 (lba_mode): Use %eax more intensively to reduce the code size.
23790
da2eb181 237912006-05-20 Marco Gerards <marco@gnu.org>
23792
23793 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23794
23795 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23796 for `menuentry'.
23797 (script): Accept leading newlines.
23798 (newlines): New rule to describe 0 or more newlines.
23799 (commands): Accept `command' with trailing newline. Fixed the
23800 order in which arguments were passed to `grub_script_add_cmd'.
23801 Accept commands separated by newlines.
23802 (function): Changed to accept newlines.
23803 (menuentry) Rewritten.
23804
23805 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23806 front of the list, instead of to the end.
23807
577b4050 238082006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23809
23810 * util/i386/pc/grub-install.in (bindir): New variable.
23811 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23812 Shaver <lbgwjl@gmail.com>.
23813
0d6e1189 238142006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23815
23816 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23817 grub/machine/linux.h
23818 * loader/i386/pc/linux.c: Likewise.
23819
23820 * include/grub/i386/pc/linux.h: Moved to ...
23821 * include/grub/i386/linux.h: ... here.
23822
23823 * include/grub/i386/linux.h (struct linux_kernel_params): New
23824 struct.
f19dbdb7 23825
31b86e9f 238262006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23827
23828 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23829 checking.
23830 (grub_video_vbe_blit_glyph): Likewise.
23831 (grub_video_vbe_blit_bitmap): Likewise.
23832 (grub_video_vbe_blit_render_target): Likewise.
23833
83b984de 238342006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23835
23836 * configure.ac (--with-platform): Properly quote the square
23837 brackets.
23838
5f0413bd 238392006-05-08 Marco Gerards <marco@gnu.org>
23840
23841 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23842 this...
23843 (kernel_elf_HEADERS): ...to this. Updated all users.
23844 (grubof_symlist.c): Renamed from this...
23845 (kernel_elf_symlist.c): ...to this. Updated all users.
23846 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23847 (grubof_SOURCES): Renamed from this...
23848 (kernel_elf_SOURCES): ...to this.
23849 (grubof_HEADERS): Renamed from this...
23850 (kernel_elf_HEADERS): ...to this.
23851 (grubof_CFLAGS): Renamed from this...
23852 (kernel_elf_CFLAGS): ...to this.
23853 (grubof_ASFLAGS): Renamed from this...
23854 (kernel_elf_ASFLAGS): ...to this.
23855 (grubof_LDFLAGS): Renamed from this...
23856 (kernel_elf_LDFLAGS): ...to this.
23857
23858 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23859 this...
23860 (kernel_elf_HEADERS): ...to this. Updated all users.
23861 (grubof_symlist.c): Renamed from this...
23862 (kernel_elf_symlist.c): ...to this. Updated all users.
23863 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23864 (grubof_SOURCES): Renamed from this...
23865 (kernel_elf_SOURCES): ...to this.
23866 (grubof_HEADERS): Renamed from this...
23867 (kernel_elf_HEADERS): ...to this.
23868 (grubof_CFLAGS): Renamed from this...
23869 (kernel_elf_CFLAGS): ...to this.
23870 (grubof_ASFLAGS): Renamed from this...
23871 (kernel_elf_ASFLAGS): ...to this.
23872 (grubof_LDFLAGS): Renamed from this...
23873 (kernel_elf_LDFLAGS): ...to this.
23874
23875 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23876 `kernel.elf' instead of `grubof'.
23877
05568c2e 238782006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23879
23880 Add --with-platform to configure. Use pkglibdir instead of
23881 pkgdatadir. This is reported by Roger Leigh.
23882
23883 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23884 (host_vendor): Likewise.
23885 (host_os): Likewise.
23886 (pkgdatadir): Likewise.
23887 (platform): New variable.
23888 (pkglibdir): Likewise.
23889 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 23890
05568c2e 23891 * util/i386/pc/grub-install.in (datadir): Removed.
23892 (host_vendor): Likewise.
23893 (host_os): Likewise.
23894 (pkgdatadir): Likewise.
23895 (platform): New variable.
23896 (pkglibdir): Likewise.
23897 Use PKGLIBDIR instead of PKGDATADIR.
23898
23899 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23900 instead of GRUB_DATADIR.
23901 (main): Likewise.
23902 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23903 (main): Likewise.
23904 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23905 (main): Likewise.
23906
23907 * configure.ac (--with-platform): New option.
23908 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23909
23910 * Makefile.in: Include a makefile based on PLATFORM instead of
23911 HOST_VENDOR.
23912 (pkgdatadir): Not appended by the machine type.
23913 (pkglibdir): Appended by the machine type.
23914 (host_vendor): Removed.
23915 (platform): New variable.
23916 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23917 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23918 (uninstall): Likewise.
23919
4e93851c 239202006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23921
23922 Use the environment context in the menu. Remove the commands
23923 "default" and "timeout", and use variables instead.
f19dbdb7 23924
4e93851c 23925 * normal/menu.c: Include grub/env.h.
23926 (print_entry): Cast TITLE to silence gcc.
23927 (get_timeout): New function.
23928 (set_timeout): Likewise.
23929 (get_entry_number): Likewise.
23930 (run_menu): Use a default entry, a fallback entry and a timeout
23931 in the environment variables "default", "fallback" and
23932 "timeout". Also, tweak the default entry if it is not within the
23933 current menu entries.
23934 (grub_menu_run): Use a fallback entry in the environment variable
23935 "fallback".
23936
23937 * normal/main.c (read_config_file): Do not initialize
23938 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23939 NEWMENU->TIMEOUT.
23940 (grub_normal_execute): Use a data slot to store the menu.
23941
23942 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23943 fallback_entry and timeout.
23944 (struct grub_menu_list): Removed.
23945 (grub_menu_list_t): Likewise.
23946 (struct grub_context): Likewise.
23947 (grub_context_t): Likewise.
23948 (grub_context_get): Likewise.
23949 (grub_context_get_current_menu): Likewise.
23950 (grub_context_push_menu): Likewise.
23951 (grub_context_pop_menu): Likewise.
23952 (grub_default_init): Likewise.
23953 (grub_default_fini): Likewise.
23954 (grub_timeout_init): Likewise.
23955 (grub_timeout_fini): Likewise.
23956
23957 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23958 and timeout.mod.
23959 (normal_mod_SOURCES): Removed normal/context.c.
23960
23961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23962 commands/default.c, commands/timeout.c and normal/context.c.
23963 (normal_mod_SOURCES): Removed normal/context.c.
23964
23965 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23966 commands/timeout.c and normal/context.c.
23967 (normal_mod_SOURCES): Removed normal/context.c.
23968
23969 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23970 commands/default.c, commands/timeout.c and normal/context.c.
23971 (normal_mod_SOURCES): Removed normal/context.c.
23972
23973 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23974 timeout.mod.
23975 (default_mod_SOURCES): Removed.
23976 (default_mod_CFLAGS): Likewise.
23977 (default_mod_LDFLAGS): Likewise.
23978 (timeout_mod_SOURCES): Removed.
23979 (timeout_mod_CFLAGS): Likewise.
23980 (timeout_mod_LDFLAGS): Likewise.
23981
23982 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23983 normal/context.c.
23984
23985 * commands/default.c: Removed.
23986 * commands/timeout.c: Likewise.
23987 * normal/context.c: Likewise.
23988
1eb9cc1d 239892006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23990
23991 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23992
385bd9c1 239932006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23994
23995 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23996 "next" to "prev" for readability.
23997 (struct grub_env_sorted_var): New struct.
23998 (grub_env_context): Renamed to ...
23999 (initial_context): ... this.
24000 (grub_env_var_context): Renamed to ...
24001 (current_context): ... this.
24002 (grub_env_find): Look only at CURRENT_CONTEXT.
24003 (grub_env_context_open): Rewritten to copy exported variables from
24004 previous context.
24005 (grub_env_context_close): Rewritten according to the new
24006 scheme. Also, add an assertion to prevent the initial context from
24007 removed.
24008 (grub_env_insert): Removed the code for the sorted list.
24009 (grub_env_remove): Likewise.
24010 (grub_env_export): Simply mark the variable with
24011 GRUB_ENV_VAR_GLOBAL.
24012 (grub_env_set): A cosmetic change for naming consistency.
24013 (grub_env_get): Likewise.
24014 (grub_env_unset): Likewise.
24015 (grub_env_iterate): Rewritten to sort variables within this
24016 function.
24017 (grub_register_variable_hook): Fixed for naming consistency. Call
24018 grub_env_find again, only if NAME is not found at the first time.
24019 (mangle_data_slot_name): New function.
24020 (grub_env_set_data_slot): Likewise.
24021 (grub_env_get_data_slot): Likewise.
24022 (grub_env_unset_data_slot): Likewise.
24023
24024 * include/grub/env.h (grub_env_var_type): New enum.
24025 (GRUB_ENV_VAR_LOCAL): New constant.
24026 (GRUB_ENV_VAR_GLOBAL): Likewise.
24027 (GRUB_ENV_VAR_DATA): Likewise.
24028 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
24029 "type".
24030 (grub_env_set): Replace VAR with NAME for consistency.
24031 (grub_register_variable_hook): Likewise.
24032 (grub_env_export): Specify the name of the argument.
24033 (grub_env_set_data_slot): New prototype.
24034 (grub_env_get_data_slot): Likewise.
24035 (grub_env_unset_data_slot): Likewise.
24036
7f362539 240372006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24038
24039 Extend the loader so that GRUB can accept a loader which comes
24040 back to GRUB when a loaded image exits. Also, this change adds
24041 support for a chainloader on EFI.
f19dbdb7 24042
7f362539 24043 * term/efi/console.c: Include grub/misc.h.
24044 (grub_console_checkkey): Display a scan code on the top for
24045 debugging. This will be removed once the EFI port gets stable.
24046 Correct the scan code mapping.
24047
24048 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
24049 allocate memory from larger regions, in order to reduce the number
24050 of allocated regions. Otherwise, the MacOSX loader panics.
24051 (filter_memory_map): Avoid less than 1MB for compatibility with
24052 other loaders.
24053 (add_memory_regions): Allocate from the tail of a region, if
24054 possible, to avoid allocating a region near to 1MB, for the MacOSX
24055 loader.
24056
24057 * kern/efi/init.c (grub_efi_set_prefix): Specify
24058 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
24059
24060 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
24061 argument IMAGE_HANDLE and specify it to get a loaded image.
24062 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
24063 grub_efi_get_loaded_image.
fe6b695a 24064 (grub_efi_get_filename): Divide the length by the size of
7f362539 24065 grub_efi_char16_t.
24066 (grub_efi_get_device_path): New function.
24067 (grub_efi_print_device_path): Print End Device Path nodes. Divide
24068 the length by the size of grub_efi_char16_t for a file path device
24069 path node.
24070
24071 * kern/loader.c (grub_loader_noreturn): New variable.
24072 (grub_loader_set): Accept a new argument NORETURN. Set
24073 GRUB_LOADER_NORETURN to NORETURN.
24074 All callers changed.
24075 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
24076 grub_machine_fini.
24077
24078 * include/grub/efi/efi.h (grub_efi_get_device_path): New
24079 prototype.
24080 (grub_efi_get_loaded_image): Take an argument to specify an image
24081 handle.
24082
24083 * include/grub/loader.h (grub_loader_set): Added one more argument
24084 NORETURN.
24085
24086 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
24087 instead of grub_efi_open_protocol.
24088 (grub_efidisk_get_device_name): Likewise.
24089 (grub_efidisk_close): Print a newline.
24090 (grub_efidisk_get_device_handle): Fixed to use
24091 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
24092 GRUB_EFI_DEVICE_PATH_TYPE.
24093
24094 * disk/efi/efidisk.c (device_path_guid): Moved to ...
24095 * kern/efi/efi.c (device_path_guid): ... here.
24096
24097 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
24098 chain.mod.
24099 (kernel_mod_HEADERS): Added efi/disk.h.
24100 (_chain_mod_SOURCES): New variable.
24101 (_chain_mod_CFLAGS): Likewise.
24102 (_chain_mod_LDFLAGS): Likewise.
24103 (chain_mod_SOURCES): Likewise.
24104 (chain_mod_CFLAGS): Likewise.
24105 (chain_mod_LDFLAGS): Likewise.
24106
24107 * DISTLIST: Added include/grub/efi/chainloader.h,
24108 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
24109
24110 * include/grub/efi/chainloader.h: New file.
24111 * loader/efi/chainloader.c: Likewise.
24112 * loader/efi/chainloader_normal.c: Likewise.
24113
c0111d6e 241142006-04-30 Marco Gerards <marco@gnu.org>
24115
24116 * commands/configfile.c (grub_cmd_source): New function.
24117 (GRUB_MOD_INIT): Register the commands `source' and `.'.
24118 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
24119
df5341da 241202006-04-30 Marco Gerards <marco@gnu.org>
24121
24122 * normal/execute.c (grub_script_execute_cmd): Change the return
24123 type to `grub_err_t'. Correctly return the error.
24124 (grub_script_execute_cmdline): In case a command line is not a
24125 command or a function, try to interpret it as an assignment.
24126
f85934bd 241272006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24128
24129 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
24130 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
24131 skip a node whose name is obviously invalid as UTF-16,
24132 i.e. contains a NUL character. Stop the iteration when the last
24133 directory entry is found. Instead of using the return value of
24134 grub_hfsplus_btree_iterate_node, store the value in RET and use
24135 it, because the iterator can be stopped by the last directory
24136 entry.
24137
8f8a2cf8 241382006-04-30 Marco Gerards <marco@gnu.org>
24139
24140 * include/grub/env.h (grub_env_export): New prototype. Reported
24141 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
24142
a27e84ce 241432006-04-30 Marco Gerards <marco@gnu.org>
24144
24145 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
24146 size of the extents in a catalog file record.
24147
eaef0553 241482006-04-29 Marco Gerards <marco@gnu.org>
24149
24150 * commands/configfile.c (grub_cmd_configfile): Execute the
24151 configfile within its own context.
24152
24153 * include/grub/env.h (grub_env_context_open): New prototype.
24154 (grub_env_context_close): Likewise.
24155
24156 * kern/env.c (grub_env): Removed.
24157 (grub_env_sorted): Likewise.
24158 (grub_env_context): New variable.
24159 (grub_env_var_context): Likewise.
24160 (grub_env_find): Search both the active context and the global
24161 context.
24162 (grub_env_context_open): New function.
24163 (grub_env_context_close): Likewise.
24164 (grub_env_insert): Likewise.
24165 (grub_env_remove): Likewise.
24166 (grub_env_export): Likewise.
24167 (grub_env_set): Changed to use helper functions to avoid code
24168 duplication.
24169 (grub_env_iterate): Rewritten so both the current context and the
24170 global context are being used.
24171
24172 * normal/command.c (export_command): New function.
24173 (grub_command_init): Register the `export' function.
24174
7b455f4d 241752006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
24176
24177 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
24178 explicitly to suppress gcc's warnings.
24179 * fs/fat.c (grub_fat_find_dir): Likewise.
24180 (grub_fat_label): Likewise.
24181 * fs/xfs.c (grub_xfs_read_inode): Likewise.
24182 (grub_xfs_mount): Likewise.
24183 (grub_xfs_label): Likewise.
24184 * fs/affs.c (grub_affs_mount): Likewise.
24185 (grub_affs_label): Likewise.
24186 (grub_affs_iterate_dir): Likewise.
24187 * fs/sfs.c (grub_sfs_mount): Likewise.
24188 (grub_sfs_iterate_dir): Likewise.
24189 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
24190 * fs/hfs.c (grub_hfs_mount): Likewise.
24191 (grub_hfs_cmp_catkeys): Likewise.
24192 (grub_hfs_find_dir): Likewise.
24193 (grub_hfs_dir): Likewise.
24194 (grub_hfs_label): Likewise.
24195 * fs/jfs.c (grub_jfs_mount): Likewise.
24196 (grub_jfs_opendir): Likewise.
24197 (grub_jfs_getent): Likewise.
24198 (grub_jfs_lookup_symlink): Likewise.
24199 (grub_jfs_label): Likewise.
24200 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
24201 (grub_hfsplus_iterate_dir): Likewise.
24202 (grub_hfsplus_btree_iterate_node): Made static.
24203
24204 * util/grub-emu.c (prefix): New variable.
24205 (grub_machine_set_prefix): New function.
24206 (main): Do not set the environment variable "prefix" here. Only
24207 set PREFIX, which is used later by grub_machine_set_prefix.
24208
24209 * include/grub/video.h: Do not include grub/symbol.h.
24210 (grub_video_register): Not exported. This symbol is not defined in
24211 the kernel.
24212 (grub_video_unregister): Likewise.
24213 (grub_video_iterate): Likewise.
24214 (grub_video_setup): Likewise.
24215 (grub_video_restore): Likewise.
24216 (grub_video_get_info): Likewise.
24217 (grub_video_get_blit_format): Likewise.
24218 (grub_video_set_palette): Likewise.
24219 (grub_video_get_palette): Likewise.
24220 (grub_video_set_viewport): Likewise.
24221 (grub_video_get_viewport): Likewise.
24222 (grub_video_map_color): Likewise.
24223 (grub_video_map_rgb): Likewise.
24224 (grub_video_map_rgba): Likewise.
24225 (grub_video_fill_rect): Likewise.
24226 (grub_video_blit_glyph): Likewise.
24227 (grub_video_blit_bitmap): Likewise.
24228 (grub_video_blit_render_target): Likewise.
24229 (grub_video_scroll): Likewise.
24230 (grub_video_swap_buffers): Likewise.
24231 (grub_video_create_render_target): Likewise.
24232 (grub_video_delete_render_target): Likewise.
24233 (grub_video_set_active_render_target): Likewise.
24234
24235 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
24236 Undefined.
24237 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
24238
24239 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
24240 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24241 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24242 instead of $(srcdir)/genkernsyms.sh.
24243
24244 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
24245 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24246 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24247 instead of $(srcdir)/genkernsyms.sh.
24248
24249 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
24250 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24251 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24252 instead of $(srcdir)/genkernsyms.sh.
24253
24254 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
24255 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24256 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24257 instead of $(srcdir)/genkernsyms.sh.
24258
24259 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24260 genkernsyms.sh.
24261
24262 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24263 genkernsyms.sh.
24264 (gensymlist.sh): New target.
24265 (genkernsyms.sh): Likewise.
24266
24267 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24268 genkernsyms.sh.in and gensymlist.sh.in.
24269
24270 * genkernsyms.sh: Removed.
24271 * gensymlist.sh: Likewise.
f19dbdb7 24272
7b455f4d 24273 * genkernsyms.sh.in: New file.
24274 * gensymlist.sh.in: Likewise.
24275
1885bb27 242762006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24277
24278 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24279 clobber "prefix", since we may have already set it manually.
24280
71538dff 242812006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24282
24283 * kern/misc.c (abort): New alias for grub_abort.
24284
2965c7cc 242852006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24286
24287 A new machine-specific function "grub_machine_set_prefix" is
24288 defined. This is called after loading modules, so that a prefix
24289 initialization can use modules. Also, this change adds an
24290 intensive debugging feature for the memory manager via the
24291 configure option "--enable-mm-debug".
f19dbdb7 24292
2965c7cc 24293 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24294 PART.LEN.
24295
24296 * kern/sparc64/ieee1275/init.c (abort): Removed.
24297 (grub_stop): Likewise.
24298 (grub_exit): New function.
24299 (grub_set_prefix): Renamed to ...
24300 (grub_machine_set_prefix): ... this.
24301 (grub_machine_init): Do not call grub_set_prefix.
24302
24303 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24304 (grub_machine_set_prefix): ... this.
24305 (grub_machine_init): Do not call grub_set_prefix.
24306
24307 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24308 (grub_machine_init): Do not set the prefix here.
24309
24310 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24311
24312 * kern/efi/init.c: Include grub/mm.h.
24313 (grub_efi_set_prefix): New function.
24314
24315 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24316 (grub_efi_get_filename): New function.
24317 (grub_print_device_path): Renamed to ...
24318 (grub_efi_print_device_path): ... this.
24319
24320 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24321 [MM_DEBUG] (grub_realloc): Likewise.
24322 [MM_DEBUG] (grub_free): Likewise.
24323 [MM_DEBUG] (grub_memalign): Likewise.
24324 [MM_DEBUG] (grub_mm_debug): New variable.
24325 [MM_DEBUG] (grub_debug_malloc): New function.
24326 [MM_DEBUG] (grub_debug_free): New function.
24327 [MM_DEBUG] (grub_debug_realloc): New function.
24328 [MM_DEBUG] (grub_debug_memalign): New function.
24329
24330 * kern/misc.c (grub_abort): Print a newline to distinguish
24331 the message.
24332
24333 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24334 grub_set_root_dev after loading modules. This is necessary when
24335 setting a prefix depends on modules.
24336
24337 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24338 (grub_efi_print_device_path): ... this.
24339 (grub_efi_get_filename): New prototype.
24340 (grub_efi_set_prefix): Likewise.
24341
24342 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24343 and grub/disk.h.
24344 (grub_efidisk_get_device_handle): New prototype.
24345 (grub_efidisk_get_device_name): Likewise.
24346
24347 * include/grub/mm.h: Include config.h.
24348 (MM_DEBUG): Removed.
24349 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24350 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24351 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24352 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24353 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24354 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24355 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24356 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24357 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24358
24359 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24360
24361 * disk/efi/efidisk.c: Include grub/partition.h.
24362 (iterate_child_devices): New function.
24363 (add_device): First, compare only last device path nodes, so that
24364 devices are sorted by the types.
24365 (grub_efidisk_get_device_handle): New function.
24366 (grub_efidisk_get_device_name): Likewise.
24367
24368 * configure.ac (--enable-mm-debug): New option to enable the
24369 memory manager debugging feature. This makes the binary much
24370 bigger, so is disabled by default.
24371
9cacaa17 243722006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24373
24374 Use grub_abort instead of grub_stop, and grub_exit must be
24375 define in each architecture now. Also, this change adds support
24376 for EFI disks.
f19dbdb7 24377
9cacaa17 24378 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24379 (grub_getkey): New function.
24380 (grub_term_get_current): Likewise.
24381
24382 * util/i386/pc/grub-setup.c: Include grub/term.h.
24383 (grub_getkey): New function.
24384 (grub_term_get_current): Likewise.
24385
24386 * util/misc.c (grub_stop): Renamed to ...
24387 (grub_exit): ... this.
24388
24389 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24390 (grub_exit): ... this.
24391 (grub_machine_init): Use grub_abort instead of abort.
24392 (grub_stop): Removed.
24393
24394 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24395 abort.
24396
24397 * kern/i386/pc/startup.S (grub_exit): New function.
24398 (cold_reboot): New label.
24399
24400 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24401 (grub_efi_init): Call grub_efidisk_init.
24402 (grub_efi_fini): Call grub_efidisk_fini.
24403
24404 * kern/efi/efi.c: Include grub/mm.h.
24405 (grub_efi_console_control_guid): Renamed to ...
24406 (console_control_guid): ... this.
24407 (grub_efi_loaded_image_guid): Renamed to ...
24408 (loaded_image_guid): ... this.
24409 (grub_efi_locate_handle): New function.
24410 (grub_efi_open_protocol): Likewise.
24411 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24412 GRUB_EFI_CONSOLE_CONTROL_GUID.
24413 (grub_efi_exit): Removed.
24414 (grub_stop): Likewise.
24415 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24416 (grub_exit): New function.
24417 (grub_print_device_path): Likewise.
24418
24419 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24420 (grub_enter_rescue_mode): Register "exit".
24421
24422 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24423 (grub_abort): New function.
24424
24425 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24426
24427 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24428
24429 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24430
24431 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24432 (grub_print_device_path): New prototype.
24433 (grub_efi_locate_handle): Likewise.
24434 (grub_efi_open_protocol): Likewise.
24435
24436 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24437 * disk/efi/efidisk.c: Likewise.
24438
24439 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24440
24441 * include/grub/efi/console_control.h
24442 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24443
24444 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24445 last 8 bytes as an array.
24446 (GRUB_EFI_DISK_IO_GUID): New macro.
24447 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24448 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24449 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24450 grub_uint8_t.
24451 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24452 (struct grub_efi_device_path): Rename the member "sub_type" to
24453 "subtype".
24454 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24455 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24456 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24457 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24458 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24459 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24460 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24461 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24462 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24463 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24464 (struct grub_efi_pci_device_path): New structure.
24465 (grub_efi_pci_device_path_t): New type.
24466 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24467 (struct grub_efi_pccard_device_path): New structure.
24468 (grub_efi_pccard_device_path_t): New type.
24469 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24470 (struct grub_efi_memory_mapped_device_path): New structure.
24471 (grub_efi_memory_mapped_device_path_t): New type.
24472 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24473 (struct grub_efi_vendor_device_path): New structure.
24474 (grub_efi_vendor_device_path_t): New type.
24475 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24476 (struct grub_efi_controller_device_path): New structure.
24477 (grub_efi_controller_device_path_t): New type.
24478 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24479 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24480 (struct grub_efi_acpi_device_path): New structure.
24481 (grub_efi_acpi_device_path_t): New type.
24482 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24483 (struct grub_efi_expanded_acpi_device_path): New structure.
24484 (grub_efi_expanded_acpi_device_path_t): New type.
24485 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24486 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24487 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24488 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24489 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24490 (struct grub_efi_atapi_device_path): New structure.
24491 (grub_efi_atapi_device_path_t): New type.
24492 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24493 (struct grub_efi_fibre_channel_device_path): New structure.
24494 (grub_efi_fibre_channel_device_path_t): New type.
24495 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24496 (struct grub_efi_1394_device_path): New structure.
24497 (grub_efi_1394_device_path_t): New type.
24498 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24499 (struct grub_efi_usb_device_path): New structure.
24500 (grub_efi_usb_device_path_t): New type.
24501 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24502 (struct grub_efi_usb_class_device_path): New structure.
24503 (grub_efi_usb_class_device_path_t): New type.
24504 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24505 (struct grub_efi_i2o_device_path): New structure.
24506 (grub_efi_i2o_device_path_t): New type.
24507 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24508 (struct grub_efi_mac_address_device_path): New structure.
24509 (grub_efi_mac_address_device_path_t): New type.
24510 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24511 (struct grub_efi_ipv4_device_path): New structure.
24512 (grub_efi_ipv4_device_path_t): New type.
24513 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24514 (struct grub_efi_ipv6_device_path): New structure.
24515 (grub_efi_ipv6_device_path_t): New type.
24516 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24517 (struct grub_efi_infiniband_device_path): New structure.
24518 (grub_efi_infiniband_device_path_t): New type.
24519 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24520 (struct grub_efi_uart_device_path): New structure.
24521 (grub_efi_uart_device_path_t): New type.
24522 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24523 (struct grub_efi_vendor_messaging_device_path): New structure.
24524 (grub_efi_vendor_messaging_device_path_t): New type.
24525 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24526 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24527 (struct grub_efi_hard_drive_device_path): New structure.
24528 (grub_efi_hard_drive_device_path_t): New type.
24529 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24530 (struct grub_efi_cdrom_device_path): New structure.
24531 (grub_efi_cdrom_device_path_t): New type.
24532 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24533 (struct grub_efi_vendor_media_device_path): New structure.
24534 (grub_efi_vendor_media_device_path_t): New type.
24535 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24536 (struct grub_efi_file_path_device_path): New structure.
24537 (grub_efi_file_path_device_path_t): New type.
24538 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24539 (struct grub_efi_protocol_device_path): New structure.
24540 (grub_efi_protocol_device_path_t): New type.
24541 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24542 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24543 (struct grub_efi_bios_device_path): New structure.
24544 (grub_efi_bios_device_path_t): New type.
24545 (struct grub_efi_disk_io): New structure.
24546 (grub_efi_disk_io_t): New type.
24547 (struct grub_efi_block_io_media): New structure.
24548 (grub_efi_block_io_media_t): New type.
24549 (struct grub_efi_block_io): New structure.
24550 (grub_efi_block_io_t): New type.
24551
24552 * include/grub/misc.h (grub_stop): Removed.
24553 (grub_exit): New prototype.
24554 (grub_abort): Likewise.
24555
24556 * include/grub/disk.h (enum grub_disk_dev_id): Added
24557 GRUB_DISK_DEVICE_EFIDISK_ID.
24558
24559 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24560 disk/efi/efidisk.c.
24561 (kernel_syms.lst): Remove the target if an error occurs.
24562
49986a9f 245632006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24564
24565 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24566 as it was simply too buggy.
24567
970d3b8a 245682006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24569
24570 * kern/misc.c (grub_lltoa): New function.
24571 (grub_vsprintf): Added support for the long long suffix,
24572 i.e. "ll".
24573
ff04ec24 245742006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24575
24576 * Makefile.in (LDFLAGS): Add variable.
24577 (LD): Remove variable.
24578 * configure.ac: Add -m32 to LDFLAGS.
24579 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24580 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24581 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24582 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24583 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24584 variables.
24585 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24586 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24587 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24588
37e5e1a4 245892006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24590
24591 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24592 length for unknown glyph.
24593
c352d8dd 245942006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24595
2eab1c0d 24596 Add support for pre-loaded modules into the EFI port.
f19dbdb7 24597
2eab1c0d 24598 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24599 completely. Accept one more argument DIR. The caller has changed.
24600
24601 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24602
24603 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24604 (grub_efi_loaded_image_guid): New variable.
24605 (grub_efi_get_loaded_image): New function.
24606 (grub_arch_modules_addr): Likewise.
24607
24608 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24609 prototype.
24610
24611 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24612 (struct grub_efi_loaded_image): New structure.
24613 (grub_efi_loaded_image_t): New type.
24614
246152006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24616
c352d8dd 24617 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24618 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24619 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24620
6d01d6b4 246212006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24622
24623 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24624
976a4ea0 246252006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24626
24627 * DISTLIST: Added include/grub/efi/console.h,
24628 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24629 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24630
24631 * include/grub/efi/console.h: New file.
24632 * include/grub/efi/time.h: Likewise.
24633 * include/grub/i386/efi/kernel.h: Likewise.
24634 * kern/efi/init.c: Likewise.
24635 * kern/efi/mm.c: Likewise.
24636 * term/efi/console.c: Likewise.
f19dbdb7 24637
976a4ea0 24638 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24639 (grub_stop): Removed.
24640 (grub_get_rtc): Likewise.
24641 (grub_machine_init): Simply call grub_efi_init.
24642 (grub_machine_fini): Call grub_efi_fini.
24643
24644 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24645 (grub_efi_output_string): Removed.
24646 (grub_efi_stall): New function.
24647 (grub_stop): Likewise.
24648 (grub_get_rtc): Likewise.
24649
24650 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24651 (grub_efi_stall): New prototype.
24652 (grub_efi_allocate_pages): Likewise.
24653 (grub_efi_free_pages): Likewise.
24654 (grub_efi_get_memory_map): Likewise.
24655 (grub_efi_mm_init): Likewise.
24656 (grub_efi_mm_fini): Likewise.
24657 (grub_efi_init): Likewise.
24658 (grub_efi_fini): Likewise.
24659
24660 * include/grub/i386/efi/time.h: Do not include
24661 grub/symbol.h. Include grub/efi/time.h.
24662 (GRUB_TICKS_PER_SECOND): Removed.
24663 (grub_get_rtc): Likewise.
24664
24665 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24666 Added padding. The EFI spec is buggy.
24667 (GRUB_EFI_BLACK): New macro.
24668 (GRUB_EFI_BLUE): Likewise.
24669 (GRUB_EFI_GREEN): Likewise.
24670 (GRUB_EFI_CYAN): Likewise.
24671 (GRUB_EFI_RED): Likewise.
24672 (GRUB_EFI_MAGENTA): Likewise.
24673 (GRUB_EFI_BROWN): Likewise.
24674 (GRUB_EFI_LIGHTGRAY): Likewise.
24675 (GRUB_EFI_BRIGHT): Likewise.
24676 (GRUB_EFI_DARKGRAY): Likewise.
24677 (GRUB_EFI_LIGHTBLUE): Likewise.
24678 (GRUB_EFI_LIGHTGREEN): Likewise.
24679 (GRUB_EFI_LIGHTCYAN): Likewise.
24680 (GRUB_EFI_LIGHTRED): Likewise.
24681 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24682 (GRUB_EFI_YELLOW): Likewise.
24683 (GRUB_EFI_WHITE): Likewise.
24684 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24685 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24686 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24687 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24688 (GRUB_EFI_BACKGROUND_RED): Likewise.
24689 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24690 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24691 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24692 (GRUB_EFI_TEXT_ATTR): Likewise.
24693
24694 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24695 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24696 (kernel_mod_HEADERS): Added efi/time.h.
24697
83709125 246982006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24699
24700 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24701 include/grub/efi/api.h, include/grub/efi/console_control.h,
24702 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24703 include/grub/i386/efi/time.h, kern/efi/efi.c,
24704 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24705 and util/i386/efi/grub-mkimage.c.
24706
24707 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24708
24709 * genmk.rb (PModule#rule): Do not export symbols if
24710 #{prefix}_EXPORTS is set to "no".
24711
24712 * conf/i386-efi.mk: New file.
24713 * conf/i386-efi.rmk: Likewise.
24714 * include/grub/efi/api.h: Likewise.
24715 * include/grub/efi/console_control.h: Likewise.
24716 * include/grub/efi/efi.h: Likewise.
24717 * include/grub/efi/pe32.h: Likewise.
24718 * include/grub/i386/efi/time.h: Likewise.
24719 * kern/efi/efi.c: Likewise.
24720 * kern/i386/efi/init.c: Likewise.
24721 * kern/i386/efi/startup.S: Likewise.
24722 * util/i386/efi/grub-mkimage.c: Likewise.
24723
247242006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 24725
24726 * include/grub/script.h: Include <grub/parser.h> and
24727 "grub_script.tab.h".
24728 (struct grub_lexer_param): New struct.
24729 (struct grub_parser_param): Likewise.
24730 (grub_script_create_arglist): Pass the state in an argument.
24731 (grub_script_add_arglist): Likewise.
24732 (grub_script_create_cmdline): Likewise.
24733 (grub_script_create_cmdblock): Likewise.
24734 (grub_script_create_cmdif): Likewise.
24735 (grub_script_create_cmdmenu): Likewise.
24736 (grub_script_add_cmd): Likewise.
24737 (grub_script_arg_add): Likewise.
24738 (grub_script_lexer_ref): Likewise.
24739 (grub_script_lexer_deref): Likewise.
24740 (grub_script_lexer_record_start): Likewise.
24741 (grub_script_lexer_record_stop): Likewise.
24742 (grub_script_mem_record): Likewise.
24743 (grub_script_mem_record_stop): Likewise.
24744 (grub_script_malloc): Likewise.
24745 (grub_script_yylex): Likewise.
24746 (grub_script_yyparse): Likewise.
24747 (grub_script_yyerror): Likewise.
24748 (grub_script_yylex): Likewise.
24749 (grub_script_lexer_init): Return the state.
24750
24751 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24752 (grub_script_lexer_done): Likewise.
24753 (grub_script_lexer_getline): Likewise.
24754 (grub_script_lexer_refs): Likewise.
24755 (script): Likewise.
24756 (newscript): Likewise.
24757 (record): Likewise.
24758 (recording): Likewise.
24759 (recordpos): Likewise.
24760 (recordlen): Likewise.
24761 (grub_script_lexer_init): Return the state instead of setting
24762 global variables.
24763 (grub_script_lexer_ref): Use the newly added argument for state
24764 instead of globals.
24765 (grub_script_lexer_deref): Likewise.
24766 (grub_script_lexer_record_start): Likewise.
24767 (grub_script_lexer_record_stop): Likewise.
24768 (recordchar): Likewise.
24769 (nextchar): Likewise.
24770 (grub_script_yylex2): Likewise.
24771 (grub_script_yylex): Likewise.
24772 (grub_script_yyerror): Likewise.
24773
24774 * normal/parser.y (func_mem): Removed variable.
24775 (menu_entry): Likewise.
24776 (err): Likewise.
24777 (%lex-param): New parser option.
24778 (%parse-param): Likewise.
24779 (script): Always return the AST.
24780 (argument): Pass the state around.
24781 (arguments): Likewise.
24782 (grubcmd): Likewise.
24783 (commands): Likewise.
24784 (function): Likewise.
24785 (menuentry): Likewise.
24786 (if_statement): Likewise.
24787 (if): Likewise.
24788
24789 * normal/script.c (grub_script_memused): Removed variable.
24790 (grub_script_parsed): Likewise.
24791 (grub_script_malloc): Added a state argument. Use that instead of
24792 global variables.
24793 (grub_script_mem_record): Likewise.
24794 (grub_script_mem_record_stop): Likewise.
24795 (grub_script_arg_add): Likewise.
24796 (grub_script_add_arglist): Likewise.
24797 (grub_script_create_cmdline): Likewise.
24798 (grub_script_create_cmdif): Likewise.
24799 (grub_script_create_cmdmenu): Likewise.
24800 (grub_script_add_cmd): Likewise.
24801 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 24802
e2a8c904 248032006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 24804
24805 * normal/command.c (grub_command_init): Remove the title command.
24806
24807 * normal/lexer.c (grub_script_yylex): Renamed from this...
24808 (grub_script_yylex2): ... to this.
24809 (grub_script_yylex): New function. Temporary
24810 introduced to filter some tokens.
24811 (grub_script_yyerror): Print a newline.
24812
24813 * normal/main.c (read_config_file): Output information about the
24814 lines that contain errors. Wait for a key after all lines have
24815 been processed. Don't return an empty menu.
24816
24817 * normal/parser.y (func_mem): Don't initialize.
24818 (menu_entry): Likewise.
24819 (err): New variable.
24820 (script): Don't return anything when an error was encountered.
24821 (ws, returns): Removed rules.
24822 (argument): Disabled concatenated variable support.
24823 (arguments): Remove explicit separators.
24824 (grubcmd): Likewise.
24825 (function): Likewise.
24826 (menuentry): Likewise.
24827 (if): Likewise.
24828 (commands): Likewise. Add error handling.
24829
24830 * normal/script.c (grub_script_create_cmdline): If
24831 `grub_script_parsed' is 0, assume the parser encountered an error.
24832
c9a86192 248332006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24834
24835 * configure.ac: Add support for EFI. Fix the typo
24836 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24837
70f3b243 248382006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24839
24840 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24841 foreign multibyte characters should be shown correctly.
24842
65f201ad 248432006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24844
24845 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24846 calculation.
24847 (read_config_file): Made it to close file before returning.
24848
b4b93674 248492006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24850
24851 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24852 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24853 video/i386/pc/vbefill.c.
24854
24855 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24856 video/i386/pc/vbefill.c.
24857
24858 * include/grub/video.h (grub_video_blit_format): New enum.
24859 (grub_video_mode_info): Added new member blit_format.
24860 (grub_video_get_blit_format): New function prototype.
24861
24862 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24863 function prototype.
24864 (grub_video_vbe_map_rgb): Likewise.
24865 (grub_video_vbe_unmap_color): Likewise.
24866
24867 * include/grub/i386/pc/vbeblit.h: New file.
24868
24869 * include/grub/i386/pc/vbefill.h: New file.
24870
24871 * video/video.c (grub_video_get_blit_format): New function.
24872 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24873 (grub_video_vbe_map_rgb): Likewise.
24874 (grub_video_vbe_unmap_color): Likewise.
24875
24876 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24877 optimized fills.
24878 (grub_video_vbe_blit_render_target): Changed to use more optimized
24879 blits.
24880 (grub_video_vbe_setup): Added detection for optimized settings.
24881 (grub_video_vbe_create_render_target): Likewise.
24882
24883 * video/i386/pc/vbeblit.c: New file.
24884
24885 * video/i386/pc/vbefill.c: New file.
24886
c2379b9c 248872006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24888
24889 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24890 here...
24891
24892 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24893 parsing to support both hex and dec ranges. If filename was missing
24894 show usage information.
24895
bd0d7896 248962006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24897
24898 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24899 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24900
24901 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24902 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24903 (video_mod_SOURCES): Added.
24904 (video_mod_CFLAGS): Likewise.
24905 (video_mod_LDFLAGS): Likewise.
24906 (gfxterm_mod_SOURCES): Likewise.
24907 (gfxterm_mod_CFLAGS): Likewise.
24908 (gfxterm_mod_LDFLAGS): Likewise.
24909 (videotest_mod_SOURCES): Likewise.
24910 (videotest_mod_CFLAGS): Likewise.
24911 (videotest_mod_LDFLAGS): Likewise.
24912 (vesafb_mod_SOURCES): Removed.
24913 (vesafb_mod_CFLAGS): Likewise.
24914 (vesafb_mod_LDFLAGS): Likewise.
24915 (vga_mod_SOURCES): Likewise.
24916 (vga_mod_CFLAGS): Likewise.
24917 (vga_mod_LDFLAGS): Likewise.
24918
24919 * commands/videotest.c: New file.
24920
24921 * font/manager.c (fill_with_default_glyph): Modified to use
24922 grub_font_glyph.
24923 (grub_font_get_glyph): Likewise.
24924 (fontmanager): Renamed from this...
24925 (font_manager): ... to this.
24926
24927 * include/grub/font.h (grub_font_glyph): Added new structure.
24928 (grub_font_get_glyph): Modified to use grub_font_glyph.
24929
24930 * include/grub/misc.h (grub_abs): Added as inline function.
24931
24932 * include/grub/video.h: New file.
24933
24934 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24935 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24936 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24937 (grub_vbe_get_controller_info): Renamed from this...
24938 (grub_vbe_bios_get_controller_info): ... to this.
24939 (grub_vbe_get_mode_info): Renamed from this...
24940 (grub_vbe_bios_get_mode_info): ... to this.
24941 (grub_vbe_set_mode): Renamed from this...
24942 (grub_vbe_bios_set_mode): ... to this.
24943 (grub_vbe_get_mode): Renamed from this...
24944 (grub_vbe_bios_get_mode): ... to this.
24945 (grub_vbe_set_memory_window): Renamed from this...
24946 (grub_vbe_bios_set_memory_window): ... to this.
24947 (grub_vbe_get_memory_window): Renamed from this...
24948 (grub_vbe_bios_get_memory_window): ... to this.
24949 (grub_vbe_set_scanline_length): Renamed from this...
24950 (grub_vbe_set_scanline_length): ... to this.
24951 (grub_vbe_get_scanline_length): Renamed from this...
24952 (grub_vbe_bios_get_scanline_length): ... to this.
24953 (grub_vbe_set_display_start): Renamed from this...
24954 (grub_vbe_bios_set_display_start): ... to this.
24955 (grub_vbe_get_display_start): Renamed from this...
24956 (grub_vbe_bios_get_display_start): ... to this.
24957 (grub_vbe_set_palette_data): Renamed from this...
24958 (grub_vbe_bios_set_palette_data): ... to this.
24959 (grub_vbe_set_pixel_rgb): Removed.
24960 (grub_vbe_set_pixel_index): Likewise.
24961
24962 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24963 from this...
24964 (grub_vbe_bios_get_controller_info): ... to this.
24965 (grub_vbe_get_mode_info): Renamed from this...
24966 (grub_vbe_bios_get_mode_info): ... to this.
24967 (grub_vbe_set_mode): Renamed from this...
24968 (grub_vbe_bios_set_mode): ... to this.
24969 (grub_vbe_get_mode): Renamed from this...
24970 (grub_vbe_bios_get_mode): ... to this.
24971 (grub_vbe_set_memory_window): Renamed from this...
24972 (grub_vbe_bios_set_memory_window): ... to this.
24973 (grub_vbe_get_memory_window): Renamed from this...
24974 (grub_vbe_bios_get_memory_window): ... to this.
24975 (grub_vbe_set_scanline_length): Renamed from this...
24976 (grub_vbe_set_scanline_length): ... to this.
24977 (grub_vbe_get_scanline_length): Renamed from this...
24978 (grub_vbe_bios_get_scanline_length): ... to this.
24979 (grub_vbe_set_display_start): Renamed from this...
24980 (grub_vbe_bios_set_display_start): ... to this.
24981 (grub_vbe_get_display_start): Renamed from this...
24982 (grub_vbe_bios_get_display_start): ... to this.
24983 (grub_vbe_set_palette_data): Renamed from this...
24984 (grub_vbe_bios_set_palette_data): ... to this.
24985 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24986 getting corrupted after calling it. Added more pushes and pops.
24987 (grub_vbe_bios_set_mode): Likewise.
24988 (grub_vbe_bios_get_mode): Likewise.
24989 (grub_vbe_bios_get_memory_window): Likewise.
24990 (grub_vbe_bios_set_scanline_length): Likewise.
24991 (grub_vbe_bios_get_scanline_length): Likewise.
24992 (grub_vbe_bios_get_display_start): Likewise.
24993 (grub_vbe_bios_set_palette_data): Likewise.
24994
24995 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24996 (cl_insert): Likewise.
24997 (cl_delete): Likewise.
24998
24999 * term/gfxterm.c: New file.
25000
25001 * term/i386/pc/vesafb.c: Removed file.
25002
25003 * video/video.c: New file.
25004
25005 * video/i386/pc/vbe.c (real2pm): Added new function.
25006 (grub_video_vbe_draw_pixel): Likewise.
25007 (grub_video_vbe_get_video_ptr): Likewise.
25008 (grub_video_vbe_get_pixel): Likewise
25009 (grub_video_vbe_init): Likewise.
25010 (grub_video_vbe_fini): Likewise.
25011 (grub_video_vbe_setup): Likewise.
25012 (grub_video_vbe_get_info): Likewise.
25013 (grub_video_vbe_set_palette): Likewise.
25014 (grub_video_vbe_get_palette): Likewise.
25015 (grub_video_vbe_set_viewport): Likewise.
25016 (grub_video_vbe_get_viewport): Likewise.
25017 (grub_video_vbe_map_color): Likewise.
25018 (grub_video_vbe_map_rgb): Likewise.
25019 (grub_video_vbe_map_rgba): Likewise.
25020 (grub_video_vbe_unmap_color): Likewise.
25021 (grub_video_vbe_fill_rect): Likewise.
25022 (grub_video_vbe_blit_glyph): Likewise.
25023 (grub_video_vbe_blit_bitmap): Likewise.
25024 (grub_video_vbe_blit_render_target): Likewise.
25025 (grub_video_vbe_scroll): Likewise.
25026 (grub_video_vbe_swap_buffers): Likewise.
25027 (grub_video_vbe_create_render_target): Likewise.
25028 (grub_video_vbe_delete_render_target): Likewise.
25029 (grub_video_vbe_set_active_render_target): Likewise.
25030 (grub_vbe_set_pixel_rgb): Remove function.
25031 (grub_vbe_set_pixel_index): Likewise.
25032 (index_color_mode): Remove static variable.
25033 (active_mode): Likewise.
25034 (framebuffer): Likewise.
25035 (bytes_per_scan_line): Likewise.
25036 (grub_video_vbe_adapter): Added new static variable.
25037 (framebuffer): Likewise.
25038 (render_target): Likewise.
25039 (initial_mode): Likewise.
25040 (mode_in_use): Likewise.
25041 (mode_list): Likewise.
25042
5f97350b 250432006-03-10 Marco Gerards <marco@gnu.org>
25044
25045 * configure.ac (AC_INIT): Bumped to 1.93.
25046
25047 * DISTLIST: Added `include/grub/hfs.h'.
25048
a3c5c6f8 250492006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
25050
25051 * boot/i386/pc/boot.S (general_error): Before looping, try INT
25052 18H, which might help the BIOS falling back to next boot media.
25053
6de53d26 250542006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
25055
25056 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
25057 Poe Chen <poe.poechen@gmail.com>.
25058
77c4a393 250592006-01-17 Marco Gerards <marco@gnu.org>
25060
25061 * include/grub/normal.h: Include <grub/script.h>.
25062 (grub_command_list): Removed struct.
25063 (grub_command_list_t): Removed type.
25064 (grub_menu_entry): Remove members `num' and `command_list'. Add
25065 members `commands' and `sourcecode'.
25066 * include/grub/script.h: Add inclusion guards.
25067 (grub_script_cmd_menuentry): New struct.
25068 (grub_script_execute_menuentry): New prototype.
25069 (grub_script_lexer_record_start): Likewise.
25070 (grub_script_lexer_record_stop): Likewise.
25071 * normal/execute.c (grub_script_execute_menuentry): New function.
25072 * normal/lexer.c (record, recording, recordpos, recordlen): New
25073 variables.
25074 (grub_script_lexer_record_start): New function.
25075 (grub_script_lexer_record_stop): Likewise.
25076 (recordchar): Likewise.
25077 (nextchar): Likewise.
25078 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
25079 2048 as the buffer size. Add the tokens `menuentry' and `@'.
25080 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
25081 (current_menu): New variable.
25082 (free_menu): Mainly rewritten.
25083 (grub_normal_menu_addentry): New function.
25084 (read_config_file): Rewritten.
25085 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 25086 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 25087 the menu entry.
25088 (run): Mainly rewritten.
25089 * normal/parser.y (menu_entry): New variable.
25090 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
25091 (menuentry): New rule.
25092 (command): Add `menuentry'.
25093 (if_statement): Allow additional returns before `fi'.
25094 * normal/script.c (grub_script_create_cmdmenu): New function.
25095
144f1f98 250962006-01-03 Marco Gerards <marco@gnu.org>
25097
25098 * INSTALL: GNU Bison is required.
25099 * configure.ac: Rewritten the test to detect Bison.
25100 * Makefile.in (YACC): New variable. Reported by Xun Sun
25101 <xun.sun.cn@gmail.com>.
25102
af4b2d89 251032006-01-03 Marco Gerards <marco@gnu.org>
25104
25105 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
25106 the HFS+ filesystem to filesystem blocks.
25107 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
25108 GCC warning is silenced.
25109
15643b71 251102006-01-03 Marco Gerards <marco@gnu.org>
25111
25112 * partmap/apple.c (apple_partition_map_iterate): Convert the data
25113 read from disk from big endian to host byte order.
25114
00905879 251152006-01-03 Hollis Blanchard <hollis@penguinppc.org>
25116
25117 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
25118 documentation.
25119 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
25120 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
25121 embedded HFS+ filesystem.
25122 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
25123 (grub_hfs_sblock): Move from here...
25124 * include/grub/hfs.h: To here... New file.
25125 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
25126 documentation.
25127 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
25128 New macros.
25129 (grub_hfsplus_volheader): Change type of member `magic' to
25130 `grub_uint16_t'.
25131 (grub_hfsplus_data): Add new member `embedded_offset'.
25132 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
25133 returned block.
25134 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
25135 Calculate the offset.
25136
8899bc3e 251372005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25138
25139 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
25140 Removed.
25141 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
25142
ae8c0277 251432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25144
25145 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
25146 ENV->NAME is NULL after allocating ENV->VALUE.
25147
07084456 251482005-12-25 Marco Gerards <marco@gnu.org>
25149
25150 * kern/env.c (grub_env_set): Rewritten the error handling code.
25151
4750f5f1 251522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25153
25154 * geninit.sh: Made more robust, and more portable.
25155
50214199 251562005-12-25 Marco Gerards <marco@gnu.org>
25157
25158 Add support for Apple HFS+ filesystems.
f19dbdb7 25159
50214199 25160 * fs/hfsplus.c: New file.
25161
25162 * DISTLIST: Added `fs/hfsplus.c'.
25163
25164 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
25165 (hfsplus_mod_SOURCES): New variable.
25166 (hfsplus_mod_CFLAGS): Likewise.
25167 (hfsplus_mod_LDFLAGS): Likewise.
25168 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
25169 (grub_setup_SOURCES): Likewise.
25170 (grub_mkdevicemap_SOURCES): Likewise.
25171 (grub_emu_SOURCES): Likewise.
25172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25173
25174 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
25175
25176 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
25177
befaed6c 251782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25179
25180 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
25181 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
25182 include/grub/parser.h, include/grub/script.h, kern/parser.c,
25183 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
25184 normal/lexer.c, normal/parser.y, normal/script.c, and
25185 partmap/gpt.c.
25186 Removed kern/sparc64/cache.c.
25187
25188 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
25189 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
25190 grub_emu_init.c.
25191
25192 * configure.ac (AC_INIT): Bumped to 1.92.
25193
6a124103 251942005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
25195
25196 * kern/err.c (grub_error_push): Added new function to support error
25197 stacks.
25198 (grub_error_pop): Likewise.
25199 (grub_error_stack_items): New local variable to support error stacks.
25200 (grub_error_stack_pos): Likewise.
25201 (grub_error_stack_assert): Likewise.
25202 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
25203 stack depth.
25204 (grub_print_error): Added support to print errors from error stack.
25205
25206 * include/grub/err.h (grub_error_push): Added function prototype.
25207 (grub_error_pop): Likewise.
25208
be973c1b 252092005-12-09 Hollis Blanchard <hollis@penguinppc.org>
25210
25211 * configure.ac: Accept `powerpc64' as host_cpu.
25212 (amd64): Rename to `biarch32'.
25213
25214 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
25215 non-cacheline-aligned addresses.
25216
25217 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
25218 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
25219 if `size' is non-zero.
25220
b04216ab 252212005-12-03 Marco Gerards <mgerards@xs4all.nl>
25222
25223 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
25224 and `cd' to make sure the filename is not prefixed with a
25225 directory name.
25226 (pkgdata_MODULES): Add `gpt.mod'.
25227 (gpt_mod_SOURCES): New variable.
25228 (gpt_mod_CFLAGS): Likewise.
25229 (gpt_mod_LDFLAGS): Likewise.
25230
25231 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
25232
25233 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
25234 New macro.
25235
25236 * partmap/gpt.c: New file.
25237
25238 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
25239 GPT partition map is detected.
25240
41730ed9 252412005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
25242
25243 * commands/i386/pc/play.c: New file.
25244 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
25245 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
25246 macros.
f19dbdb7 25247
95dc3643 252482005-11-27 Marco Gerards <mgerards@xs4all.nl>
25249
25250 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
25251 ((unused))' to silence gcc warning.
25252
1569ec51 252532005-11-26 Hollis Blanchard <hollis@penguinppc.org>
25254
25255 * configure.ac: Correct `AC_PROG_YACC' test.
25256
9abde152 252572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25258
25259 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25260 check before installing files.
25261
44b83271 252622005-11-22 Mike Small <smallm@panix.com>
25263
25264 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25265 number regex so multidigit numbers are recognized correctly.
25266
252672005-11-22 Mike Small <smallm@panix.com>
25268
25269 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25270 debugging message before attempting to claim memory.
25271 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25272 multiple addresses in case of failure.
25273
9c12956b 252742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25275
25276 * term/tparm.c (get_space): Remove empty `if' statement.
25277
25278 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25279
25280 * kern/parser.c (check_varstate): Rename `state' to 's'.
25281
aeaf81d9 252822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25283
25284 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25285 variable definitions to the beginning of each function. Sort stack
25286 variables by size.
25287 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25288 `buf' argument to `char *'.
25289
79bbb63f 252902005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25291
25292 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25293 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25294 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 25295 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25296 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25297 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25298 configfile.mod, search.mod, gzio.mod and test.mod.
25299 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25300 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25301 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25302 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25303 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25304 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25305 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25306 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25307 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25308 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25309 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25310 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25311 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25312 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25313 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25314 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25315 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25316 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25317 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25318 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25319 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25320 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25321 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25322
25323 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25324 `grep --include'.
25325 (pkgdata_MODULES): Add test.mod.
25326
233b1628 253272005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25328
25329 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25330 appending to variables with "+=".
25331 (PModule): Use full pathname to generate *.lst filenames.
25332
25333 * Makefile.in: Fixed list rules moved from genmk.rb.
25334 (.DELETE_ON_ERROR): New special target.
25335 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25336
25337 * conf/i386-pc.rmk: Include conf/common.mk.
25338 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25339 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 25340 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25341 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25342 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25343 configfile.mod, search.mod, gzio.mod and test.mod.
25344 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25345 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25346 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25347 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25348 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25349 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25350 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25351 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25352 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25353 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25354 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25355 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25356 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25357 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25358 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25359 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25360 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25361 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25362 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25363 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25364 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25365 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25366 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25367 here...
25368 * conf/common.rmk: ... to here. New file.
25369
25370 * conf/common.mk: New file.
25371
16f820c8 253722005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25373
25374 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25375 (grub_script.tab.c): ... here.
25376
25377 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25378 (grub_script.tab.c): ... here.
25379
25380 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25381 (grub_script.tab.c): ... here.
25382
25383 * normal/command.c (grub_command_find): Fixed a memory leak of
25384 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25385
63ba1554 253862005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25387
25388 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25389 "@" which marks the start of a comment on ARM.
25390 (VARIABLE): Likewise.
25391
7f67dc13 253922005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25393
79bbb63f 25394 Add support for Linux/ADFS partition tables.
7f67dc13 25395
25396 * partmap/acorn.c: New file.
25397
25398 * include/grub/acorn_filecore.h: Likewise.
25399
25400 * DISTLIST: Added `partmap/acorn.c' and
25401 `include/grub/acorn_filecore.h'.
f19dbdb7 25402
7f67dc13 25403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25404 `partmap/acorn.c'.
25405 (pkgdata_MODULES): Add `acorn.mod'.
25406 (acorn_mod_SOURCES): New variable.
25407 (acorn_mod_CFLAGS): Likewise.
25408
25409 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25410 `partmap/acorn.c'.
25411 (pkgdata_MODULES): Add `acorn.mod'.
25412 (acorn_mod_SOURCES): New variable.
25413 (acorn_mod_CFLAGS): Likewise.
25414
25415 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25416 (pkgdata_MODULES): Add `acorn.mod'.
25417 (acorn_mod_SOURCES): New variable.
25418 (acorn_mod_CFLAGS): Likewise.
25419 (acorn_mod_LDFLAGS): Likewise.
25420
25421 * include/types.h (grub_disk_addr_t): New typedef.
25422
6d099807 254232005-11-13 Marco Gerards <mgerards@xs4all.nl>
25424
25425 * geninit.sh: New file.
25426
25427 * geninitheader.sh: Likewise.
25428
25429 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25430 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25431 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25432 * commands/configfile.c (grub_configfile_init)
25433 (grub_configfile_fini): Likewise.
25434 * commands/default.c (grub_default_init, grub_default_fini):
25435 Likewise.
25436 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25437 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25438 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25439 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25440 Likewise.
25441 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25442 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25443 Likewise.
25444 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 25445 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 25446 Likewise.
25447 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25448 Likewise.
fe6b695a 25449 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 25450 Likewise.
25451 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25452 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25453 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25454 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25455 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25456 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25457 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25458 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25459 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25460 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25461 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25462 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25463 * partmap/amiga.c (grub_amiga_partition_map_init)
25464 (grub_amiga_partition_map_fini): Likewise.
25465 * partmap/apple.c (grub_apple_partition_map_init)
25466 (grub_apple_partition_map_fini): Likewise.
25467 * partmap/pc.c (grub_pc_partition_map_init)
25468 (grub_pc_partition_map_fini): Likewise.
25469 * partmap/sun.c (grub_sun_partition_map_init,
25470 grub_sun_partition_map_fini): Likewise.
25471 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25472 Likewise.
25473
25474 * util/grub-emu.c: Include <grub_modules_init.h>.
25475 (main): Don't initialize and de-initialize any modules directly,
25476 use `grub_init_all' and `grub_fini_all' instead.
25477
25478 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25479 `grub_vesafb_mod_init'.
25480 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25481 all users.
25482 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25483 `grub_vga_mod_init'. Updated all users.
25484 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 25485
6d099807 25486 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25487 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25488 rules.
25489
25490 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25491 Generate a function to initialize the module in utilities.
25492 Updated all callers.
25493 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25494 initialize the module in utilities. Updated all callers.
25495
9046bcf0 254962005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25497
25498 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25499 escape sequence and a literal ^L to clear the screen.
25500
25501 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25502 when returning from Open Firmware.
25503
d13ea639 255042005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25505
25506 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25507 (grub_ofconsole_height): Likewise.
25508 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25509 manually insert a '\n'.
25510 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25511 `grub_ofconsole_height'. Return early if these are already set.
25512
a8fcf206 255132005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25514
25515 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25516 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25517 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25518 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25519 and `normal/script.c'.
25520 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25521 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25522 (test_mod_SOURCES): New variable.
25523 (test_mod_CFLAGS): Likewise.
25524 (test_mod_LDFLAGS): Likewise.
25525 (pkgdata_MODULES): Add `test.mod'.
25526 (grub_script.tab.c): New rule.
25527 (grub_script.tab.h): Likewise.
25528
b6b32745 255292005-11-07 Marco Gerards <mgerards@xs4all.nl>
25530
25531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25532 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25533 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25534 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25535 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25536 (test_mod_SOURCES): New variable.
25537 (test_mod_CFLAGS): Likewise.
25538 (pkgdata_MODULES): Add `test.mod'.
25539 (grub_script.tab.c): New rule.
25540 (grub_script.tab.h): Likewise.
25541
daac212a 255422005-11-06 Marco Gerards <mgerards@xs4all.nl>
25543
25544 Add initial scripting support.
25545
25546 * commands/test.c: New file.
25547 * include/grub/script.h: Likewise.
25548 * normal/execute.c: Likewise.
25549 * normal/function.c: Likewise.
25550 * normal/lexer.c: Likewise.
25551 * normal/parser.y: Likewise.
25552 * normal/script.c: Likewise.
25553
25554 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 25555
daac212a 25556 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25557 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25558 `normal/function.c' and `normal/script.c'.
25559 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25560 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 25561 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25562 variables.
daac212a 25563 (pkgdata_MODULES): Add `test.mod'.
25564 (grub_script.tab.c): New rule.
25565 (grub_script.tab.h): Likewise.
25566
25567 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25568
25569 * include/grub/normal.h (grub_test_init): New prototype.
25570 (grub_test_fini): Likewise.
f19dbdb7 25571
daac212a 25572 * normal/command.c: Include <grub/script.h>.
25573 (grub_command_execute): Rewritten.
f19dbdb7 25574
daac212a 25575 * util/grub-emu.c (main): Call `grub_test_init' and
25576 `grub_test_fini'.
25577
77500b2b 255782005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25579
25580 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25581 to 0.
25582 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25583 there are no pending characters.
25584
e45deb9e 255852005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25586
25587 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25588 `grub_strndup' to drop device arguments. Replace unnecessary
25589 `grub_strndup' with `grub_strdup'.
25590
4ce32619 255912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25592
25593 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25594 `debug' environment variable has been set.
25595
255962005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 25597
4ce32619 25598 * Makefile.in (install-local): Use $(DATA).
25599 (uninstall): Likewise.
25600 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25601 (sbin_UTILITIES): ... to here.
25602 (sbin_SCRIPTS): New variable.
25603 (grub_install_SOURCES): New variable.
25604 * util/powerpc/ieee1275/grub-install.in: New file.
25605 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25606 variable.
25607 (add_segments): Call `grub_util_get_path'.
25608
25fe6f03 256092005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25610
25611 From Timothy Baldwin:
25612 * commands/ls.c (grub_ls_list_files): Close FILE with
25613 grub_file_close.
25614 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25615
04ccf3ec 256162005-10-24 Marco Gerards <mgerards@xs4all.nl>
25617
25618 * include/grub/parser.h: New file.
25619
25620 * kern/parser.c: Likewise.
25621
25622 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25623 (grub_setup_SOURCES): Likewise.
25624 (grub_probefs_SOURCES): Likewise.
25625 (grub_emu_SOURCES): Likewise.
25626 (kernel_img_HEADERS): Add `parser.h'.
25627
25628 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25629 (grub_emu_SOURCES): Add `kern/parser.c'.
25630 (grubof_SOURCES): Likewise.
25631
25632 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25633 (grubof_SOURCES): Add `kern/parser.c'.
25634
25635 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25636
25637 * kern/misc.c (grub_split_cmdline): Removed function.
25638
25639 * kern/rescue.c: Include <grub/parser.h>.
25640 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25641 of `grub_split_cmdline'.
25642
25643 * normal/command.c: Include <grub/parser.h>.
25644 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25645 of `grub_split_cmdline'.
25646
25647 * normal/completion.c: Include <grub/parser.h>.
25648 (cmdline_state): New variable.
25649 (iterate_dir): End the filename with a quote depending on the
25650 command line state.
25651 (get_state): new function.
25652 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25653 split the arguments and determine the current argument. When the
25654 argument string is not quoted, escape all spaces.
25655
6d8f4b0e 256562005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25657
25658 * normal/sparc64/setjmp.S: New file.
25659
15cf03ed 256602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25661
25662 * include/grub/sparc64/libgcc.h: New file.
25663 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25664 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25665 normal/sparc64/setjmp.c.
25666
03e8661a 256672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25668
25669 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25670 * kern/sparc64/cache.S: New file.
25671 * kern/sparc64/cache.c: Removed.
25672 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25673 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25674 -mtune=ultrasparc.
25675 (COMMON_LDFLAGS): Add -melf64_sparc.
25676 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25677 (grubof_SOURCES): Use cache.S instead of cache.c.
25678 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25679 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25680 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25681 commented though.
25682 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25683 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25684 (linux_mod_CFLAGS): Commented out.
25685 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25686 out because module isn't built.
25687 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25688 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25689 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25690 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25691 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25692 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25693 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25694 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25695 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25696 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25697 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25698 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25699 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25700 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25701
34eeec8a 257022005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25703
25704 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25705 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25706 longer, because HFS should not be used on PC.
25707
708367a3 257082005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25709
25710 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25711 consistently within the loop.
25712
6fa1251a 257132005-10-15 Marco Gerards <mgerards@xs4all.nl>
25714
25715 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25716 directory can not be read.
25717
4801580b 257182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25719
25720 * configure.ac (AC_INIT): Increase the version number to 1.91.
25721
25722 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25723 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25724 term/i386/pc/serial.c.
25725
219ad426 257262005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25727
25728 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25729 file size must be permitted.
25730
25731 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25732 between %ah and %al.
25733
688e5699 257342005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25735
25736 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25737 grub_uint64_t.
25738 Call the hook with a NUL-terminated filename.
25739 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25740 grub_cpu_to_be32.
25741
25742 * kern/term.c (cursor_state): New variable.
25743 (grub_term_set_current): Reset the cursor state on a new
25744 terminal.
25745 (grub_setcursor): Rewritten to use CURSOR_STATE.
25746 (grub_getcursor): New function.
25747
25748 * include/grub/term.h (grub_getcursor): New prototype.
25749
25750 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25751 integers on ARM. Reported by Timothy Baldwin
25752 <T.E.Baldwin99@members.leeds.ac.uk>.
25753
bb34586c 257542005-10-11 Marco Gerards <mgerards@xs4all.nl>
25755
25756 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25757 allocated.
25758 (grub_sfs_dir): Likewise.
25759
9a909877 257602005-10-09 Marco Gerards <mgerards@xs4all.nl>
25761
25762 Add support for the SFS filesystem.
25763
25764 * fs/sfs.c: New file.
25765
25766 * DISTLIST: Added `fs/sfs.c'.
25767
25768 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25769 (grub_probefs_SOURCES): Likewise.
25770 (grub_emu_SOURCES): Likewise.
25771 (pkgdata_MODULES): Add `sfs.mod'.
25772 (sfs_mod_SOURCES): New variable.
25773 (sfs_mod_CFLAGS): Likewise.
25774 (sfs_mod_LDFLAGS): Likewise.
25775
25776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25777 (pkgdata_MODULES): Add `sfs.mod'.
25778 (sfs_mod_SOURCES): New variable.
25779 (sfs_mod_CFLAGS): Likewise.
25780
25781 * util/grub-emu.c (main): Call `grub_sfs_init' and
25782 `grub_sfs_fini'.
25783
25784 * include/grub/fs.h (grub_sfs_init): New prototype.
25785 (grub_sfs_fini): Likewise.
25786
57bdbde3 257872005-10-07 Marco Gerards <mgerards@xs4all.nl>
25788
25789 Add support for the AFFS filesystem.
25790
25791 * fs/affs.c: New file.
25792
25793 * DISTLIST: Added `fs/affs.c'.
25794
25795 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25796 (grub_probefs_SOURCES): Likewise.
25797 (grub_emu_SOURCES): Likewise.
25798 (pkgdata_MODULES): Add `affs.mod'.
25799 (affs_mod_SOURCES): New variable.
25800 (affs_mod_CFLAGS): Likewise.
25801 (affs_mod_LDFLAGS): Likewise.
25802
25803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25804 (pkgdata_MODULES): Add `affs.mod'.
25805 (affs_mod_SOURCES): New variable.
25806 (affs_mod_CFLAGS): Likewise.
25807
25808 * util/grub-emu.c (main): Call `grub_affs_init' and
25809 `grub_affs_fini'.
25810
25811 * include/grub/fs.h (grub_affs_init): New prototype.
25812 (grub_affs_fini): Likewise.
25813
047b67e0 258142005-10-01 Marco Gerards <mgerards@xs4all.nl>
25815
25816 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25817
59b8208a 258182005-10-01 Marco Gerards <mgerards@xs4all.nl>
25819
25820 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25821 `-m32' to CFLAGS.
25822
25823 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25824 linking.
f19dbdb7 25825
59b8208a 25826 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25827 (COMMON_LDFLAGS): New variable.
25828 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25829 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25830 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25831 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25832 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25833 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25834 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25835 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25836 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25837 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25838 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25839 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25840 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25841 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25842 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25843 variables.
25844 (normal_mod_ASFLAGS): Add `-m32'.
25845
25846 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25847 (grub_host_size_t, grub_host_ssize_t): New types.
25848 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 25849 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 25850 `GRUB_HOST_SIZEOF_VOID_P'.
25851
25852 * include/grub/kernel.h (struct grub_module_header): Type of
25853 member offset changed to `grub_host_off_t'. Type of member size
25854 changed to `grub_host_size_t'.
25855 (struct grub_module_info): Type of member offset changed to
25856 `grub_host_off_t'. Type of member size changed to
25857 `grub_host_size_t'.
25858
b4093103 258592005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25860
25861 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 25862
b4093103 25863 * kern/i386/pc/startup.S (multiboot_header): New label.
25864 (multiboot_entry): Likewise.
25865 (multiboot_trampoline): Likewise.
25866
25867 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25868 Increased to 0x4A0.
25869
25870 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25871 put parentheses after a question mark.
25872 [!GRUB_UTIL] (my_mod): New variable.
25873
25874 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25875
b2499b29 258762005-09-28 Marco Gerards <mgerards@xs4all.nl>
25877
25878 Adds support for the XFS filesystem. Btrees are not supported
25879 yet.
25880
25881 * fs/xfs.c: New file.
25882
25883 * DISTLIST: Added `fs/xfs.c'.
25884
25885 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25886 (grub_probefs_SOURCES): Likewise.
25887 (grub_emu_SOURCES): Likewise.
25888 (pkgdata_MODULES): Add `xfs.mod'.
25889 (xfs_mod_SOURCES): New variable.
25890 (xfs_mod_CFLAGS): Likewise.
25891
25892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25893 (pkgdata_MODULES): Add `xfs.mod'.
25894 (xfs_mod_SOURCES): New variable.
25895 (xfs_mod_CFLAGS): Likewise.
25896
25897 * util/grub-emu.c (main): Call `grub_xfs_init' and
25898 `grub_xfs_fini'.
25899
25900 * include/grub/fs.h (grub_xfs_init): New prototype.
25901 (grub_xfs_fini): Likewise.
25902
f19dbdb7 25903
83d37a62 259042005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25905
25906 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25907 color modes, allow greater than 16 colors to be configured as
25908 a default palette.
25909
47d2d65e 259102005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25911
25912 * normal/completion.c (complete_arguments): Add the qualifier
25913 const into OPTIONS.
25914
25915 From Omniflux <omniflux+lists@omniflux.com>:
25916 * include/grub/terminfo.h: New file.
25917 * include/grub/tparm.h: Likewise.
25918 * include/grub/i386/pc/serial.h: Likewise.
25919 * term/terminfo.c: Likewise.
25920 * term/tparm.c: Likewise.
25921 * term/i386/pc/serial.c: Likewise.
25922 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25923 serial.mod.
25924 (terminfo_mod_SOURCES): New variable.
25925 (terminfo_mod_CFLAGS): Likewise.
25926 (serial_mod_SOURCES): Likewise.
25927 (serial_mod_CFLAGS): Likewise.
25928
48b671ff 259292005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25930
25931 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25932 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25933 and kern/powerpc/ieee1275/cmain.c, respectively.
25934
25935 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25936 * kern/powerpc/ieee1275/crt0.S: ... here.
25937
25938 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25939 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 25940
48b671ff 25941 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25942 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25943 instead of boot/powerpc/ieee1275/crt0.S and
25944 boot/powerpc/ieee1275/cmain.c, respectively.
25945
25946 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25947 sectors. It was not used anyway.
25948
09fc77a7 259492005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25950
25951 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25952 `unused parameter' warning.
25953
003789c7 259542005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25955
25956 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25957 function.
25958 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25959 getcharwidth.
25960
67f44c86 259612005-08-28 Marco Gerards <metgerards@student.han.nl>
25962
25963 * include/grub/normal.h (enum grub_completion_type): Added
25964 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25965
25966 * normal/cmdline.c (print_completion): Handle
25967 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25968 * normal/menu_entry.c (store_completion): Likewise.
25969
25970 * normal/completion.c (complete_arguments): New function.
25971 (grub_normal_do_completion): Call `complete_arguments' when the
25972 current words start with a dash.
25973
0b5abe02 259742005-08-27 Marco Gerards <metgerards@student.han.nl>
25975
25976 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25977 `gzio.mod' instead of `io.mod').
25978
d9864ee1 259792005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25980
25981 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25982 (DISTDIRS): Added io and video.
25983 Rewrite the search routine to make an output consistently.
25984
25985 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25986 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25987 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25988 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25989 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25990 util/powerpc/ieee1275/misc.c.
f19dbdb7 25991
d9864ee1 25992 * include/grub/gzio.h: New file.
25993 * io/gzio.c: Likewise.
f19dbdb7 25994
d9864ee1 25995 * kern/file.c (grub_file_close): Call grub_device_close only if
25996 FILE->DEVICE is not NULL.
25997
25998 * include/grub/mm.h [!NULL] (NULL): New macro.
25999
26000 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
26001
26002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
26003 (pkgdata_MODULES): Added gzio.mod.
26004 (gzio_mod_SOURCES): New variable.
26005 (gzio_mod_CFLAGS): Likewise.
26006
26007 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
26008 (pkgdata_MODULES): Added gzio.mod.
26009 (gzio_mod_SOURCES): New variable.
26010 (gzio_mod_CFLAGS): Likewise.
26011
26012 * commands/cat.c: Include grub/gzio.h.
26013 (grub_cmd_cat): Use grub_gzfile_open instead of
26014 grub_file_open.
f19dbdb7 26015
d9864ee1 26016 * commands/cmp.c: Include grub/gzio.h.
26017 (grub_cmd_cmp): Use grub_gzfile_open instead of
26018 grub_file_open.
26019
26020 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
26021 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
26022 grub_file_open.
26023 (grub_rescue_cmd_module): Likewise.
26024
fa46f4b5 260252005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26026
26027 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
26028 kern/sparc64/ieee1275/init.c because it contains _start.
26029 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
26030
e9211b5d 260312005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26032
26033 * configure.ac: Add support for sparc64 host with ieee1275
26034 firmware.
26035 * configure: Generated from configure.ac.
26036 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
26037 instead of int.
26038 (grub_ofdisk_read): Likewise.
26039 (grub_ofdisk_open): Use %p to print pointer values, and cast the
26040 pointers as (void *) to remove a warning.
26041 (grub_ofdisk_close): Likewise.
26042 (grub_ofdisk_read): Likewise.
26043 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
26044 returns, so make it return void to remove a warning.
26045 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
26046 Corresponding prototype change.
26047 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
26048 values, and cast the pointers as (void *) to remove a warning.
26049 (grub_mm_dump): Likewise.
26050 * conf/sparc64-ieee1275.mk: New file.
26051 * conf/sparc64-ieee1275.rmk: Likewise.
26052 * include/grub/sparc64/setjmp.h: Likewise.
26053 * include/grub/sparc64/types.h: Likewise.
26054 * include/grub/sparc64/ieee1275/console.h: Likewise.
26055 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26056 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26057 * include/grub/sparc64/ieee1275/time.h: Likewise.
26058 * kern/sparc64/cache.c: Likewise.
26059 * kern/sparc64/dl.c: Likewise.
26060 * kern/sparc64/ieee1275/init.c: Likewise.
26061 * kern/sparc64/ieee1275/openfw.c: Likewise.
26062
385c6a92 260632005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26064
26065 * util/console.c (grub_ncurses_putchar): If C is greater than
26066 0x7f, set C to a question mark.
26067 (grub_ncurses_getcharwidth): New function.
26068 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
26069 getcharwidth.
26070
26071 * normal/menu.c (print_entry): Made aware of Unicode. First,
26072 convert TITLE to UCS-4, and predict the cursor position by
26073 grub_getcharwidth.
26074
26075 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
26076 const to SRC.
26077 * kern/misc.c (grub_utf16_to_utf8): Likewise.
26078
16ccb8b1 260792005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26080
26081 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
26082 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26083 grub_strcat.
26084
26085 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
26086 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26087 grub_strcpy and grub_strlen. Take it into account that a space
26088 character is inserted as a delimiter.
26089
6a85ce79 260902005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26091
26092 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 26093 invalid magic in the error.
6a85ce79 26094
26095 * commands/search.c: New file.
f19dbdb7 26096
6a85ce79 26097 * util/grub-emu.c (main): Call grub_search_init and
26098 grub_search_fini.
26099
26100 * kern/rescue.c (grub_rescue_print_disks): Removed.
26101 (grub_rescue_print_devices): New function.
26102 (grub_rescue_cmd_ls): Use grub_device_iterate with
26103 grub_rescue_print_devices instead of grub_disk_dev_iterate with
26104 grub_rescue_print_disks.
26105
26106 * kern/partition.c (grub_partition_iterate): Return the result of
26107 PARTMAP->ITERATE instead of GRUB_ERRNO.
26108
26109 * kern/device.c: Include grub/partition.h.
26110 (grub_device_iterate): New function.
26111
26112 * include/grub/partition.h (grub_partition_iterate): Return int
26113 instead of grub_err_t.
26114
26115 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
26116 prototype.
26117 [GRUB_UTIL] (grub_search_fini): Likewise.
26118
26119 * include/grub/device.h (grub_device_iterate): New prototype.
26120
26121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26122 commands/search.c.
26123 (pkgdata_MODULES): Added search.mod.
26124 (search_mod_SOURCES): New variable.
26125 (search_mod_CFLAGS): Likewise.
26126
26127 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
26128 (pkgdata_MODULES): Added search.mod.
26129 (search_mod_SOURCES): New variable.
26130 (search_mod_CFLAGS): Likewise.
26131
26132 * commands/ls.c (grub_ls_list_disks): Renamed to ...
26133 (grub_ls_list_devices): ... this, and use grub_device_iterate.
26134 All callers changed.
26135
26136 * DISTLIST: Added commands/search.c.
26137
ef095434 261382005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26139
26140 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
26141 conversion.
26142 (grub_getcharwidth): New function.
26143
26144 * kern/misc.c (grub_utf8_to_ucs4): New function.
26145
26146 * include/grub/term.h (struct grub_term): Added a new member
26147 "getcharwidth".
26148 (grub_getcharwidth): New prototype.
26149
26150 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
26151
26152 * term/i386/pc/console.c (map_char): New function. Segregated from
26153 grub_console_putchar.
26154 (grub_console_putchar): Use map_char.
26155 (grub_console_getcharwidth): New function.
26156 (grub_console_term): Specified grub_console_getcharwidth as
26157 getcharwidth.
26158
26159 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
26160 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
26161
26162 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
26163 GRUB_ERRNO.
26164 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
26165 on grub_strtoul completely.
26166 (write_char): Declare local variables in the beginning of the
26167 function.
26168 (grub_vesafb_getcharwidth): New function.
26169 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
26170 getcharwidth.
26171
1f0a95e4 261722005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
26173
26174 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
26175 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
26176 commands/i386/pc/vbetest.c.
26177
26178 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
26179 call grub_vbe_get_controller_info again, because the returned
26180 information is volatile.
26181 (grub_vbe_set_video_mode): Mostly rewritten.
26182 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
26183 grub_vbe_status_t correctly.
26184 (grub_vbe_get_video_mode_info): Likewise.
26185 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
26186 several if statements.
26187
26188 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
26189 * commands/i386/pc/vbeinfo.c: ... this.
26190
26191 * commands/i386/pc/vbe_test.c: Renamed to ...
26192 * commands/i386/pc/vbetest.c: ... this.
26193
26194 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
26195 ...
26196 (grub_cmd_vbeinfo): ... this. Save video modes before
26197 iterating. Skip a video mode, if it is not available, not enough
26198 information is given or it is monochrome. Show the memory
26199 model. Leave the interpretation of MODEVAR to grub_strtoul
26200 completely.
26201 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
26202 (GRUB_MOD_FINI): Likewise.
26203
26204 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
26205 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
26206 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
26207 duplicated grub_env_get. Leave the interpretation of MODEVAR to
26208 grub_strtoul completely.
26209 (real2pm): Removed.
26210 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
26211 (GRUB_MOD_FINI): Likewise.
26212
26213 * normal/misc.c: Include grub/mm.h.
26214
26215 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
26216 vbe_list_modes with vbetest.mod and vbeinfo.mod.
26217 (vbe_list_modes_mod_SOURCES): Removed.
26218 (vbe_list_modes_mod_CFLAGS): Likewise.
26219 (vbe_test_mod_SOURCES): Likewise.
26220 (vbe_test_mod_CFLAGS): Likewise.
26221 (vbeinfo_mod_SOURCES): New variable.
26222 (vbeinfo_mod_CFLAGS): Likewise.
26223 (vbetest_mod_SOURCES): Likewise.
26224 (vbetest_mod_CFLAGS): Likewise.
26225
992ffbbe 262262005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
26227
26228 * normal/misc.c: New file.
26229
26230 * DISTLIST: Added normal/misc.c.
f19dbdb7 26231
992ffbbe 26232 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
26233 DISK to HOOK. Call HOOK with DISK.
26234 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26235 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26236 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26237
26238 * normal/menu_entry.c (struct screen): Added a new member
26239 "completion_shown".
26240 (completion_buffer): New global variable.
26241 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
26242 (store_completion): New function.
26243 (complete): Likewise.
26244 (clear_completions): Likewise.
26245 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
26246 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
26247 a tab, call complete.
26248
26249 * normal/completion.c (disk_dev): Removed.
26250 (print_simple_completion): Likewise.
26251 (print_partition_completion): Likewise.
26252 (print_func): New global variable.
26253 (add_completion): Do not take the arguments WHAT or PRINT any
26254 longer. Added a new argument TYPE. Instead of printing directly,
26255 call PRINT_FUNC if not NULL.
26256 All callers changed.
26257 (complete_device): Use a local variable DEV instead of
26258 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26259 (grub_normal_do_completion): Take a new argument HOOK. Do not
26260 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26261 empty string, return NULL instead.
26262 All callers changed.
26263
26264 * normal/cmdline.c (print_completion): New function.
26265
26266 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26267 to HOOK.
26268 All callers changed.
26269
26270 * kern/disk.c (grub_print_partinfo): Removed.
26271
26272 * include/grub/partition.h (struct grub_partition_map): Add a new
26273 argument DISK into HOOK of ITERATE.
26274 (grub_partition_iterate): Add a new argument DISK to HOOK.
26275
26276 * include/grub/normal.h (enum grub_completion_type): New enum.
26277 (grub_completion_type_t): New type.
26278 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26279 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26280 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26281 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26282 (grub_normal_do_completion): Added a new argument HOOK.
26283 (grub_normal_print_device_info): New prototype.
26284
26285 * include/grub/disk.h (grub_print_partinfo): Removed.
26286
26287 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26288 (normal_mod_SOURCES): Likewise.
26289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26290 (normal_mod_SOURCES): Likewise.
26291
26292 * commands/ls.c (grub_ls_list_disks): Use
26293 grub_normal_print_device_info instead of grub_print_partinfo. Free
26294 PNAME.
26295 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26296 duplicating the code.
26297
0bd41162 262982005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26299
26300 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 26301 follow GCS more precisely.
26302 * commands/i386/pc/vbe_test.c: Likewise.
26303 * include/grub/i386/pc/vbe.h: Likewise.
26304 * term/i386/pc/vesafb.c: Likewise.
26305 * video/i386/pc/vbe.c: Likewise.
0bd41162 26306
6323696a 263072005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26308
26309 * DISTLIST: Added term/i386/pc/vesafb.c
26310 DISTLIST: Added video/i386/pc/vbe.c
26311 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26312 DISTLIST: Added commands/i386/pc/vbe_test.c.
26313 * commands/i386/pc/vbe_list_modes.c: New file.
26314 * commands/i386/pc/vbe_test.c: Likewise.
26315 * term/i386/pc/vesafb.c: Likewise.
26316 * video/i386/pc/vbe.c: Likewise.
26317 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26318 (grub_vbe_probe) Added prototype.
26319 (grub_vbe_set_video_mode) Likewise.
26320 (grub_vbe_get_video_mode) Likewise.
26321 (grub_vbe_get_video_mode_info) Likewise.
26322 (grub_vbe_set_pixel_rgb) Likewise.
26323 (grub_vbe_set_pixel_index) Likewise.
26324 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26325 (pkgdata_MODULES): Added vesafb.mod.
26326 (pkgdata_MODULES): Added vbe_list_modes.mod.
26327 (pkgdata_MODULES): Added vbe_test.mod.
26328 (vbe_mod_SOURCES): Added.
26329 (vbe_mod_CFLAGS): Likewise.
26330 (vesafb_mod_SOURCES): Likewise.
26331 (vesafb_mod_CFLAGS): Likewise.
26332 (vbe_list_modes_mod_SOURCES): Likewise.
26333 (vbe_list_modes_mod_CFLAGS): Likewise.
26334 (vbe_test_mod_SOURCES): Likewise.
26335 (vbe_test_mod_CFLAGS): Likewise.
26336
0a74e62f 263372005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26338
0a74e62f 26339 * normal/command.c (grub_command_execute): If INTERACTIVE is
26340 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26341 CMDLINE. Disable the pager if INTERACTIVE is true.
26342 All callers are changed.
26343
26344 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26345 before reading a config file.
26346 * normal/main.c (read_config_file): Even if a command is not
26347 found, register it if it is within an entry.
26348
26349 * util/grub-emu.c: Include sys/types.h and unistd.h.
26350 (options): Added --hold.
26351 (struct arguments): Added a new member "hold".
26352 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26353 missing.
26354 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26355 cleared by a debugger, if it is not zero.
26356
26357 * include/grub/normal.h (grub_command_execute): Add an argument
26358 INTERACTIVE.
26359
e51f85ae 263602005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26361
26362 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26363
e9c6f39b 263642005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26365
26366 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26367 program with another one, because the old one didn't detect a bug
26368 in gcc-3.4. Always use regparm 2, because the new test is still
26369 not enough for gcc-4.0. Someone must investigate a simple test
26370 case which detects a bug in gcc-4.0.
26371
8de3495c 263722005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26373
26374 * DISTLIST: Added normal/completion.c.
26375
26376 * normal/completion.c: New file.
f19dbdb7 26377
8de3495c 26378 * term/i386/pc/console.c (grub_console_getwh): New function.
26379 (grub_console_term): Assign grub_console_getwh to getwh.
26380
26381 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26382 function is defined in normal/completion.c as
26383 grub_normal_do_completion.
26384 (grub_cmdline_get): Use grub_normal_do_completion instead of
26385 grub_tab_complete.
26386
26387 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26388 returns non-zero, otherwise return 0.
26389 (grub_partition_iterate): First, probe the partition map. Then,
26390 call ITERATE only for this partition map.
26391
26392 * kern/misc.c (grub_strncmp): Rewritten.
26393
26394 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26395 returns non-zero. Otherwise return 0.
26396
26397 * include/grub/partition.h (grub_partition_map_iterate): Return
26398 int instead of void.
26399
26400 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26401
26402 * include/grub/misc.h (grub_strncmp): Change the type of N to
26403 grub_size_t.
26404
26405 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26406 of void.
26407
26408 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 26409 unsigned explicitly before comparing it with I.
8de3495c 26410
26411 * kern/main.c (grub_env_write_root): Add the attribute unused into
26412 VAR.
26413
26414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26415 normal/completion.c.
26416 (normal_mod_SOURCES): Likewise.
26417 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26418 (normal_mod_SOURCES): Likewise.
26419
26420 * normal/command.c (grub_iterate_commands): If ITERATE returns
26421 non-zero, return one immediately.
26422
e85e144b 264232005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26424
26425 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26426 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26427 descriptions.
26428 (grub_vbe_get_controller_info): New function.
26429 (grub_vbe_get_mode_info): Likewise.
26430 (grub_vbe_set_mode): Likewise.
26431 (grub_vbe_get_mode): Likewise.
26432 (grub_vbe_set_memory_window): Likewise.
26433 (grub_vbe_get_memory_window): Likewise.
26434 (grub_vbe_set_scanline_length): Likewise.
26435 (grub_vbe_get_scanline_length): Likewise.
26436 (grub_vbe_set_display_start): Likewise.
26437 (grub_vbe_get_display_start): Likewise.
26438 (grub_vbe_set_palette_data): Likewise.
26439 * include/grub/i386/pc/vbe.h: New file.
26440
c46153d2 264412005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26442
26443 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26444 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26445 * DISTLIST: Likewise.
26446 * kern/ieee1275/of.c: Moved to ...
26447 * kern/ieee1275/ieee1275.c: ... here.
26448
0cb90c45 264492005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26450
26451 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26452 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26453 Pass 0 as `end' parameter to grub_strtoul().
26454
a19fb360 264552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26456
26457 * include/grub/powerpc/ieee1275/console.h: Do not include
26458 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26459 ifdef.
26460 (grub_console_cur_color): Remove i386-specific prototype.
26461 (grub_console_real_putchar): Likewise.
26462 (grub_console_checkkey): Likewise.
26463 (grub_console_getkey): Likewise.
26464 (grub_console_getxy): Likewise.
26465 (grub_console_gotoxy): Likewise.
26466 (grub_console_cls): Likewise.
26467 (grub_console_setcursor): Likewise.
26468 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26469 Include <grub/machine/console.h>.
26470 * term/ieee1275/ofconsole.c: Likewise.
26471
4ac9bd04 264722005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26473
26474 * Makefile.in (LIBLZO): New variable.
26475
26476 * configure.ac: Check for LZO version 2.
26477
26478 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26479 lzo/lzo1x.h instead of lzo1x.h.
26480
26481 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26482 of -llzo.
26483
26484 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26485 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26486
26487 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26488 copying the data from PARTITION to P.
26489
f4917dfd 264902005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26491
26492 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26493 negative, unload the module.
26494
26495 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26496 map is "pc_partition_map" but not "pc".
26497 (usage): Fix the description. The options are --boot-image and
26498 --core-image but not --boot-file or --core-file.
26499 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26500 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26501 DEFAULT_DIRECTORY.
26502
26503 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26504 --core-file. Specify INSTALL_DEVICE as an argument.
26505
26506 * util/console.c: Include config.h.
26507 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26508 [HAVE_NCURSES_H]: Include ncurses.h.
26509 [HAVE_CURSES_H]: Include curses.h.
26510 [!A_NORMAL] (A_NORMAL): Defined as zero.
26511 [!A_STANDOUT] (A_STANDOUT): Likewise.
26512
26513 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26514 -lncurses.
26515 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26516
26517 * configure.ac: Check for curses libraries and headers.
26518
26519 * Makefile.in (LIBCURSES): New variable.
26520
26521 * genmk.rb (Script::rule): Set the executable bits.
26522
26523 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26524 name of the PC partition map is "pc_partition_map" but not "pc".
26525
0e143073 265262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26527
26528 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26529 (modules): Likewise.
26530 (usage): Added descriptions for --modules and --grub-probefs.
26531 Handle --modules and --grub-probefs. Save the arguments in MODULES
26532 and GRUB_PROBEFS, respectively.
26533 Auto-detect a filesystem module against GRUBDIR. If the result is
26534 empty and modules are not specified explicitly, abort the
26535 installation. Add the result to MODULES.
26536
26537 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26538 disk/powerpc/ieee1275/ofdisk.c,
26539 include/grub/powerpc/ieee1275/init.h and
26540 term/powerpc/ieee1275/ofconsole.c.
26541 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26542 term/ieee1275/ofconsole.c.
26543
26544 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26545
26546 * COPYING: Upgraded to the latest version. Only the address of the
26547 FSF office has changed.
f19dbdb7 26548
efd6e6d5 265492005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26550
26551 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26552 kern/ieee1275.c with kern/ieee1275/of.c.
26553
26554 * kern/ieee1275.c: Moved to ...
26555 * kern/ieee1275/of.c: ... here.
26556
8ceafda2 265572005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26558
26559 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 26560 readability.
8ceafda2 26561
26562 * config.guess: Updated to the latest version from gnulib.
26563 * config.sub: Likewise.
26564 * install.sh: Likewise.
26565 * mkinstalldirs: Likewise.
26566
26567 * include/grub/console.h: Removed. This file is arch-specific. Do
26568 not put this in include/grub.
26569
26570 * include/grub/i386/pc/console.h: Resurrected.
26571
26572 * util/console.c: Include grub/machine/console.h instead of
26573 grub/console.h.
26574 * util/grub-emu.c: Likewise.
26575
267f6cd9 265762005-08-04 Marco Gerards <metgerards@student.han.nl>
26577
26578 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26579 hardcoded value.
f19dbdb7 26580
267f6cd9 26581 From Vincent Pelletier <subdino2004@yahoo.fr>
26582 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26583 Redefined to use grub_getwh.
26584 (grub_term): New member named getwh.
26585 (grub_getwh): New prototype.
26586 * kern/term.c (grub_getwh): New function.
26587 * term/i386/pc/console.c (grub_console_getwh): New function.
26588 (grub_console_term): New member `getwh'.
26589 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26590 (grub_vga_term): New member `getwh'.
0b5abe02 26591 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 26592 grub_ssize_t.
26593 (grub_ofconsole_getw): New function.
26594 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26595 (grub_ofconsole_term): New field named getwh and new initial
26596 value.
26597
3be7266d 265982005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26599
26600 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26601 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26602 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26603 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26604 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26605 of <grub/machine/ieee1275.h>.
26606 * commands/ieee1275/reboot.c: Likewise.
26607 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26608 * kern/ieee1275.c: ... to here. All users updated. Change all
26609 parameter structs to use new type `grub_ieee1275_cell_t'.
26610 * term/powerpc/ieee1275/ofconsole.c: Move ...
26611 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26612 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26613 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26614 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26615 to return int.
26616 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26617 Remove unused prototypes. All users updated.
26618 * include/grub/powerpc/ieee1275/console.h: Removed.
26619 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26620 `grub_ieee1275_cell_t'.
26621 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26622 Cast comparisons with -1 to the correct type.
26623 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26624 type to match `grub_ieee1275_entry_fn'.
26625
8b5f3938 266262005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26627
26628 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26629
26630 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26631 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26632 partmap/sun.c.
26633 (grub_probefs_SOURCES): New variable.
26634
26635 * util/i386/pc/grub-probefs.c: New file.
26636
26637 * util/i386/pc/grub-setup.c (main): Call
26638 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26639 grub_hfs_init and grub_jfs_init to initialize the system. Call
26640 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26641 grub_pc_partition_map_fini to finish the system.
26642
ea409713 266432005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26644
26645 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26646 function.
26647 (grub_multiboot_load_elf32): Likewise.
26648 (grub_multiboot_is_elf64): Likewise.
26649 (grub_multiboot_load_elf64): Likewise.
26650 (grub_multiboot_load_elf): Likewise.
26651 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26652 an ELF32 or ELF64 file.
26653 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26654
26655 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26656 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26657 NULL before calling FS->LABEL.
26658 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26659 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26660 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26661 before calling FS->LABEL.
26662
141a288b 266632005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26664
26665 * util/i386/pc/grub-install.in (datadir): New variable.
26666 (libdir): Removed.
26667 (pkgdatadir): New variable.
26668 (pkglibdir): Removed.
26669
0d5f8a54 266702005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26671
26672 * DISTLIST: Added util/i386/pc/grub-install.in.
26673
26674 * util/i386/pc/grub-install.in: New file.
26675
26676 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26677 (grub_install_SOURCES): Likewise.
26678
26679 * genmk.rb: Added support for scripts.
26680 (Script): New class.
26681 (scripts): New variable.
26682
26683 * Makefile.in (install-local): Install sbin_SCRIPTS by
26684 INSTALL_SCRIPT.
26685 (uninstall): Remove sbin_SCRIPTS.
26686
26687 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26688 device, try to get a GRUB device by
26689 grub_util_biosdisk_get_grub_dev.
26690 Free DEST_DEV.
26691
26692 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26693 description for --device-map.
26694
5f968e1e 266952005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26696
26697 Change the semantics of variable hooks. They now return strings
26698 instead of error values.
f19dbdb7 26699
5f968e1e 26700 * util/i386/pc/grub-setup.c: Include grub/env.h.
26701 (setup): Use grub_device_set_root instead of grub_env_set.
26702
26703 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26704 grub_env_get instead of grub_device_set_root and
26705 grub_device_get_root, respectively.
26706
26707 * kern/main.c (grub_env_write_root): New function.
26708 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26709 grub_env_set instead of grub_device_set_root.
26710
26711 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26712 many variables.
26713 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26714 rather than calling ENV->WRITE_HOOK afterwards.
26715 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26716 passing a pointer of a pointer.
26717 (grub_register_variable_hook): Change the types of "read_hook" and
26718 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26719 respectively.
26720 Allocate the default empty string on the heap, because this string
26721 may be freed later.
26722
26723 * kern/device.c: Include grub/env.h.
26724 (grub_device_set_root): Removed.
26725 (grub_device_get_root): Likewise.
26726 (grub_device_open): Use grub_env_get instead of
26727 grub_device_get_root.
26728
26729 * include/grub/env.h (grub_env_read_hook_t): New type.
26730 (grub_env_write_hook_t): Likewise.
26731 (grub_env_var): Change the types of "read_hook" and "write_hook"
26732 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26733 (grub_register_variable_hook): Likewise.
26734
26735 * include/grub/device.h (grub_device_set_root): Removed.
26736 (grub_device_set_root): Likewise.
26737
26738 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26739 make sure that DIRNAME terminates with '/', so that
26740 grub_fat_find_dir will fail if PATH is not a directory.
26741
26742 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26743 from DIRNAME.
26744 Use the qualifier auto for print_files and print_files_long.
26745 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26746 as a regular file.
26747 Put a newline only if there is no error.
26748 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26749 used.
26750
896f0afd 267512005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26752
26753 * kern/partition.c (grub_partition_probe): Initialize PART to
26754 NULL. Otherwise, when no partition map is registered, this returns
26755 a garbage.
26756
b28b81b2 267572005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26758
26759 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26760 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26761 valid.
26762
5f3607e0 267632005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26764
26765 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26766 information on each device, if it does not have partitions. Print
26767 "Device" instead of "Disk", because this function is not specific
26768 to disk devices.
26769
26770 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26771 static to ensure that it is put on the memory rather than a
26772 register.
26773
502c87e8 267742005-07-17 Yoshinori Okuji <okuji@enbug.org>
26775
26776 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26777 (grub_cat_init): Likewise.
26778 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26779 (options): Likewise.
26780 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26781 (grub_configfile_init): Likewise.
26782 * font/manager.c (GRUB_MOD_INIT): Likewise.
26783 * commands/help.c (GRUB_MOD_INIT): Likewise.
26784 (grub_help_init): Likewise.
26785 * normal/command.c (grub_command_init): Likewise.
26786 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26787 * disk/loopback.c (grub_loop_init): Likewise.
26788 (GRUB_MOD_INIT): Likewise.
26789 * commands/ls.c (grub_ls_init): Likewise.
26790 (GRUB_MOD_INIT): Likewise.
26791 (options): Likewise.
26792 * commands/boot.c (grub_boot_init): Likewise.
26793 (GRUB_MOD_INIT): Likewise.
26794 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26795 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26796 (GRUB_MOD_INIT): Likewise.
26797 * commands/cmp.c (grub_cmp_init): Likewise.
26798 (GRUB_MOD_INIT): Likewise.
26799
26800 * normal/arg.c: Use <> instead of "" to include header files.
26801 (SHORT_ARG_HELP): New macro.
26802 (SHORT_ARG_USAGE): Likewise.
26803 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26804 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26805 descriptions.
26806 (find_short): Check if C is 'h' or 'u' explicitly.
26807 (grub_arg_show_help): Use space characters instead of tabs. Treat
26808 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26809 are shown with --help and --usage only if they are not used for
26810 the command itself.
26811 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26812 'h' and 'u'.
26813
26814 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26815 const into "longarg". Change the type of "shortarg" to int.
26816
f806d18e 268172005-07-17 Yoshinori Okuji <okuji@enbug.org>
26818
26819 * boot/i386/pc/boot.S (boot_drive_check): New label.
26820
26821 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26822 macro.
26823
26824 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26825 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26826
e293232b 268272005-07-17 Yoshinori Okuji <okuji@enbug.org>
26828
26829 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26830 When turning off Gate A20, skip the check and return immediately,
26831 because this is not fatal usually.
26832
ebedfd00 268332005-07-17 Yoshinori Okuji <okuji@enbug.org>
26834
26835 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26836 be 0x7C00 instead of 0x8000.
26837
26838 * boot/i386/pc/pxeboot.S: Rewritten.
26839
26840 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26841 EXT_C.
26842 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26843 result.
26844
654fc59f 268452005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26846
26847 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26848 robustness. This routine now supports a BIOS call and System
26849 Control Port A to modify the gate A20.
26850
26851 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26852 Increased to 0x440.
26853
09f9923f 268542005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26855
26856 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26857 device path and resulting ihandle.
26858 (grub_ofdisk_close): dprintf the ihandle being closed.
26859 (grub_ofdisk_read): dprintf function parameters.
26860 * kern/mm.c (grub_mm_init_region): Likewise.
26861 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26862 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26863 size, and boot arguments.
26864 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26865 before loading into memory.
26866 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26867 before loading into memory.
26868
7ef504d8 268692005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26870
26871 * kern/mm.c: Added much documentation.
26872 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26873 8, set to 5 instead of 8.
26874
e0f050c2 268752005-07-10 Yoshinori Okuji <okuji@enbug.org>
26876
26877 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26878
26879 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26880 (grub_mkdevicemap_SOURCES): New variable.
26881
26882 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26883 lib/device.c of GRUB Legacy.
26884
7224189a 268852005-07-10 Yoshinori Okuji <okuji@enbug.org>
26886
26887 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26888 instead of PATH is NULL.
26889
68c864eb 268902005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26891
26892 * commands/cmp.c (BUFFER_SIZE): New macro.
26893 (grub_cmd_cmp): Close the right file at the right time. Compare
26894 only data just read. Don't report files of different size as
26895 identical. Dynamically allocate buffers. Move variable
26896 declarations at the beginning of function.
26897
e6f3e614 268982005-07-09 Yoshinori Okuji <okuji@enbug.org>
26899
26900 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26901 reverse.
26902
f8f1559a 269032004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26904
26905 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26906 when backspace is pressed at beginning of line.
26907
39c9d41d 269082005-07-03 Yoshinori Okuji <okuji@enbug.org>
26909
26910 * DISTLIST: Added genfslist.sh.
26911
26912 * normal/main.c (fs_module_list): New variable.
26913 (autoload_fs_module): New function.
26914 (read_fs_list): Likewise.
26915 (grub_normal_execute): Call read_fs_list.
26916
26917 * kern/fs.c (grub_fs_autoload_hook): New variable.
26918 (grub_fs_probe): Added support for auto-loading.
26919
26920 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26921 (grub_fs_module_list_t): New type.
26922
26923 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26924 (grub_fs_autoload_hook): New prototype.
26925
26926 * genfslist.sh: New file.
f19dbdb7 26927
39c9d41d 26928 * genmk.rb: Added a rule to generate a filesystem list.
26929
121c1d83 269302005-06-30 Marco Gerards <metgerards@student.han.nl>
26931
26932 * configure.ac: Fix the test for cross-compiling.
26933
26934 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26935 define GRUB_UTIL anymore.
26936
26937 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26938 so this function works on other systems than just big endian.
26939 (load_modules): Likewise.
26940 (add_segments): Likewise.
26941
e75d76e1 269422005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26943
26944 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26945 contains `l' modifier, get a long from va_arg().
26946
50b5a0a7 269472005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26948
26949 * kern/mm.c (grub_free): If the next free block which is being
26950 merged is the first free block, set the first block to the block
26951 being freed.
26952 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26953
89371b20 269542005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26955
26956 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26957 `grub_ieee1275_chosen'.
26958
168d6e58 269592005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26960
26961 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26962 (grub_ieee1275_chosen): New variable.
26963 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26964 `chosen'.
26965 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26966 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26967 Rename first argument to `phandle' for consistency.
26968 (grub_ieee1275_get_property_length): Likewise.
26969 (grub_ieee1275_next_property): Likewise. Change type of first argument
26970 to grub_ieee1275_phandle_t.
26971 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26972 Move export next to declaration.
26973 (grub_ieee1275_chosen): New variable.
26974 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26975 Correct cosmetic typo.
26976 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26977 `grub_ieee1275_chosen'.
26978 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26979 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26980 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26981 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26982 `grub_ieee1275_chosen'.
26983
ca5baa3f 269842005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26985
26986 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26987 /chosen/bootargs.
26988 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26989 /chosen/bootargs as "variable=value" pairs.
26990
708b345f 269912005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26992
26993 * include/grub/misc.h (grub_dprintf): New macro.
26994 (grub_real_dprintf): New prototype.
26995 (grub_strword): Likewise.
26996 (grub_iswordseparator): Likewise.
26997 * kern/misc.c (grub_real_dprintf): New function.
26998 (grub_strword): Likewise.
26999 (grub_iswordseparator): Likewise.
27000
f4c5e67c 270012005-04-30 Hollis Blanchard <hollis@penguinppc.org>
27002
27003 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
27004 (roundup): Remove macro.
27005 (grub_ieee1275_flags): Make static.
27006 (grub_ieee1275_realmode): Remove.
27007 (grub_ieee1275_test_flag): New function.
27008 (grub_ieee1275_set_flag): Likewise.
27009 (find_options): Rename to `grub_ieee1275_find_options'; update
27010 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
27011 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
27012 (cmain): New prototype.
27013 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
27014 `grub_ieee1275_flags' directly.
27015 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
27016 machine/biosdisk.h.
27017 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
27018 Don't include grub/machine/init.h.
27019 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
27020 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27021 Remove prototype.
27022 (grub_ieee1275_realmode): Likewise.
27023 (grub_ieee1275_flag): New enum.
27024 (grub_ieee1275_test_flag): New prototype.
27025 (grub_ieee1275_set_flag): New prototype.
27026 * include/grub/powerpc/ieee1275/init.h: Remove file.
27027 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
27028 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
27029 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
27030 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
27031 comment.
27032 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
27033 `grub_ieee1275_test_flag'.
27034 (grub_ieee1275_encode_devname): Likewise.
27035
ed16607e 270362005-04-21 Hollis Blanchard <hollis@penguinppc.org>
27037
27038 * include/grub/powerpc/ieee1275/ieee1275.h
27039 (grub_ieee1275_encode_devname): New prototype.
27040 (grub_ieee1275_get_filename): Likewise.
27041 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
27042 function.
27043 (grub_set_prefix): Likewise.
27044 (grub_machine_init): Call grub_set_prefix.
27045 * kern/powerpc/ieee1275/openfw.c: Fix typos.
27046 (grub_parse_type): New enum.
27047 (grub_ieee1275_get_devargs): New function.
27048 (grub_ieee1275_get_devname): Likewise.
27049 (grub_ieee1275_parse_args): Likewise.
27050 (grub_ieee1275_get_filename): Likewise.
27051 (grub_ieee1275_encode_devname): Likewise.
27052
be369920 270532005-03-30 Marco Gerards <metgerards@student.han.nl>
27054
27055 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
27056 `grub_loader_unset'.
27057
a5ce3a4a 270582005-03-26 Hollis Blanchard <hollis@penguinppc.org>
27059
27060 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
27061 instead of grub_ieee1275_interpret.
27062 (grub_halt_init): New function.
27063 (grub_halt_fini): Likewise.
27064 (GRUB_MOD_INIT): Correct message grammar.
27065 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
27066 instead of grub_ieee1275_interpret.
27067 (grub_reboot_init): New function.
27068 (grub_reboot_fini): Likewise.
27069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
27070 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
27071 util/i386/pc/misc.c with commands/ieee1275/halt.c,
27072 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
27073 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
27074 function.
27075 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
27076 Add prototype.
27077 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
27078 prototype.
27079 (grub_halt): Likewise.
27080 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
27081 (cmain): Remove __attribute__((unused)).
27082 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
27083 (grub_heap_len): Likewise.
27084 (grub_machine_fini): New function.
27085 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
27086 (grub_halt): Likewise.
27087 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
27088 function.
27089 * util/powerpc/ieee1275/misc.c: New file.
27090
0058f771 270912005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27092
27093 * DISTLIST: New file.
27094 * gendistlist.sh: Likewise.
f19dbdb7 27095
0058f771 27096 * Makefile.in (COMMON_DISTFILES): Removed.
27097 (BOOT_DISTFILES): Likewise.
27098 (CONF_DISTFILES): Likewise.
27099 (DISK_DISTFILES): Likewise.
27100 (FS_DISTFILES): Likewise.
27101 (INCLUDE_DISTFILES): Likewise.
27102 (KERN_DISTFILES): Likewise.
27103 (LOADER_DISTFILES): Likewise.
27104 (TERM_DISTFILES): Likewise.
27105 (UTIL_DISTFILES): Likewise.
27106 (DISTFILES): Likewise.
27107 (uninstall): Uninstall files in $(pkgdata_DATA).
27108 (DISTLIST): New target.
27109 (distdir): Use the contents of the file DISTLIST to get a list of
27110 distributed files.
27111
46b3b8a5 271122005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27113
27114 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
27115 descriptor. This is ported from GRUB Legacy.
27116
27117 * gencmdlist.sh: Added an extra semicolon to make it work with
27118 old sed versions. Reported by Robert Bihlmeyer
27119 <robbe@orcus.priv.at>.
27120
5822ff87 271212005-03-08 Yoshinori Okuji <okuji@enbug.org>
27122
27123 Automatic loading of commands is supported.
f19dbdb7 27124
5822ff87 27125 * normal/main.c (read_command_list): New function.
27126 (grub_normal_execute): Call read_command_list.
27127
27128 * normal/command.c (grub_register_command): Return zero or CMD.
27129 Allocate CMD->NAME from the heap.
27130 Initialize CMD->MODULE_NAME to zero.
27131 Find the same name as well. If the same command is found and it is
27132 a dummy command, overwrite members. If it is not a dummy command,
27133 return zero.
27134 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
27135 (grub_command_find): If a dummy command is found, load a module
27136 and retry to find a command only once.
27137
27138 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
27139 make sure that each command is loaded.
27140
27141 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
27142 macro.
27143 (struct grub_command): Remove const from the member `name'.
27144 Add a new member `module_name'.
27145 (grub_register_command): Return grub_command_t.
27146
27147 * commands/help.c (grub_cmd_help): Call grub_command_find to make
27148 sure that each command is loaded.
27149
27150 * genmk.rb (PModule::rule): Specify a module name without the
27151 suffix ".mod" to gencmdlist.sh.
27152
7b1f4b57 271532005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27154
27155 * gencmdlist.sh: New file.
f19dbdb7 27156
7b1f4b57 27157 * genmk.rb (PModule::rule): Generate a rule for a command list.
27158 Clean command.lst.
27159 Generate command.lst from $(COMMANDFILES).
27160
27161 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
27162 (DATA): Added $(pkgdata_DATA).
27163 (install-local): Install files in $(pkgdata_DATA).
27164
062aaf39 271652005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27166
27167 * term/i386/pc/vga.c (debug_command): Removed.
27168 (GRUB_MOD_INIT): Do not register the command "debug".
27169
27170 From Hollis Blanchard:
27171 * commands/configfile.c: New file.
27172 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27173 commands/configfile.c.
27174 (pkgdata_MODULES): Added configfile.mod.
27175 (configfile_mod_SOURCES): New variable.
27176 (configfile_mod_CFLAGS): Likewise.
27177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27178 commands/configfile.c.
27179 (pkgdata_MODULES): Added configfile.mod.
27180 (configfile_mod_SOURCES): New variable.
27181 (configfile_mod_CFLAGS): Likewise.
27182 * util/grub-emu.c (main): Call grub_configfile_init and
27183 grub_configfile_fini.
27184 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
27185 prototype.
27186 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 27187
cee01aa6 271882005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27189
27190 * normal/arg.c (grub_arg_show_help): Do not show the bug report
27191 address.
27192
27193 * commands/help.c (grub_cmd_help): Do not print newlines after
27194 the last command in print_command_help.
27195
93f3a1d8 271962005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27197
27198 * commands/default.h: New file.
27199 * commands/timeout.h: Likewise.
27200 * normal/context.c: Likewise.
f19dbdb7 27201
93f3a1d8 27202 * util/misc.c: Do not include sys/times.h.
27203 Include sys/time.h and grub/machine/time.h.
27204 (grub_get_rtc): Rewritten with gettimeofday.
27205
27206 * util/grub-emu.c (main): Call grub_default_init and
27207 grub_timeout_init before grub_normal_init, and call
27208 grub_timeout_fini and grub_default_fini after grub_main.
27209
27210 * util/console.c (grub_ncurses_checkkey): Return the read
27211 character or -1.
27212
27213 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
27214 timeouts.
27215
27216 * normal/main.c (read_config_file): Push MENU. If this fails,
27217 print an error and wait for a user input.
27218 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
27219 If a menu is empty or an error occurs, pop MENU.
27220 (grub_normal_execute): Pop and free MENU after grub_menu_run
27221 returns.
27222
27223 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
27224
27225 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
27226 include time.h.
27227 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27228 without GRUB_UTIL.
27229 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
27230 time.h.
27231 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27232 without GRUB_UTIL.
27233
27234 * include/grub/normal.h (struct grub_menu_list): New struct.
27235 (grub_menu_list_t): New type.
27236 (struct grub_context): New struct.
27237 (grub_context_t): New type.
27238 (grub_register_command): Got rid of EXPORT_FUNC.
27239 (grub_unregister_command): Likewise.
27240 (grub_context_get): New prototype.
27241 (grub_context_get_current_menu): Likewise.
27242 (grub_context_push_menu): Likewise.
27243 (grub_context_pop_menu): Likewise.
27244 [GRUB_UTIL] (grub_default_init): Likewise.
27245 [GRUB_UTIL] (grub_default_fini): Likewise.
27246 [GRUB_UTIL] (grub_timeout_init): Likewise.
27247 [GRUB_UTIL] (grub_timeout_fini): Likewise.
27248
27249 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
27250 commands/timeout.c and normal/context.c.
27251 (pkgdata_MODULES): Added default.mod and timeout.mod.
27252 (normal_mod_SOURCES): Added normal/context.c.
27253 (default_mod_SOURCES): New variable.
27254 (default_mod_CFLAGS): Likewise.
27255 (timeout_mod_SOURCES): Likewise.
27256 (timeout_mod_CFLAGS): Likewise.
27257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27258 conf/i386-pc.rmk.
27259 (pkgdata_MODULES): Added default.mod and timeout.mod.
27260 (normal_mod_SOURCES): Added normal/context.c.
27261 (default_mod_SOURCES): New variable.
27262 (default_mod_CFLAGS): Likewise.
27263 (timeout_mod_SOURCES): Likewise.
27264 (timeout_mod_CFLAGS): Likewise.
27265
27266 * Makefile.in (all-local): Added $(MKFILES).
27267
4ed2e1dd 272682005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27269
27270 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27271 (grub_emu_SOURCES): Likewise.
27272 (pkgdata_MODULES): Add `sun.mod'.
27273 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27275 `partmap/sun.c'.
27276 (pkgdata_MODULES): Add `sun.mod'.
27277 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27278 * include/grub/partition.h (grub_sun_partition_map_init): New
27279 prototype.
27280 (grub_sun_partition_map_fini): Likewise.
27281 * partmap/sun.c: New file.
27282 * util/grub-emu.c (main): Initialize and de-initialize the sun
27283 partitionmap support.
27284
4d4e372e 272852005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27286
27287 This implements an Emacs-like menu entry editor.
f19dbdb7 27288
4d4e372e 27289 * normal/menu_entry.c: New file.
f19dbdb7 27290
4d4e372e 27291 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27292 characters to ASCII.
27293 (saved_char): New variable.
27294 (grub_ncurses_checkkey): Rewritten completely.
27295 (grub_ncurses_getkey): Likewise.
27296 (grub_ncurses_init): Call raw instead of cbreak.
27297
27298 * normal/menu.c (print_entry): Do not put a space.
27299 (init_page): Renamed to ...
27300 (grub_menu_init_page): ... this. All callers changed.
27301 (edit_menu_entry): Removed.
27302 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27303
27304 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27305
27306 * kern/misc.c (grub_vprintf): Call grub_refresh.
27307
27308 * normal/menu.c (DISP_LEFT): Renamed to ...
27309 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27310 * normal/menu.c (DISP_UP): Renamed to ...
27311 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27312 * normal/menu.c (DISP_RIGHT): Renamed to ...
27313 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27314 * normal/menu.c (DISP_DOWN): Renamed to ...
27315 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27316 * normal/menu.c (DISP_HLINE): Renamed to ...
27317 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27318 * normal/menu.c (DISP_VLINE): Renamed to ...
27319 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27320 * normal/menu.c (DISP_UL): Renamed to ...
27321 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27322 * normal/menu.c (DISP_UR): Renamed to ...
27323 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27324 * normal/menu.c (DISP_LL): Renamed to ...
27325 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27326 * normal/menu.c (DISP_LR): Renamed to ...
27327 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27328 * normal/menu.c (TERM_WIDTH): Renamed to ...
27329 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27330 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27331 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27332 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27333 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27334 * normal/menu.c (TERM_MARGIN): Renamed to ...
27335 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27336 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27337 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27338 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27339 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27340 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27341 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27342 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27343 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27344 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27345 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27346 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27347 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27348 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27349 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27350 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27351 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27352 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27353 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27354 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27355 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27356 All callers changed.
27357
27358 * include/grub/normal.h: New prototype.
27359
27360 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27361 normal/menu_entry.c.
27362 (normal_mod_SOURCES): Likewise.
27363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27364 (normal_mod_SOURCES): Likewise.
27365
e6b92c8a 273662005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27367
27368 * include/grub/normal.h (grub_halt_init): New prototype.
27369 (grub_halt_fini): Likewise.
27370 (grub_reboot_init): Likewise.
27371 (grub_reboot_fini): Likewise.
27372
27373 * util/grub-emu.c: Include signal.h.
27374 (main_env): New global variable.
27375 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27376 catch C-c.
27377 (grub_machine_fini): New function.
27378 (main): Call grub_halt_init and grub_reboot_init before
27379 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27380 Call setjmp with MAIN_ENV to go back afterwards.
27381 Call grub_machine_fini right before return.
27382
27383 * include/grub/util/misc.h: Include setjmp.h.
27384 (main_env): New prototype.
27385
27386 * include/grub/kernel.h (grub_machine_fini): New prototype.
27387 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27388 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27389
27390 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27391 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27392 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 27393
e6b92c8a 27394 * util/i386/pc/misc.c: New file.
f19dbdb7 27395
e6b92c8a 27396 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27397 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27398 commands/i386/pc/reboot.c.
27399
c642636f 274002005-02-14 Guillem Jover <guillem@hadrons.org>
27401
27402 * include/grub/dl.h (grub_dl_check_header): New prototype.
27403 (grub_arch_dl_check_header): Change return type to grub_err_t,
27404 remove size parameter and export function. Update all callers.
27405 * kern/dl.c (grub_dl_check_header): New function.
27406 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27407 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27408 are inside the core.
27409 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27410 independent ELF header checks.
27411 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27412 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27413 `grub_dl_check_header' instead of explicit checks. Check for the
27414 ELF type.
27415 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27416 `grub_dl_check_header' instead of explicit checks. Remove arch
27417 specific ELF header checks.
27418
e6b92c8a 27419 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27420 argument SIZE.
27421
5eabe94b 274222005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27423
27424 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27425 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27426
1b14a681 274272005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27428
27429 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 27430 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 27431 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 27432 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 27433 * partmap/amiga.c (amiga_partition_map_iterate): Return
27434 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27435 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27436
aca108aa 274372005-02-01 Guillem Jover <guillem@hadrons.org>
27438
27439 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27440 help info.
27441
c9f9c556 274422005-01-31 Marco Gerards <metgerards@student.han.nl>
27443
27444 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27445 Removed prototype.
27446 (grub_rescue_cmd_linux): New prototype.
27447 (grub_rescue_cmd_initrd): Likewise.
27448 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27449 `bi_rec'.
27450 (grub_linux_release_mem): Release the memory for the initrd.
27451 (grub_load_linux): Renamed from this...
27452 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27453 Changed `entry' not to be static. Loop over memory regions to
27454 find another one when the default fails.
27455 (grub_rescue_cmd_initrd): New function.
27456 (grub_linux_init): Remove function.
27457 (grub_linux_fini): Likewise.
27458 (GRUB_MOD_INIT): Register `initrd'.
27459 (GRUB_MOD_FINI): Unregister `initrd'.
27460 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27461 Function removed.
27462 (grub_linux_normal_fini): Likewise.
27463 (GRUB_MOD_INIT): Register `initrd'.
27464 (GRUB_MOD_FINI): Unregister `initrd'.
27465
990cf3aa 274662005-01-31 Marco Gerards <metgerards@student.han.nl>
27467
27468 * commands/help.c: New file.
27469 * normal/arg.c (show_help): Renamed to...
27470 (grub_arg_show_help): ... this.
27471 * commands/i386/pc/halt.c: New file.
27472 * commands/i386/pc/reboot.c: Likewise.
27473 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27474 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27475 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27476 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27477 variables.
27478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27479 `commands/help.c'.
27480 (pkgdata_MODULES): Add `help.mod'.
27481 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27482 * grub/i386/pc/init.h (grub_reboot): New prototype.
27483 (grub_halt): Likewise.
27484 * include/grub/normal.h (grub_arg_show_help): New prototype.
27485 (grub_help_init): Likewise.
27486 (grub_help_fini): Likewise.
27487 * util/grub-emu.c (main): Initialize and deinitialize the help
27488 command.
27489
27490 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27491
27492 * normal/command.c (grub_command_init): Fixed the description of
27493 the `set' and `unset' commands.
27494
274952005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 27496
27497 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27498 function.
27499 * commands/ieee1275/halt.c: New file.
27500 * commands/ieee1275/reboot.c: Likewise.
27501 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27502 `__attribute__ ((unused))'. Some GCS related fixed.
27503 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27504 (grub_suspend_fini): Likewise.
27505 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27506 and `halt.mod'.
27507 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27508 (halt_mod_CFLAGS): New variables.
27509 * include/grub/powerpc/ieee1275/ieee1275.h
27510 (grub_ieee1275_interpret): New prototype.
27511
1ab09cc7 275122005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27513
27514 * include/grub/misc.h (memmove): New prototype.
27515 (memcpy): Likewise.
27516
8b8cbdb2 275172005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27518
27519 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27520 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27521
e3741a27 275222005-01-22 Marco Gerards <metgerards@student.han.nl>
27523
27524 * kern/misc.c (grub_strndup): Function rewritten.
27525
776bd780 275262005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27527
27528 * normal/menu.c (TERM_WIDTH): Macro redefined.
27529 (TERM_TOP_BORDER_Y): Likewise.
27530 (draw_border): Replaced while-loop by a for-loop. Make the number
27531 of lines consistent with the number of lines displayed in
27532 print_entries. Added a margin below the rectangle.
27533 (print_entry): Make the entry fit in the rectangle.
27534 (print_entries): Display the scroll arrows next to the right
27535 border.
27536
78026bce 275372005-01-21 Marco Gerards <metgerards@student.han.nl>
27538
27539 * fs/minix.c (grub_minix_find_file): Reserve more space for
27540 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27541 `grub_strncpy' to copy `path' into it.
27542
67bbaf0f 275432005-01-21 Marco Gerards <metgerards@student.han.nl>
27544
27545 Add the loopback device, a device via which files can be accessed
27546 as devices.
f19dbdb7 27547
67bbaf0f 27548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27549 (pkgdata_MODULES): Add loopback.mod.
27550 (loopback_mod_SOURCES): New variable.
27551 (loopback_mod_CFLAGS): Likewise.
27552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27553 `disk/loopback.c'.
27554 (pkgdata_MODULES): Add loopback.mod.
27555 (loopback_mod_SOURCES): New variable.
27556 (loopback_mod_CFLAGS): Likewise.
27557 * disk/loopback.c: new file.
27558 * include/grub/normal.h (grub_loop_init): New prototype.
27559 (grub_loop_fini): New prototype.
27560 * util/grub-emu.c (main): Initialize and de-initialize loopback
27561 support.
27562 * include/grub/disk.h (grub_disk_dev_id): Add
27563 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27564
6f1c18bd 275652005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27566
27567 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27568 function.
27569 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27570 (suspend_mod_SOURCES): New variable.
27571 (suspend_mod_CFLAGS): Likewise.
27572 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27573 New prototype.
27574 * commands/ieee1275/suspend.c: New file.
27575
b38551da 275762005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27577
27578 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 27579 ((unused))' to `__attribute__ ((used))'.
b38551da 27580 (GRUB_MOD_FINI): Likewise.
27581 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27582 * genmk.rb (PModule): Assign space to common symbols when linking
27583 modules.
27584
777aff39 275852005-01-20 Marco Gerards <metgerards@student.han.nl>
27586
27587 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27588 `unsigned' arguments to `grub_size_t'.
27589 (grub_malloc): Likewise.
27590 (grub_realloc): Likewise.
27591 (grub_memalign): Likewise.
27592 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27593 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27594 * util/misc.c (grub_malloc): Likewise.
27595 (grub_realloc): Likewise.
27596 * kern/mm.c (get_header_from_pointer): Change the casts to
27597 `unsigned' into a cast to `grub_size_t'.
27598
27599 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27600 point to `currnode' when `currnode' is changed.
27601
27602 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27603 Schottelius <nico-linux@schottelius.org>.
27604
d0ff18e1 276052005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27606
27607 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27608 (note_path): Remove variable.
27609 (GRUB_IEEE1275_NOTE_NAME): New macro.
27610 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27611 (grub_ieee1275_note_hdr): New structure.
27612 (grub_ieee1275_note_desc): Likewise.
27613 (grub_ieee1275_note): Likewise.
27614 (load_note): Remove `dir' argument. All callers updated. Remove
27615 `note_img' and `path'. Do not load a file from `note_path'.
27616 Initialize a struct grub_ieee1275_note and write that to `out'.
27617 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27618
4ca7004c 276192005-01-05 Marco Gerards <metgerards@student.han.nl>
27620
27621 * util/misc.c (grub_util_read_image): Revert last change. It
27622 called `grub_util_read_at', which seeks from the beginning of the
27623 file.
27624
0b412211 276252005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27626
27627 * TODO: Add note about endianness in grub-mkimage.
27628 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27629 section.
27630 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27631 (grub_mkimage_SOURCES): New target.
27632 * include/grub/kernel.h (grub_start_addr): Remove variable.
27633 (grub_end_addr): Likewise.
27634 (grub_total_module_size): Likewise.
27635 (grub_kernel_image_size): Likewise.
27636 (GRUB_MODULE_MAGIC): New constant.
27637 (grub_module_info): New structure.
27638 (grub_arch_modules_addr): New prototype.
27639 (grub_get_end_addr): Remove prototype.
27640 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27641 * include/grub/powerpc/ieee1275/kernel.h: New file.
27642 * include/grub/util/misc.h (grub_util_get_fp_size): New
27643 prototype.
27644 (grub_util_read_at): Likewise.
27645 (grub_util_write_image_at): Likewise.
27646 * kern/main.c (grub_get_end_addr): Remove function.
27647 (grub_load_modules): Call grub_arch_modules_addr instead of using
27648 grub_end_addr. Look for a grub_module_info struct in memory. Use
27649 the grub_module_info fields instead of calling grub_get_end_addr
27650 as loop conditions. Move grub_add_unused_region code here.
27651 (grub_add_unused_region): Remove function.
27652 * kern/i386/pc/init.c: Include grub/cache.h.
27653 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27654 one call to add_mem_region.
27655 (grub_arch_modules_addr): New function.
27656 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27657 (grub_total_module_size): Likewise.
27658 Include grub/machine/kernel.h.
27659 (grub_arch_modules_addr): New function.
27660 * util/grub-emu.c (grub_end_addr): Remove variable.
27661 (grub_total_module_size): Likewise.
27662 (grub_arch_modules_addr): New function.
27663 * util/misc.c: Include unistd.h.
27664 (grub_util_get_fp_size): New function.
27665 (grub_util_read_at): Likewise.
27666 (grub_util_write_image_at): Likewise.
27667 (grub_util_read_image): Call grub_util_read_at.
27668 (grub_util_write_image): Call grub_util_write_image_at.
27669 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27670 additional memory in kernel_img for a struct grub_module_info.
27671 Fill in that grub_module_info.
27672 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27673
458786f8 276742005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27675
27676 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27677 New function.
27678 * include/grub/powerpc/ieee1275/ieee1275.h
27679 (grub_ieee1275_milliseconds): New prototype.
27680 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27681 Change to 1000.
27682 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27683 grub_ieee1275_milliseconds.
27684
ac507d1b 276852005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27686
27687 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27688 variable.
27689 (find_options): New function.
27690 (cmain): Call find_options.
27691 * include/grub/powerpc/ieee1275/ieee1275.h
27692 (grub_ieee1275_realmode): New extern variable.
27693 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27694 grub_map if grub_ieee1275_realmode is false.
27695
6b8fd1c4 276962004-12-29 Marco Gerards <metgerards@student.han.nl>
27697
27698 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27699 lines are inserted and make it work like readline. Reported by
27700 Vincent Pelletier <subdino2004@yahoo.fr>.
27701
8514a1e0 277022004-12-28 Marco Gerards <metgerards@student.han.nl>
27703
27704 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27705
27706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27707 `kern/powerpc/cache.S'.
27708
924b6140 277092004-12-27 Marco Gerards <metgerards@student.han.nl>
27710
27711 * genmk.rb: Handle the `Program' class in the main loop. Written
27712 by Johan Rydberg <jrydberg@gnu.org>.
27713 (Program): New class.
27714 (programs): New variable.
27715 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27716 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27717 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27718 (help_arch): Function removed.
27719 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27720 `powerpc/libgcc.h' and `loader.h'.
27721 (pkgdata_PROGRAMS): New variable.
27722 (sbin_UTILITIES): Variable removed.
27723 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27724 (grubof_SOURCES): Variable re-defined so it only includes the
27725 core functionality.
27726 (grubof_CFLAGS): Remove `-DGRUBOF'.
27727 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27728 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27729 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27730 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27731 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27732 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27733 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27734 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27735 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27736 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27737 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27738 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27739 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27740 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27741 (pc_mod_CFLAGS): New variables.
27742 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27743 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27744 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27745 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27746 Moved from here...
27747 * include/grub/i386/pc/init.h (grub_os_area_addr)
27748 (rub_os_area_size): ... to here.
27749 * include/grub/powerpc/ieee1275/ieee1275.h
27750 (grub_ieee1275_entry_fn): Export symbol.
27751 * include/grub/powerpc/ieee1275/init.h: New file.
27752 * include/grub/powerpc/libgcc.h: Likewise.
27753 * include/grub/cache.h: Likewise.
27754 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27755 <hollis@penguinppc.org>.
27756 * kern/dl.c: Include <grub/cache.h>.
27757 (grub_dl_flush_cache): New function.
27758 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27759 for this module.
27760 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27761 (grub_console_init): Removed prototypes.
27762 (grub_machine_init): Don't initialize the modules anymore.
27763 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27764 static.
27765 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27766 Macro undef removed.
27767 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27768 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27769 relocation `R_PPC_REL32'. Return an error when the relocation is
27770 unknown.
27771 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27772 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27773 * util/misc.c (grub_arch_sync_caches): Likewise.
27774
e4b47e0c 277752004-12-19 Marco Gerards <metgerards@student.han.nl>
27776
27777 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27778 `symlist.c', add `grubof_symlist.c'.
27779 (symlist.c): Variable removed.
27780 (grubof_HEADERS): Variable added.
27781 (grubof_symlist.c): New target.
27782 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27783 `kernel_img_HEADERS'.
27784 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27785 * kern/powerpc/dl.c: New file.
27786 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27787 Function removed.
27788 (grub_arch_dl_relocate_symbols): Likewise.
27789 (grub_register_exported_symbols): Likewise.
27790
4ceb3636 277912004-12-13 Marco Gerards <metgerards@student.han.nl>
27792
27793 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27794 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27795 to fail instead. Reported by Vincent Pelletier
27796 <subdino2004@yahoo.fr>.
27797
27798 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27799 it is not allocated. Reported by Vincent Pelletier
27800 <subdino2004@yahoo.fr>.
27801
27802 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27803 output so the output looks better.
f19dbdb7 27804
3f1578fe 278052004-12-04 Marco Gerards <metgerards@student.han.nl>
27806
27807 Modulize the partition map support and add support for the amiga
27808 partition map.
f19dbdb7 27809
3f1578fe 27810 * commands/ls.c: Include <grub/partition.h> instead of
27811 <grub/machine/partition.h>.
27812 * kern/disk.c: Likewise.
27813 * kern/rescue.c: Likewise.
27814 * loader/i386/pc/chainloader.c: Likewise.
27815 * normal/cmdline.c: Likewise.
27816 * kern/powerpc/ieee1275/init.c: Likewise.
27817 (grub_machine_init): Call `grub_pc_partition_map_init',
27818 `grub_amiga_partition_map_init' and
27819 `grub_apple_partition_map_init'.
27820 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27821 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27822 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27823 `partition.h' and `pc_partition.h'.
27824 (grub_setup_SOURCES): Remove
27825 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27826 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27827 (grub_emu_SOURCES): Likewise.
27828 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27829 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27830 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27832 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27833 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27834 (grubof_SOURCES): Likewise.
27835 * disk/i386/pc/partition.c: File removed.
27836 * disk/powerpc/ieee1275/partition.c: Likewise.
27837 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27838 * include/grub/i386/pc/partition.h: Likewise.
27839 * kern/partition.c: New file.
27840 * partmap/amiga.c: Likewise.
27841 * partmap/apple.c: Likewise.
27842 * partmap/pc.c: Likewise.
27843 * include/grub/partition.h: Likewise..
27844 * include/grub/pc_partition.h: Likewise.
27845 * util/grub-emu.c: Include <grub/partition.h> instead of
27846 <grub/machine/partition.h>.
27847 (main): Call `grub_pc_partition_map_init',
27848 `grub_amiga_partition_map_init' and
27849 `grub_apple_partition_map_init' and deinitialize afterwards.
27850 * util/i386/pc/biosdisk.c: Include `#include
27851 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27852 `<grub/machine/partition.h>'.
27853 * util/i386/pc/grub-setup.c: Likewise.
27854 * util/i386/pc/biosdisk.c: Likewise.
27855 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27856 partition information in case of a PC partition.
27857 * util/i386/pc/grub-setup.c: Include `#include
27858 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27859 `<grub/machine/partition.h>'.
27860 (setup): Only access the PC specific partition information in case
27861 of a PC partition.
27862
0ef4ced9 278632004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 27864
0ef4ced9 27865 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27866 (grub_longjmp): Likewise.
27867 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27868 20.
27869 * normal/powerpc/setjmp.S: New file.
27870 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27871 `normal/powerpc/setjmp.S'.
27872 (grubof_CFLAGS): Add `-DGRUBOF'.
27873 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27874 [GRUB_UTIL && !GRUBOF].
f19dbdb7 27875
19950e29 278762004-11-16 Marco Gerards <metgerards@student.han.nl>
27877
27878 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27879 property named `name'. Correctly handle the error returned by
27880 `grub_ieee1275_finddevice' if a device can not be opened.
27881
a2fea427 278822004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27883
27884 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27885 `actual' for negativity.
27886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27887 kern/fshelp.c.
27888
41ea0ea3 278892004-11-01 Marco Gerards <metgerards@student.han.nl>
27890
27891 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27892 (PAGE_OFFSET): New macro.
27893 (CRTC_ADDR_PORT): Likewise.
27894 (CRTC_DATA_PORT): Likewise.
27895 (START_ADDR_HIGH_REGISTER): Likewise.
27896 (START_ADDR_LOW_REGISTER): Likewise.
27897 (GRAPHICS_ADDR_PORT): Likewise.
27898 (GRAPHICS_DATA_PORT): Likewise.
27899 (READ_MAP_REGISTER): Likewise.
27900 (INPUT_STATUS1_REGISTER): Likewise.
27901 (INPUT_STATUS1_VERTR_BIT): Likewise.
27902 (page): New variable.
27903 (wait_vretrace): New function.
27904 (set_read_map): Likewise.
27905 (set_start_address): Likewise.
27906 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27907 the right page.
27908 (check_vga_mem): Take the page into account.
27909 (write_char): Likewise.
27910 (write_cursor): Likewise.
27911 (scroll_up): Likewise. Copy the page to the page that is not
27912 shown and switch between both pages.
27913 (grub_vga_putchar): Fix off by one error.
27914 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27915 account.
27916
ad0bd20b 279172004-11-01 Marco Gerards <metgerards@student.han.nl>
27918
27919 Add support for iso9660 (including rockridge).
f19dbdb7 27920
ad0bd20b 27921 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27922 (iso9660_mod_SOURCES): New variable.
27923 (iso9660_mod_CFLAGS): Likewise.
27924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27925 * include/grub/fs.h (grub_iso9660_init): New prototype.
27926 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27927 * fs/iso9660.c: New file.
27928
27929 * include/grub/misc.h (grub_strncat): New prototype.
27930 * kern/misc.c (grub_strncat): New function.
f19dbdb7 27931
ad0bd20b 27932 * fs/hfs.c (grub_hfs_mount): Translate the error
27933 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27934 * fs/jfs.c (grub_jfs_mount): Likewise.
27935 * fs/ufs.c (grub_ufs_mount): Likewise.
27936
a5477a59 279372004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27938
27939 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27940 which initialized BAT registers.
27941 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27942 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27943 Move from here...
27944 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27945 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27946 ... to here.
27947 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27948 (grub_mapclaim): Likewise.
27949 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27950 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27951 hand.
27952
9304c1f8 279532004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27954
27955 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27956 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27957 -ffreestanding and -msoft-float.
27958
86f4ae25 279592004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27960
27961 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27962 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27963 set in grub_ieee1275_flags.
27964
38912228 279652004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27966
27967 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27968 prototype.
27969 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27970 grub_console_init first.
27971 Change the memory range used for grub_ieee1275_claim and
27972 grub_mm_init_region.
27973 Print an error message if the claim fails.
27974 Include <grub/misc.h>.
27975
d1923dc8 279762004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27977
27978 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27979 Call grub_children_iterate for device nodes of type `scsi',
27980 `ide', or `ata'.
27981 (grub_ofdisk_open): Remove manual device alias resolution.
27982 Fix memory leak when device cannot be opened.
f19dbdb7 27983 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 27984 (grub_children_iterate): New prototype.
27985 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27986 New function.
27987 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27988 Return -1 if args.size was -1.
27989
4512e4f3 279902004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27991
27992 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27993 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27994 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27995 Open Firmware's memory for it; claim memory from _start to _end.
27996 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27997 (_end): New extern.
27998 (_start): Zero BSS from __bss_start to _end.
27999 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28000 New extern.
28001 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
28002
4d61feb0 280032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28004
ad0bd20b 28005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
28006 -1 if args.base was -1.
4d61feb0 28007
026fa2f9 280082004-10-08 Hollis Blanchard <hollis@penguinppc.org>
28009
28010 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
28011 escape sequence instead of a literal ^L. Also call
28012 grub_ofconsole_gotoxy.
28013
9f2220ef 280142004-10-03 Hollis Blanchard <hollis@penguinppc.org>
28015
28016 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
28017 void * arguments to grub_addr_t. All callers updated. Also make
28018 the `result' argument optional.
28019 (grub_ieee1275_release): change void * arguments to grub_addr_t.
28020 All callers updated.
28021
8a572cd7 280222004-09-22 Hollis Blanchard <hollis@penguinppc.org>
28023
28024 * commands/ls.c (grub_ls_list_files): Use the string following the
28025 initial ')', if present, as the filesystem path.
28026 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
28027
28028 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
28029
18aa81f2 280302004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
28031
28032 Make the source code of the menu interface more readable.
f19dbdb7 28033
18aa81f2 28034 * normal/menu.c: Include grub/mm.h.
28035 (TERM_WIDTH): New macro.
28036 (TERM_HEIGHT): Likewise.
28037 (TERM_INFO_HEIGHT): Likewise.
28038 (TERM_MARGIN): Likewise.
28039 (TERM_SCROLL_WIDTH): Likewise.
28040 (TERM_TOP_BORDER_Y): Likewise.
28041 (TERM_LEFT_BORDER_X): Likewise.
28042 (TERM_BORDER_WIDTH): Likewise.
28043 (TERM_MESSAGE_HEIGHT): Likewise.
28044 (TERM_BORDER_HEIGHT): Likewise.
28045 (TERM_NUM_ENTRIES): Likewise.
28046 (TERM_FIRST_ENTRY_Y): Likewise.
28047 (TERM_ENTRY_WIDTH): Likewise.
28048 (TERM_CURSOR_X): Likewise.
28049 (draw_border): Use macros instead of magic numbers.
28050 (print_entry): Likewise.
28051 (print_entries): Likewise.
28052 (run_menu): Likewise. Also, handle the key 'e'.
28053 (run_menu_entry): Ignore empty command lines.
28054 (print_message): Added a new argument EDIT. If EDIT is true,
28055 print a different message.
28056 (init_page): Likewise.
28057 (edit_menu_entry): New function. Not implemented yet.
28058
b47efe30 280592004-09-17 Marco Gerards <metgerards@student.han.nl>
28060
28061 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
28062 can be loaded from normal mode.
f19dbdb7 28063
b47efe30 28064 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
28065 `multiboot.mod'.
28066 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
28067 (multiboot_mod_CFLAGS): New variables.
28068 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 28069 * loader/i386/pc/multiboot_normal.c: Likewise.
28070
b47efe30 28071 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
28072 attribute `unused'.
f19dbdb7 28073
b47efe30 28074 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
28075 `fdiro' to read the mode information from instead of `diro'.
28076
28077 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
28078 looking up a symlink.
28079
28080 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
28081 macro.
28082 * normal/command.c (grub_command_execute): Don't parse the
28083 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
28084 flags of the command.
28085
28086 * normal/menu.c (grub_menu_run): Fix typo.
28087
da75ac71 280882004-09-14 Hollis Blanchard <hollis@penguinppc.org>
28089
28090 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
28091
28092 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
28093 `y + 1' instead of `y - 1'.
28094
28095 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 28096
062b24c2 280972004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
28098
28099 From Hollis Blanchard <hollis@penguinppc.org>:
28100 * kern/misc.c (memmove): New alias for grub_memmove.
28101 (memcmp): New alias for grub_memcmp.
28102 (memset): New alias for grub_memset.
f19dbdb7 28103 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 28104 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 28105 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 28106 (grub_ieee1275_get_property): Likewise.
f19dbdb7 28107
8ddad845 281082004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
28109
28110 Added normal mode command `chainloader' as module chain.mod, which
28111 depends on normal.mod and _chain.mod.
f19dbdb7 28112
8ddad845 28113 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
28114 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
28115 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
28116 Deleted prototype.
28117 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
28118 but arguments parsing moved to ...
28119 (grub_chainloader_cmd): ... here. New function.
28120 * include/grub/i386/pc/chainloader.h: New file.
28121 * loader/i386/pc/chainloader_normal.c: Likewise.
28122
2c1f4ce3 281232004-09-11 Marco Gerards <metgerards@student.han.nl>
28124
28125 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
28126 (grub_mkimage_LDFLAGS): Likewise.
28127 (grub_emu_SOURCES): Likewise.
28128 (kernel_img_HEADERS): Added fshelp.h.
28129 * fs/ext2.c: Include <grub/fshelp.h>.
28130 (FILETYPE_REG): New macro.
28131 (FILETYPE_INO_REG): Likewise.
28132 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
28133 Changed all users.
28134 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
28135 all users.
28136 (grub_fshelp_node): New struct.
28137 (grub_ext2_data): Added member `diropen'. Changed member `inode'
28138 to a pointer.
28139 (grub_ext2_get_file_block): Removed function.
28140 (grub_ext2_read_block): New function.
28141 (grub_ext2_read_file): Replaced parameter `data' by `node'.
28142 This function was written.
28143 (grub_ext2_mount): Read the root inode. Create a diropen struct.
28144 (grub_ext2_find_file): Removed function.
28145 (grub_ext2_read_symlink): New function.
28146 (grub_ext2_iterate_dir): Likewise.
28147 (grub_ext2_open): Rewritten.
28148 (grub_ext2_dir): Rewritten.
28149 * include/grub/fshelp.h: New file.
28150 * fs/fshelp.c: Likewise.
28151
3c52136a 281522004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
28153
28154 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
28155 (print_message): Add a missing newline.
28156 (run_menu): Added timeout support.
28157 (run_menu_entry): New local function.
28158 (grub_menu_run): Added support for booting.
28159
28160 * kern/loader.c (grub_loader_is_loaded): New function.
28161
28162 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
28163 (grub_get_rtc): Exported.
28164
28165 * include/grub/i386/pc/time.h: Include grub/symbol.h.
28166 (grub_get_rtc): Exported.
28167
28168 * include/grub/normal.h (struct grub_command_list): Remove
28169 constant from the member `command'.
28170
28171 * include/grub/loader.h (grub_loader_is_loaded): Declared.
28172
28173 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
28174
28175 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
28176
aa033560 281772004-08-28 Marco Gerards <metgerards@student.han.nl>
28178
28179 Add support for the JFS filesystem.
28180
28181 * fs/jfs.c: New file.
28182 * include/grub/fs.h (grub_jfs_init): New prototype.
28183 (grub_jfs_fini): New prototype.
28184 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
28185 (grub_emu_SOURCES): Likewise.
28186 (pkgdata_MODULES): Add jfs.mod.
28187 (jfs_mod_SOURCES): New variable.
28188 (jfs_mod_CFLAGS): Likewise.
28189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
28190 (grubof_SOURCES): Likewise.
28191 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
28192
28193 * fs/fat.c (grub_fat_find_dir): Convert the filename little
28194 endian to the host endian.
28195 (grub_fat_utf16_to_utf8): Move function from there...
28196 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 28197 the endianness of the source string anymore.
aa033560 28198 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
28199
94bc45af 282002004-08-24 Marco Gerards <metgerards@student.han.nl>
28201
28202 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
28203 (grub_boot_fini) [GRUB_UTIL]: Likewise.
28204 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
28205 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 28206
94bc45af 28207 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
28208 (grub_hfs_iterate_dir): Make the function static. Add prototypes
28209 for `node_found' and `it_dir'.
28210 (grub_hfs_dir): Add prototype for `dir_hook'.
28211
28212 * fs/minix.c (grub_minix_get_file_block): Add prototype for
28213 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
28214 and `indir32' to silence a gcc warning.
28215
28216 * include/grub/fs.h (grub_hfs_init): New prototype.
28217 (grub_hfs_fini): Likewise.
f19dbdb7 28218
28219
97543f08 282202004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
28221
28222 Each disk device has its own id now. This is useful to make use
28223 of multiple disk devices.
f19dbdb7 28224
97543f08 28225 * include/grub/disk.h (grub_disk_dev_id): New enum.
28226 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
28227 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
28228
28229 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
28230 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28231
28232 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
28233 GRUB_DISK_DEVICE_OFDISK_ID as an id.
28234
28235 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
28236 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28237
28238 * include/grub/disk.h (struct grub_disk_dev): Added a new member
28239 "id" which is used by the cache manager.
28240
28241 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
28242 of just "GRUB".
28243
64372eb4 282442004-08-18 Marco Gerards <metgerards@student.han.nl>
28245
28246 * fs/hfs.c: New file.
28247 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
28248 (grub_emu_SOURCES): Likewise.
28249 (pkgdata_MODULES): Add hfs.mod.
28250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
28251 (grubof_SOURCES): Likewise.
28252 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
28253
28254 * include/grub/misc.h (grub_strncasecmp): Add prototype.
28255 * kern/misc.c (grub_strncasecmp): Add function.
28256
cc61b58f 282572004-08-14 Marco Gerards <metgerards@student.han.nl>
28258
28259 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28260 with parentheses.
28261
28262 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28263 (grub_ext2_dir): In case the directory entry type is unknown, read
28264 it from the inode.
28265
0ef123f6 282662004-08-02 Peter Bruin <pjbruin@dds.nl>
28267
28268 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28269 grub_load_linux instead of grub_rescue_cmd_linux as second
28270 argument of grub_rescue_register_command.
28271
28272 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28273
a447c5df 282742004-07-27 Marco Gerards <metgerards@student.han.nl>
28275
28276 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28277 function.
28278 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28279 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28280 `loader/powerpc/ieee1275/linux.c',
28281 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28282 * include/grub/powerpc/ieee1275/ieee1275.h
28283 (grub_ieee1275_release): New prototype.
28284 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28285 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28286 normal, boot, linux and linux_normal.
28287 * loader/powerpc/ieee1275/linux.c: New file.
28288 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28289
5a9e3546 282902004-07-12 Marco Gerards <metgerards@student.han.nl>
28291
28292 * normal/arg.c (grub_arg_parse): Correct error handling after
28293 reallocating the argumentlist (check if `argl' is not null instead
28294 of checking if `args' is not null).
28295 * kern/mm.c (grub_realloc): Return the same pointer when using the
28296 same region, instead of returning the header address.
28297
e15199cb 282982004-07-11 Marco Gerards <metgerards@student.han.nl>
28299
28300 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28301 one block instead of two when looking for the initial partition.
28302 (grub_partition_probe): Initialize the local variable `p' with 0.
28303 Use base 10 for the grub_strtoul call.
28304 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28305 need for one local variable.
28306 (grub_strtoul): Don't add the new value to `num', instead of that
28307 just assign it.
28308
020616c2 283092004-07-11 Marco Gerards <metgerards@student.han.nl>
28310
28311 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28312 (pxeboot_img_SOURCES): New variable.
28313 (pxeboot_img_ASFLAGS): Likewise.
28314 (pxeboot_img_LDFLAGS): Likewise.
28315 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28316 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28317 <lode_leroy@hotmail.com>.
28318
6c51eb64 283192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28320
28321 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28322 there was no input.
28323
cfb12aff 283242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28325
28326 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28327 the history buffer logic.
28328
6eabba74 283292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28330
28331 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28332 (FILETYPE_INO_SYMLINK): New macros.
28333 (grub_ext2_find_file): Check if the node is a directory using the
28334 inode stat information instead of using the filetype in the
28335 dirent. Exclude the first character of an absolute symlink.
28336 (grub_ext2_dir): Mask out the filetype part of the mode member of
28337 the inode.
28338
66e19ef8 283392004-05-24 Marco Gerards <metgerards@student.han.nl>
28340
28341 Add support for UFS version 1 and 2. Add support for the minix
28342 filesystem version 1 and 2, both the variants with 14 and 30 long
28343 filenames.
f19dbdb7 28344
66e19ef8 28345 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28346 fs/minix.c.
28347 (grub_emu_SOURCES): Likewise.
28348 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28349 (ufs_mod_SOURCES): New variable.
28350 (ufs_mod_CFLAGS): Likewise.
28351 (minix_mod_SOURCES): Likewise.
28352 (minix_mod_CFLAGS): Likewise.
28353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28354 fs/minix.c.
28355 (grubof_SOURCES): Likewise.
28356 * fs/ufs.c: New file.
28357 * fs/minix.c: New file.
28358 * include/grub/fs.h (grub_ufs_init): New prototype.
28359 (grub_ufs_fini): Likewise.
28360 (grub_minix_init): Likewise.
28361 (grub_minix_fini): Likewise.
28362 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28363 minix fs.
28364
cc2e748a 283652004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28366
28367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28368 commands/ls.c, commands/terminal.c, commands/boot.c,
28369 commands/cmp.c and commands/cat.c.
28370 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28371
28372 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28373 "env.h"
28374
4b13b216 283752004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28376
28377 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28378 and grub_, respectively. Because the conversion is trivial and
28379 mechanical, I omit the details here. Please refer to the CVS
28380 if you need more information.
28381
6a142551 283822004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28383
28384 * include/pupa: Renamed to ...
28385 * include/grub: ... this.
28386 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28387 * util/i386/pc/grub-mkimage.c: ... this.
28388 * util/i386/pc/pupa-setup.c: Renamed to ...
28389 * util/i386/pc/grub-setup.c: ... this.
28390 * util/pupa-emu.c: Renamed to ...
28391 * util/grub-emu.c: ... this.
28392
e56cdf21 283932004-03-29 Marco Gerards <metgerards@student.han.nl>
28394
28395 Add support for the newworld apple macintosh (PPC). This has been
28396 tested on the powerbook 2000 only. It only adds support for
28397 generic ieee1275 functions, console and disk support. This should
28398 be easy to port to other architectures with support for Open
28399 Firmware.
f19dbdb7 28400
e56cdf21 28401 * configure.ac: Accept the powerpc as host_cpu. In the case of
28402 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28403 specific tests are only executed while building for the i386.
28404 Inverse test for crosscompile.
28405 * genmk.rb (Utility): Allow assembler files.
28406 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28407 * conf/powerpc-ieee1275.rmk: New file.
28408 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28409 * disk/powerpc/ieee1275/partition.c: Likewise.
28410 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28411 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28412 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28413 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28414 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28415 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28416 * include/pupa/powerpc/ieee1275/loader.h
28417 * include/pupa/powerpc/setjmp.h: Likewise.
28418 * include/pupa/powerpc/types.h: Likewise.
28419 * kern/powerpc/ieee1275/init.c: Likewise.
28420 * kern/powerpc/ieee1275/openfw.c: Likewise.
28421 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28422
28423 These files were written by Johan Rydberg
28424 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 28425
e56cdf21 28426 * boot/powerpc/ieee1275/cmain.c: New file.
28427 * boot/powerpc/ieee1275/crt0.S: Likewise.
28428 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28429 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28430
8c8cc205 284312004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28432
28433 * Makefile.in: Update copyright.
28434 * genmodsrc.sh: Likewise.
28435 * gensymlist.sh: Likewise.
28436 * term/i386/pc/vga.c: Indent correctly.
28437
28438 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28439 bugreporting address.
28440 * util/i386/pc/pupa-setup.c (usage): Likewise,
28441 (main): Call pupa_ext2_init and pupa_ext2_fini.
28442
f19dbdb7 28443 * fs/fat.c (log2): Renamed to ...
8c8cc205 28444 (fat_log2): ... this.
28445 All callers changed.
28446 * kern/misc.c (memcpy): Alias to pupa_memmove.
28447 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28448 lvalue cast.
28449 * util/console.c (pupa_ncurses_fini): Return 0.
28450
28451 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28452 Move fail label here.
28453 [__GNU__]: Don't warn when using stat.
28454 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28455 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28456 long int. Use strtol instead of strtoul.
f19dbdb7 28457
db1771cf 284582004-03-14 Marco Gerards <metgerards@student.han.nl>
28459
28460 * commands/boot.c: New file.
28461 * commands/cat.c: Likewise.
28462 * commands/cmp.c: Likewise.
28463 * commands/ls.c: Likewise.
28464 * commands/terminal.c: Likewise.
28465 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28466 (pupa_register_command): Changed interface to match the new
28467 argument parser.
28468 (pupa_command_execute): Changed (almost rewritten) so it uses
28469 pupa_split_command. Added support for setting variables using the
28470 syntax `foo=bar'.
28471 (rescue_command): Changed to work with the new argument parser.
28472 (terminal_command): Moved from here to commands/terminal.c.
28473 (set_command): New function.
28474 (unset_command): New function.
28475 (insmod_command): New function.
28476 (rmmod_command): New function.
28477 (lsmod_command): New function.
28478 (pupa_command_init): Don't initialize the command terminal
28479 anymore. Initialize the commands set, unset, insmod, rmmod and
28480 lsmod.
28481 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28482 (kernel_img_HEADERS): Add arg.h and env.h.
28483 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28484 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28485 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28486 normal/arg.c.
28487 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28488 terminal.mod.
28489 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28490 (boot_mod_SOURCES): New variable.
28491 (terminal_mod_SOURCES): Likewise.
28492 (ls_mod_SOURCES): Likewise.
28493 (cmp_mod_SOURCES): Likewise.
28494 (cat_mod_SOURCES): Likewise.
28495
28496 * normal/arg.c: New file.
28497 * kern/env.c: Likewise.
28498 * include/pupa/arg.h: Likewise.
28499 * include/pupa/env.h: Likewise.
28500 * font/manager.c (font_command): Changed to match argument parsing
28501 interface changes.
28502 (PUPA_MOD_INIT): Likewise.
28503 * hello/hello.c (pupa_cmd_hello): Likewise.
28504 (PUPA_MOD_INIT): Likewise.
28505 * include/pupa/disk.h: Include <pupa/device.h>.
28506 (pupa_print_partinfo): New prototype.
28507 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28508 (pupa_dl_get_prefix): Likewise.
28509 * include/pupa/misc.h: Include <pupa/err.h>.
28510 (pupa_isgraph): New prototype.
28511 (pupa_isdigit): Likewise.
28512 (pupa_split_cmdline): Likewise.
28513 * include/pupa/normal.h: Include <pupa/arg.h>.
28514 (pupa_command): Changed the prototype of the member `func' to
28515 match the argument parsing interface. Added member `options'.
28516 (pupa_register_command): Updated to match function.
28517 (pupa_arg_parse): New prototype.
28518 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28519 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28520 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28521 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28522 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28523 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28524 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28525 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28526 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28527 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28528 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28529 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28530 * kern/disk.c: Include <pupa/file.h>.
28531 (pupa_print_partinfo): New function.
28532 * kern/dl.c: Include <pupa/env.h>.
28533 (pupa_dl_dir): Variable removed.
28534 (pupa_dl_load): Use the environment variable `prefix' instead of
28535 the variable pupa_dl_dir.
28536 (pupa_dl_set_prefix): Function removed.
28537 (pupa_dl_get_prefix): Likewise.
28538 * kern/i386/pc/init.c: Include <pupa/env.h>.
28539 (pupa_machine_init): Use the environment variable `prefix' instead of
28540 using pupa_dl_set_prefix to set the prefix.
28541 * kern/main.c: Include <pupa/env.h>.
28542 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28543 using pupa_dl_get_prefix to get the prefix.
28544 * kern/misc.c: Include <pupa/env.h>.
28545 (pupa_isdigit): New function.
28546 (pupa_isgraph): Likewise.
28547 (pupa_ftoa): Likewise.
28548 (pupa_vsprintf): Added support for printing values of the type
28549 `double'. Make it possible to format variable output when using
28550 formatting like `%1.2%f'.
28551 (pupa_split_cmdline): New function.
28552 * kern/rescue.c: Include <pupa/env.h>.
28553 (next_word): Removed function.
28554 (pupa_rescue_cmd_prefix): Likewise.
28555 (pupa_rescue_cmd_set): New function.
28556 (pupa_rescue_cmd_unset): New function.
28557 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28558 split the command line instead of splitting it here. Added
28559 support for setting variables using the syntax `foo=bar'. Don't
28560 initialize the prefix command anymore. Initialized the set and
28561 unset commands.
28562 * normal/cmdline.c: Include <pupa/env.h>.
28563 (pupa_tab_complete): Added prototypes for print_simple_completion,
28564 print_partition_completion, add_completion, iterate_commands,
28565 iterate_dev, iterate_part and iterate_dir. Moved code to print
28566 partition information from here to kern/disk.c.
fe6b695a 28567 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 28568 * normal/main.c: Include <pupa/env.h>.
28569 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28570 instead of using pupa_dl_get_prefix to get the prefix.
28571 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28572 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28573 warning.
28574 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28575 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28576 ((unused))' to silence a gcc warning.
28577 (pupa_vga_setcolor): Likewise.
28578 (debug_command): Changed to match argument parsing
28579 interface changes.
28580 * util/pupa-emu.c: Include <pupa/env.h>.
28581 (options): Added 0's for unused fields to silence a gcc warning.
28582 (argp): Likewise.
28583 (main): Use the environment variable `prefix' instead of using
28584 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28585 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28586 and terminal.
28587
28588 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28589 * util/misc.c: Include <malloc.h>.
28590 (pupa_malloc): Rewritten so errors are correctly reported.
28591 (pupa_realloc): Likewise.
28592 (pupa_memalign): Likewise.
28593 (pupa_mm_init_region): Declare unused variables with
28594 `__attribute__ ((unused))' to silence a gcc warning.
28595 * normal/i386/setjmp.S: Remove tab at the end of the file to
28596 silence a gcc warning.
28597 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28598 variables with `__attribute__ ((unused))' to silence a gcc
28599 warning.
28600 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28601 local variable i unsigned to silence a gcc warning.
28602
28603 * kern/term.c: Include <pupa/misc.h>.
28604 (pupa_more_lines): New variable.
28605 (pupa_more): Likewise.
28606 (pupa_putcode): When the pager is active pause at the end of every
28607 screen.
28608 (pupa_set_more): New function.
28609 * include/pupa/term.h (pupa_set_more): New prototype.
28610
28611
3b1139cb 286122004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28613
28614 Now this project is GRUB 2 rather than PUPA. The location of
28615 the CVS repository was moved to GRUB's.
f19dbdb7 28616
3b1139cb 28617 * configure.ac: Use bug-grub as the reporting address.
28618 Use GRUB instead of PUPA.
28619 Change the version number to 1.90.
28620
8367695c 286212004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28622
28623 * genkernsyms.sh: Updated copyright information.
28624 * genmk.rb: Likewise.
28625 * genmodsrc.sh: Likewise.
28626 * gensymlist.sh: Likewise.
28627 * boot/i386/pc/boot.S: Likewise.
28628 * boot/i386/pc/diskboot.S: Likewise.
28629 * disk/i386/pc/biosdisk.c: Likewise.
28630 * disk/i386/pc/partition.c: Likewise.
28631 * font/manager.c: Likewise.
28632 * fs/ext2.c: Likewise.
28633 * fs/fat.c: Likewise.
28634 * include/pupa/boot.h: Likewise.
28635 * include/pupa/device.h: Likewise.
28636 * include/pupa/disk.h: Likewise.
28637 * include/pupa/dl.h: Likewise.
28638 * include/pupa/elf.h: Likewise.
28639 * include/pupa/err.h: Likewise.
28640 * include/pupa/file.h: Likewise.
28641 * include/pupa/font.h: Likewise.
28642 * include/pupa/fs.h: Likewise.
28643 * include/pupa/kernel.h: Likewise.
28644 * include/pupa/loader.h: Likewise.
28645 * include/pupa/misc.h: Likewise.
28646 * include/pupa/mm.h: Likewise.
28647 * include/pupa/net.h: Likewise.
28648 * include/pupa/normal.h: Likewise.
28649 * include/pupa/rescue.h: Likewise.
28650 * include/pupa/setjmp.h: Likewise.
28651 * include/pupa/symbol.h: Likewise.
28652 * include/pupa/term.h: Likewise.
28653 * include/pupa/types.h: Likewise.
28654 * include/pupa/i386/setjmp.h: Likewise.
28655 * include/pupa/i386/types.h: Likewise.
28656 * include/pupa/i386/pc/biosdisk.h: Likewise.
28657 * include/pupa/i386/pc/boot.h: Likewise.
28658 * include/pupa/i386/pc/console.h: Likewise.
28659 * include/pupa/i386/pc/init.h: Likewise.
28660 * include/pupa/i386/pc/kernel.h: Likewise.
28661 * include/pupa/i386/pc/linux.h: Likewise.
28662 * include/pupa/i386/pc/loader.h: Likewise.
28663 * include/pupa/i386/pc/memory.h: Likewise.
28664 * include/pupa/i386/pc/multiboot.h: Likewise.
28665 * include/pupa/i386/pc/partition.h: Likewise.
28666 * include/pupa/i386/pc/time.h: Likewise.
28667 * include/pupa/i386/pc/vga.h: Likewise.
28668 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28669 * include/pupa/util/getroot.h: Likewise.
28670 * include/pupa/util/misc.h: Likewise.
28671 * include/pupa/util/resolve.h: Likewise.
28672 * kern/device.c: Likewise.
28673 * kern/disk.c: Likewise.
28674 * kern/dl.c: Likewise.
28675 * kern/err.c: Likewise.
28676 * kern/file.c: Likewise.
28677 * kern/fs.c: Likewise.
28678 * kern/loader.c: Likewise.
28679 * kern/main.c: Likewise.
28680 * kern/misc.c: Likewise.
28681 * kern/mm.c: Likewise.
28682 * kern/rescue.c: Likewise.
28683 * kern/term.c: Likewise.
28684 * kern/i386/dl.c: Likewise.
28685 * kern/i386/pc/init.c: Likewise.
28686 * kern/i386/pc/lzo1x.S: Likewise.
28687 * kern/i386/pc/startup.S: Likewise.
28688 * loader/i386/pc/chainloader.c: Likewise.
28689 * loader/i386/pc/linux.c: Likewise.
28690 * loader/i386/pc/multiboot.c: Likewise.
28691 * normal/cmdline.c: Likewise.
28692 * normal/command.c: Likewise.
28693 * normal/main.c: Likewise.
28694 * normal/menu.c: Likewise.
28695 * normal/i386/setjmp.S: Likewise.
28696 * term/i386/pc/console.c: Likewise.
28697 * term/i386/pc/vga.c: Likewise.
28698 * util/console.c: Likewise.
28699 * util/genmoddep.c: Likewise.
28700 * util/misc.c: Likewise.
28701 * util/pupa-emu.c: Likewise.
28702 * util/resolve.c: Likewise.
28703 * util/unifont2pff.rb: Likewise.
28704 * util/i386/pc/biosdisk.c: Likewise.
28705 * util/i386/pc/getroot.c: Likewise.
28706 * util/i386/pc/pupa-mkimage.c: Likewise.
28707 * util/i386/pc/pupa-setup.c: Likewise.
28708
e6eced71 287092004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28710
28711 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28712 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28713 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28714 reading and reset it after reading.
28715 (pupa_ext2_close): Return PUPA_ERR_NONE.
28716
28717 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28718 Correct value.
28719 (struct linux_kernel_header): Add kernel_version and
28720 initrd_addr_max.
28721 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28722 pupa_file_read succeeds.
28723 (pupa_rescue_cmd_initrd): Implement.
28724
5aded270 287252003-12-03 Marco Gerards <metgerards@student.han.nl>
28726
28727 * fs/ext2.c (pupa_ext2_label): New function.
28728 (pupa_ext2_fs): Added label.
28729 * fs/fat.c (pupa_fat_label): New function.
28730 (pupa_fat_fs): Added label.
28731 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28732
28733 * kern/misc.c (pupa_strndup): New function.
28734 * include/pupa/misc.h (pupa_strndup): New prototype.
28735
28736 * include/pupa/normal.h: Include <pupa/err.h>.
28737 (pupa_set_history): New prototype.
28738 (pupa_iterate_commands): New prototype.
28739 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28740 <pupa/disk.h>, <pupa/file.h>.
28741 (hist_size): New variable.
28742 (hist_lines): Likewise.
28743 (hist_end): Likewise.
28744 (hist_used): Likewise.
28745 (pupa_set_history): New function.
28746 (pupa_history_get): Likewise.
28747 (pupa_history_add): Likewise.
28748 (pupa_history_replace): Likewise.
28749 (pupa_tab_complete): Likewise.
28750 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28751 completion shows partitionnames while completing partitions, this
28752 feature was suggested by Jeff Bailey.
28753 * normal/command.c (pupa_iterate_commands): New function.
28754 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28755 (pupa_normal_init): Initialize history buffer.
28756 (PUPA_MOD_INIT): Likewise.
28757 (pupa_normal_fini): Free the history buffer.
28758 (PUPA_MOD_FINI): Likewise.
28759
28760 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28761 key.
28762
28763 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28764 * configure.ac [i386]: Check for regparam bug.
28765 (NESTED_FUNC_ATTR) [! i386]: Defined.
28766
1f7315a3 287672003-11-17 Marco Gerards <metgerards@student.han.nl>
28768
28769 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28770 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28771 (pupa_emu_SOURCES): New variable.
28772 (pupa_emu_LDFLAGS): Likewise.
28773 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28774 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28775 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28776 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28777 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28778 (pupa_jmp_buf): New typedef.
28779 (pupa_setjmp) [PUPA_UTIL]: New macro.
28780 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28781 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28782 (pupa_refresh): New prototype.
28783 * include/pupa/util/getroot.h: New file.
28784 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28785 it.
28786 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28787 (pupa_rescue_cmd_cat): Likewise.
28788 (pupa_rescue_cmd_ls): Likewise.
28789 (pupa_rescue_cmd_testload): Likewise.
28790 (pupa_rescue_cmd_lsmod): Likewise.
28791 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28792 * normal/menu.c (run_menu): Likewise.
28793 * kern/term.c (pupa_cls): Likewise.
28794 (pupa_refresh): New function.
28795 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28796 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28797 * util/console.c: New file.
f19dbdb7 28798
1f7315a3 28799 * util/i386/pc/getroot.c: New file.
28800 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28801 (pupa_putchar): New function.
28802 (pupa_refresh): Likewise.
28803 (xgetcwd): Function moved to ...
28804 (strip_extra_slashes): Likewise.
28805 (get_prefix): Likewise.
f19dbdb7 28806 * util/i386/pc/getroot.c: ... here.
1f7315a3 28807 (find_root_device): Function moved and renamed to...
28808 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28809 Changed all callers.
28810 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28811 and renamed to...
28812 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28813 Changed all callers.
28814 * util/misc.c (pupa_memalign): New function.
28815 (pupa_mm_init_region): Likewise.
28816 (pupa_register_exported_symbols): Likewise.
28817 (pupa_putchar): Function removed.
28818 * util/pupa-emu.c: New file.
28819
9a5c1ade 288202003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28821
28822 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28823 (_multiboot_mod_SOURCES): New variable.
28824 (_multiboot_mod_CFLAGS): Likewise.
28825 * loader/i386/pc/multiboot.c: New file.
28826 * include/pupa/i386/pc/multiboot.h: Likewise.
28827 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28828 (pupa_multiboot_real_boot): New function.
28829 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28830 (pupa_multiboot_real_boot): New prototype.
28831 (pupa_rescue_cmd_multiboot): Likewise
28832 (pupa_rescue_cmd_module): Likewise.
28833
28834 * kern/loader.c (pupa_loader_set): Continue when
28835 pupa_loader_unload_func() fails.
28836 (pupa_loader_unset): New function.
28837 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28838
28839 * kern/misc.c (pupa_stpcpy): New function.
28840 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28841
8e72a9c0 288422003-11-12 Marco Gerards <metgerards@student.han.nl>
28843
28844 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28845 for available extensions.
28846
28847 * include/pupa/i386/pc/time.h: New file.
28848 * kern/disk.c: Include <pupa/machine/time.h>.
28849 (PUPA_CACHE_TIMEOUT): New macro.
28850 (pupa_last_time): New variable.
28851 (pupa_disk_open): Flush the cache when there was a timeout.
28852 (pupa_disk_close): Reset the timer.
28853 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28854 pupa_currticks.
28855 * util/misc.c: Include <sys/times.h>
28856 (pupa_get_rtc): New function.
28857
c4adbd32 288582003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28859
28860 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28861 as blocks.
28862 (pupa_ext2_get_file_block): Use blocks member.
28863
28864 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28865 first block. Return -1 instead of pupa_errno on error.
28866
bfd30f06 288672003-10-27 Marco Gerards <metgerards@student.han.nl>
28868
28869 * README: In the pupa-mkimage example use _chain instead of chain
28870 and ext2 instead of fat.
28871 * TODO: Replace ext2fs with jfs as an example. Add an item for
28872 adding journal playback for ext2fs.
28873 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28874 (pkgdata_MODULES): Added ext2.mod.
28875 (ext2_mod_SOURCES): New variable.
28876 (ext2_mod_CFLAGS): Likewise.
28877 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28878 * include/pupa/misc.h (pupa_strncpy): New prototype.
28879 (pupa_strcat): Likewise.
28880 (pupa_strncmp): Likewise.
28881 * kern/misc.c (pupa_strcat): Enable function.
28882 (pupa_strncpy): New function.
28883 (pupa_strncmp): Likewise.
28884 * fs/ext2.c: New file.
f19dbdb7 28885
bfd30f06 28886 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28887 when the read failed before retrying.
28888 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28889 (_FILE_OFFSET_BITS): Likewise.
28890 * configure.ac: Added AC_SYS_LARGEFILE.
28891
98d15063 288922003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28893
28894 * genmk.rb (PModule#rule): Make sure to get only symbol names
28895 from the output of nm.
59cad637 28896 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 28897
18d9c7cd 288982003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28899
28900 I forgot to check in these changes for a long time. This adds
28901 incomplete support for VGA console, and this is still very
28902 buggy. Also, a lot of consideration is required for I18N,
28903 UNICODE, and VGA font issues. Therefore, assume that this is
28904 such that "better than nothing".
f19dbdb7 28905
18d9c7cd 28906 * font/manager.c: New file.
28907 * include/pupa/font.h: Likewise.
28908 * include/pupa/i386/pc/vga.h: Likewise.
28909 * term/i386/pc/vga.c: Likewise.
28910 * util/unifont2pff.rb: Likewise.
28911
28912 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28913 (pkgdata_MODULES): Added vga.mod and font.mod.
28914 (vga_mod_SOURCES): New variables.
28915 (vga_mod_CFLAGS): Likewise.
28916 (font_mod_SOURCES): Likewise.
28917 (font_mod_CFLAGS): Likewise.
28918
28919 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28920
28921 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 28922 (struct pupa_term): Added init and fini.
18d9c7cd 28923 Changed the argument of putchar to pupa_uint32_t.
28924
28925 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28926 (pupa_console_real_putchar): New prototype.
28927 (pupa_console_putchar): Removed.
28928 (pupa_console_checkkey): Exported.
28929 (pupa_console_getkey): Likewise.
28930
28931 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28932 characters.
28933
28934 * kern/term.c (pupa_term_set_current): Rewritten.
28935 (pupa_putchar): Likewise.
28936 (pupa_putcode): New function.
28937
28938 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28939 (pupa_console_real_putchar): ... this.
28940 (pupa_vga_set_mode): New function.
28941 (pupa_vga_get_font): Likewise.
28942
28943 * normal/command.c: Include pupa/term.h.
28944 (terminal_command): New function.
28945 (pupa_command_init): Register the command "terminal".
28946
28947 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28948 (DISP_UP): Likewise.
28949 (DISP_RIGHT): Likewise.
28950 (DISP_DOWN): Likewise.
28951 (DISP_HLINE): Likewise.
28952 (DISP_VLINE): Likewise.
28953 (DISP_UL): Likewise.
28954 (DISP_UR): Likewise.
28955 (DISP_LL): Likewise.
28956 (DISP_LR): Likewise.
28957
28958 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 28959
977329f5 289602003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28961
28962 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28963 FIX. Reverse the path_list.
28964
28965 * include/pupa/normal.h: Export pupa_register_command and
28966 pupa_unregister_command.
28967
28968 * hello/hello.c (pupa_cmd_hello): New module.
28969 * conf/i386-pc.rmk: Added hello.mod.
28970
1f5ab428 289712003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28972
28973 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 28974
1f5ab428 28975 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28976 (compress_kernel): New variable.
28977 (generate_image): Heavily modified to support compressing a
28978 large part of the core image.
28979
28980 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28981 leak.
28982 (pupa_util_load_image): New function.
28983
28984 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28985 (pupa_compressed_size): New variable.
28986 (codestart): Enable Gate A20 here.
28987 Decompress the compressed part of the core image.
28988 Rearrange the code to put functions and variables which are
28989 required for initialization in the non-compressed part.
28990 Include lzo1x.S.
28991
28992 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28993 here.
28994
28995 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28996
f19dbdb7 28997 * include/pupa/i386/pc/kernel.h
1f5ab428 28998 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28999 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
29000 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29001 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29002 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
29003
29004 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
29005
29006 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
29007 (Utility#rule): Likewise.
29008
29009 * configure.ac: Check if LZO is available.
29010
ce5bf700 290112003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
29012
29013 * include/pupa/normal.h: New file.
29014 * include/pupa/setjmp.h: Likewise.
29015 * include/pupa/i386/setjmp.h: Likewise.
29016 * normal/cmdline.c: Likewise.
29017 * normal/command.c: Likewise.
29018 * normal/main.c: Likewise.
29019 * normal/menu.c: Likewise.
29020 * normal/i386/setjmp.S: Likewise.
f19dbdb7 29021
ce5bf700 29022 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
29023 (pupa_rescue_cmd_initrd): Likewise.
29024
29025 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
29026 Likewise.
29027
29028 * kern/i386/pc/startup.S (translation_table): New variable.
29029 (translate_keycode): New function.
29030 (pupa_console_getkey): Call translate_keycode.
29031
29032 * kern/rescue.c (attempt_normal_mode): New function.
29033 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
29034 it failed, print a message.
29035
29036 * kern/mm.c (pupa_real_malloc): Print more information when a
29037 free magic is broken.
29038 (pupa_free): If the first free header is not free actually, set
29039 it to P.
29040
29041 * kern/main.c (pupa_load_normal_mode): Just load the module
29042 "normal".
29043 (pupa_main): Don't print the message
29044 "Entering into rescue mode..." here.
29045
29046 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
29047 Declared.
29048 (pupa_rescue_cmd_initrd): Likewise.
29049 (pupa_rescue_cmd_initrd): Likewise.
29050
29051 * include/pupa/symbol.h (FUNCTION): Specify the type.
29052 (VARIABLE): Likewise.
29053
29054 * include/pupa/err.h (pupa_err_t): Added
29055 PUPA_ERR_UNKNOWN_COMMAND.
29056
29057 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
29058 (pupa_dl_get_prefix): Likewise.
29059
29060 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
29061 Added _chain.mod and _linux.mod instead of chain.mod and
29062 linux.mod.
29063 (chain_mod_SOURCES): Renamed to ...
29064 (_chain_mod_SOURCES): ... this.
29065 (chain_mod_CFLAGS): Renamed to ...
29066 (_chain_mod_CFLAGS): ... this.
29067 (linux_mod_SOURCES): Renamed to ...
29068 (_linux_mod_SOURCES): ... this.
29069 (linux_mod_CFLAGS): Renamed to ...
29070 (_linux_mod_CFLAGS): ... this.
29071 (normal_mod_SOURCES): New variable.
29072 (normal_mod_CFLAGS): Likewise.
29073 (normal_mod_ASFLAGS): Likewise.
29074
290752003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
29076
29077 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
29078 possible.
29079
fe6b695a 29080 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 29081 recursively.
29082 (pupa_dl_unref): Unrefer depending modules recursively.
29083 Don't call pupa_dl_unload implicitly, because PUPA can crash if
29084 a module is unloaded before one depending on that module is
29085 unloaded.
29086 (pupa_dl_unload): Unload depending modules explicitly,
29087 if possible.
29088
c04da074 290892003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
29090
29091 * include/pupa/i386/pc/linux.h: New file.
29092 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 29093
c04da074 29094 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
29095 Removed.
29096 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
29097 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
29098 of PUPA_CHAINLOADER_BOOT_SECTOR.
29099
29100 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
29101 (pupa_linux_prot_size): New variable.
29102 (pupa_linux_tmp_addr): Likewise.
29103 (pupa_linux_real_addr): Likewise.
29104 (pupa_linux_boot_zimage): New function.
29105 (pupa_linux_boot_bzimage): Likewise.
29106
29107 * kern/i386/pc/init.c (struct mem_region): New structure.
29108 (MAX_REGIONS): New macro.
29109 (mem_regions): New variable.
29110 (num_regions): Likewise.
29111 (pupa_os_area_addr): Likewise.
29112 (pupa_os_area_size): Likewise.
29113 (pupa_lower_mem): Likewise.
29114 (pupa_upper_mem): Likewise.
29115 (add_mem_region): New function.
29116 (compact_mem_regions): Likewise.
29117 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
29118 the size of the conventional memory and that of so-called upper
29119 memory (before the first memory hole).
29120 Instead of adding each found region to free memory, use
29121 add_mem_region and add them after removing overlaps.
29122 Also, add only 1/4 of the upper memory to free memory. The rest
29123 is used for loading OS images. Maybe this is ad hoc, but this
29124 makes it much easier to relocate OS images when booting.
29125
29126 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
29127 (pupa_enter_rescue_mode): Don't register initrd and module.
29128
29129 * kern/mm.c: Include pupa/dl.h.
29130
29131 * kern/main.c: Include pupa/file.h and pupa/device.h.
29132
29133 * kern/loader.c (pupa_loader_load_module_func): Removed.
29134 (pupa_loader_load_module): Likewise.
29135
29136 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
29137 ``.o''.
29138
29139 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
29140 (pupa_linux_tmp_addr): Likewise.
29141 (pupa_linux_real_addr): Likewise.
29142 (pupa_linux_boot_zimage): Likewise.
29143 (pupa_linux_boot_bzimage): Likewise.
29144
29145 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
29146 (pupa_upper_mem): Likewise.
29147 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
29148 module is too dangerous.
29149
29150 * include/pupa/loader.h (pupa_os_area_addr): Declared.
29151 (pupa_os_area_size): Likewise.
29152 (pupa_loader_set): Remove the first argument. Loader doesn't
29153 manage modules or initrd any longer.
29154 (pupa_loader_load_module): Removed.
29155
29156 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
29157 (linux_mod_SOURCES): New variable.
29158 (linux_mod_CFLAGS): Likewise.
29159
a13f9237 291602003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
29161
29162 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
29163 the length of a blocklist correctly.
29164
29165 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
29166 Use ioctl only if the OS file is a block device.
29167 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
29168 not very useful for normal files.
29169
29170 * kern/main.c (pupa_set_root_dev): New function.
29171 (pupa_load_normal_mode): Likewise.
29172 (pupa_main): Call those above.
29173
29174 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
29175 pupa_uint16_t.
29176
29177 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
29178
a5ffe966 291792003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29180
29181 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
29182 (setup): Configure the installed partition information and the
29183 dl prefix.
29184
29185 * loader/i386/pc/chainloader.c (my_mod): New variable.
29186 (pupa_chainloader_unload): New function.
29187 (pupa_rescue_cmd_chainloader): Refer itself.
29188 (PUPA_MOD_INIT): Save its own module in MY_MOD.
29189
29190 * kern/i386/pc/startup.S (install_partition): Removed.
29191 (version_string): Likewise.
29192 (config_file): Likewise.
29193 (pupa_install_dos_part): New variable.
29194 (pupa_install_bsd_part): Likewise.
29195 (pupa_prefix): Likewise.
29196 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
29197
29198 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
29199 and pupa/misc.h.
29200 (make_install_device): New function.
29201 (pupa_machine_init): Set the dl prefix.
29202
29203 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
29204 (buf): Renamed to ...
29205 (linebuf): ... this.
29206 (pupa_rescue_cmd_prefix): New function.
29207 (pupa_rescue_cmd_insmod): Likewise.
29208 (pupa_rescue_cmd_rmmod): Likewise.
29209 (pupa_rescue_cmd_lsmod): Likewise.
29210 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
29211 rmmod and lsmod.
29212
29213 * kern/mm.c (pupa_memalign): If failed even after invalidating
29214 disk caches, unload unneeded modules and retry.
29215
29216 * kern/misc.c (pupa_memmove): New function.
29217 (pupa_memcpy): Removed.
29218 (pupa_strcpy): New function.
29219 (pupa_itoa): Made static.
29220
29221 * kern/dl.c (pupa_dl_iterate): New function.
29222 (pupa_dl_ref): Likewise.
29223 (pupa_dl_unref): Likewise.
29224 (pupa_dl_unload): Return if succeeded or not.
29225 (pupa_dl_unload_unneeded): New function.
29226 (pupa_dl_unload_all): Likewise.
29227 (pupa_dl_init): Renamed to ...
29228 (pupa_dl_set_prefix): ... this.
29229 (pupa_dl_get_prefix): New function.
29230
29231 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
29232 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
29233 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29234 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29235 (pupa_install_dos_part): Declared.
29236 (pupa_install_bsd_part): Likewise.
29237 (pupa_prefix): Likewise.
29238 (pupa_boot_drive): Likewise.
29239
29240 * include/pupa/types.h: Fix a typo.
29241
29242 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
29243 pupa_memmove.
29244 (pupa_memmove): Declared.
29245 (pupa_strcpy): Likewise.
29246
29247 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
29248 pupa_mod_init takes one argument, its own module.
29249 (pupa_dl_unload_unneeded): Declared.
29250 (pupa_dl_unload_all): Likewise.
29251 (pupa_dl_ref): Likewise.
29252 (pupa_dl_unref): Likewise.
29253 (pupa_dl_iterate): Likewise.
29254 (pupa_dl_init): Renamed to ...
29255 (pupa_dl_set_prefix): ... this.
29256 (pupa_dl_get_prefix): Declared.
29257
29258 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 29259 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 29260 unloaded.
29261 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29262 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29263
29264 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29265 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29266
012d7999 292672003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29268
29269 * util/i386/pc/pupa-setup.c (setup): Define the internal
29270 function find_first_partition_start at the top level, because GCC
29271 3.0.x cannot compile internal functions in deeper scopes
29272 correctly.
29273 (find_root_device): Use lstat instead of stat.
29274 Don't follow symbolic links.
29275 Fix the path-constructing code.
29276
29277 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29278 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29279 by a BLKGETSIZE ioctl first, because block devices don't fill
29280 the member st_mode of the structure stat on Linux.
29281 [__linux__] (linux_find_partition): Use a temporary buffer
29282 REAL_DEV for the working space. Copy it to DEV before returning.
29283 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29284 buffer cache consistent.
29285 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29286 strncmp. The previous value was merely wrong.
29287 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29288
29289 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29290 FAT size is 12. The previous value was merely wrong.
29291
29292 * kern/main.c (pupa_main): Don't split the starting message from
29293 newlines.
29294
29295 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29296 LF, because BIOS goes crazy about character attributes in this
29297 case.
29298
1cc73a62 292992003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29300
29301 * include/i386/pc/util/biosdisk.h: New file.
29302 * util/i386/pc/biosdisk.c: Likewise.
29303 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 29304
1cc73a62 29305 * Makefile.in (INCLUDE_DISTFILES): Added
29306 include/pupa/i386/pc/util/biosdisk.h.
29307 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29308 directory util/i386/pc.
29309 (install-local): Added a rule for sbin_UTILITIES.
29310 (uninstall): Likewise.
29311
29312 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29313
29314 * util/misc.c (xrealloc): New function.
29315 (pupa_malloc): Likewise.
29316 (pupa_free): Likewise.
29317 (pupa_realloc): Likewise.
29318 (pupa_stop): Likewise.
29319 (pupa_putchar): Likewise.
29320
29321 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29322
29323 * include/pupa/util/misc.h (xrealloc): Declared.
29324
29325 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29326 macro.
29327 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29328 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29329
29330 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29331 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29332
29333 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29334 way should be implemented.
29335 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29336
29337 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29338 the size of NAME for safety.
29339 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29340 0x88.
29341
29342 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29343 (pupa_setup_SOURCES): Likewise.
29344
29345 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29346
08b70fe8 293472002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29348
29349 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29350 bunch of pushl's from pusha, because this destroys the return
29351 value.
29352
62ddcc8f 293532002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29354
29355 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29356 This means that any missing prototypes could be fatal. Also, you
29357 must take care when writing assembly code. See the comments at
29358 the beginning of startup.S, for more details.
f19dbdb7 29359
62ddcc8f 29360 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29361 compilation mechanism.
29362 (pupa_chainloader_real_boot): Likewise.
29363 (pupa_biosdisk_rw_int13_extensions): Likewise.
29364 (pupa_biosdisk_rw_standard): Likewise.
29365 (pupa_biosdisk_check_int13_extensions): Likewise.
29366 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29367 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29368 (pupa_get_memsize): Likewise.
29369 (pupa_get_mmap_entry): Likewise.
29370 (pupa_console_putchar): Likewise.
29371 (pupa_console_setcursor): Likewise.
29372 (pupa_getrtsecs): Use pushl instead of push.
29373
29374 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29375 memory instead of the stack for a mmap entry, because some
29376 BIOSes may ignore the maximum size and overflow.
29377
29378 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29379
29380 * genmk.rb (PModule#rule): Compile automatically generated
29381 sources with module-specific CFLAGS as well as other sources.
29382
9962ed99 293832002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29384
29385 * configure.ac: Check ld.
29386 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29387 respectively, before checking endianness and sizes.
29388
29389 * Makefile.in (LD): New variable.
f19dbdb7 29390
abdfc3c5 293912002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29392
29393 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29394
6a161fa9 293952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29396
29397 * Changelog: New file.
29398