]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2.git] / ChangeLog
CommitLineData
b40ea81b
ST
12010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
2
3 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
4
dee50575
VS
52010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
8 --nounzip is passed.
9
fb1d7b79
VS
102010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11
12 USB hotunplugging and USB serial support.
13
14 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16 (grub_uhci_transfer): Respect timeout and set *actual.
17 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
18 non-standard length.
19 (grub_usb_device_attach): Autoload modules.
20 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23 users updated.
24 (grub_usb_add_hub): Fill nports and children.
25 (attach_root_port): Receive hub instead of controller.
26 All users updated. Fill hub->devices.
27 (grub_usb_root_hub): Allocate hub->devices.
28 (detach_device): New function.
29 (poll_nonroot_hub): Fill children and detach devices.
30 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
31 actual arguments. All users updated.
32 (grub_usb_bulk_read_extended): New function.
33 * bus/usb/serial/common.c: New file.
34 * bus/usb/serial/ftdi.c: Likewise.
35 * bus/usb/serial/pl2303.c: Likewise.
36 * commands/terminal.c (handle_command): Support wildcard.
37 * commands/usbtest.c: Output "Unknown" instead of empty string.
38 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
39 (usbserial_common_mod_SOURCES): New variable.
40 (usbserial_common_mod_CFLAGS): Likewise.
41 (usbserial_common_mod_LDFLAGS): Likewise.
42 (pkglib_MODULES): Add usbserial_pl2303.mod.
43 (usbserial_pl2303_mod_SOURCES): New variable.
44 (usbserial_pl2303_mod_CFLAGS): Likewise.
45 (usbserial_pl2303_mod_LDFLAGS): Likewise.
46 (pkglib_MODULES): Add usbserial_ftdi.mod.
47 (usbserial_ftdi_mod_SOURCES): New variable.
48 (usbserial_ftdi_mod_CFLAGS): Likewise.
49 (usbserial_ftdi_mod_LDFLAGS): Likewise.
50 (pkglib_MODULES): Add serial.mod.
51 (serial_mod_SOURCES): New variable.
52 (serial_mod_CFLAGS): Likewise.
53 (serial_mod_LDFLAGS): Likewise.
54 * conf/i386-pc.rmk: Likewise.
55 * conf/mips-yeeloong.rmk: Likewise.
56 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
57 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
58 * disk/usbms.c (first_available_slot): New variable.
59 (grub_usbms_attach): Don't reuse free slots due to potential cache
60 problems.
61 * include/grub/serial.h: Moved to ..
62 * include/grub/ns8250.h: ...this.
63 * include/grub/serial.h: New file.
64 * include/grub/term.h (grub_term_poll_usb): New variable.
65 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
66 readkey. All users updated.
67 (grub_terminfo_output_state): Pass term to put.
68 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
69 (grub_usb_controller_dev): Add timeout and actual arguments to
70 transfer. All users updated.
71 (grub_usb_interface): New field detach_data.
72 (grub_usb_device): New fields children and nports.
73 (grub_usb_ep_type_t): New type.
74 (grub_usb_get_ep_type): New function.
75 (grub_usb_bulk_read_extended): Likewise.
76 * include/grub/usbdesc.h (grub_usb_desc): New type.
77 * include/grub/usbserial.h: New file.
78 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
79 * kern/term.c (grub_term_poll_usb): New variable.
80 (grub_getkey): Call grub_term_poll_usb if set.
81 (grub_checkkey): Likewise.
82 (grub_getkeystatus): Likewise.
83 * term/serial.c: Moved controller-specific parts to ...
84 * term/ns8250.c: ... here.
85 * term/serial.c: Mostly rewritten.
86 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
87 according to spec.
88
21a313de
RM
892010-08-20 Robert Millan <rmh@gnu.org>
90
91 Make kFreeBSD code more generic to support ext2fs as root, ufs as
92 a separate module and maybe other interesting combinations.
93
94 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
95 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
96 (kfreebsd_entry): Add generic filesystem module load routine.
97 Map GRUB `ext2' to kFreeBSD `ext2fs'.
98
63c734a6
CW
992010-08-20 Colin Watson <cjwatson@ubuntu.com>
100
101 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
102 "numcenter" (I misunderstood the purpose of this entry).
103 * docs/grub.texi (sendkey): Likewise.
104
c4d16542
CW
1052010-08-20 Colin Watson <cjwatson@ubuntu.com>
106
107 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
108 status flag options; simply omitting the option is equivalent and
109 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
110 (keysym_table): Rename "num5numlock" to "numlock".
111 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
112 can uniformly say that only the last of multiple `sendkey'
113 invocations has any effect.
114 * docs/grub.texi (sendkey): New section.
115
93541d66
CW
1162010-08-19 Colin Watson <cjwatson@ubuntu.com>
117
118 * commands/i386/pc/sendkey.c (options): Fix three typos.
119
b4ece5e1
VS
1202010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Implement sendkey support.
123
124 * commands/i386/pc/sendkey.c: New file.
125 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
126 (sendkey_mod_SOURCES): New variable.
127 (sendkey_mod_CFLAGS): Likewise.
128 (sendkey_mod_LDFLAGS): Likewise.
129
51f1f5af
CW
1302010-08-18 Colin Watson <cjwatson@ubuntu.com>
131
132 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
133 fix warnings from Autoconf.
134
9da94e05
CW
1352010-08-18 Colin Watson <cjwatson@ubuntu.com>
136
137 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
138 to avoid false positives with some assemblers that output things
139 like "someprefix_func" as part of their output.
140
729a0f2e
RM
1412010-08-15 Robert Millan <rmh@gnu.org>
142
143 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
144 errors.
145 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
146 grub_get_libzfs_handle() errors.
147
f3710e08
RM
1482010-08-14 Robert Millan <rmh@gnu.org>
149
150 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
151 filesystem is not ZFS.
152
7a3c13de
BC
1532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
154
155 Fix for misspelled color names defaulting to black/black (bug
156 reported by Doug Nazar)
157
158 * include/grub/normal.h (grub_parse_color_name_pair): Add return
159 status to prototype.
160 * normal/color.c (grub_parse_color_name_pair): Return failure
161 status.
162 (grub_env_write_color_normal): Ignore bad color names.
163 (grub_env_write_color_highlight): Likewise.
164 * normal/main.c (GRUB_MOD_INIT): Set default color names.
165
ab8ba50d
BC
1662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
167
168 "shift" command support to GRUB script.
169
170 * include/grub/script_sh.h (grub_script_shift): New prototype.
171 * script/execute.c (grub_script_shift): New function.
172 * script/main.c (grub_script_init): Register shift command.
173 (grub_script_fini): Unregister shift command.
174 * util/grub-script-check.c (grub_script_cmd_shift): New function.
175
176 * tests/grub_script_shift.in: New testcase.
177 * conf/tests.rmk: Rules for new testcase.
178
4d61999e
BC
1792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
180
181 "continue" command support to GRUB script.
182
183 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
184 (grub_script_break): Continue support.
185 * script/main.c (grub_script_init): Register continue command.
186 (grub_script_fini): Unregister continue command.
187
188 * tests/grub_script_continue.in: New testcase.
189 * conf/tests.rmk: Rules for new testcase.
190
4df51e00
BC
1912010-08-12 BVK Chaitanya <bvk@dbook>
192
193 "break" command support to GRUB script.
194
195 * conf/common.rmk: Rule updates to grub-script-check.
196 * include/grub/misc.h (grub_min): New function.
197 * include/grub/script_sh.h (grub_script_init): New prototype.
198 (grub_script_fini): New prototype.
199 (grub_script_break): New prototype.
200 * script/main.c (grub_script_init): New function.
201 (grub_script_fini): New function.
202 * script/execute.c (grub_script_break): New function.
203 * normal/main.c: Calls to grub_script_{init,fini}.
204 * util/grub-script-check.c (grub_script_break): New function.
205
206 * tests/grub_script_break.in: New testcase.
207 * conf/tests.rmk: Rules for new test case.
208
f12c8420
BC
2092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
210
211 Function parameters support to GRUB script.
212
213 * script/yylex.l (VARIABLE): Regular expression update.
214 * script/function.c (grub_script_function_call): Moved ...
215 * script/execute.c (grub_script_function_call): ... to here.
216 (grub_script_execute_arglist_to_argv): Removed.
217 (grub_script_arglist_to_argv): New function.
218 * script/argv.c: New file.
219 (grub_script_argv_free): New function.
220 (grub_script_argv_next): Likewise.
221 (grub_script_argv_append): Likewise.
222 (grub_script_argv_split_append): Likewise.
223 * include/grub/script_sh.h (grub_script_argv): New struct.
224 (grub_script_argv_free): New function.
225 (grub_script_argv_next): Likewise.
226 (grub_script_argv_append): Likewise.
227 (grub_script_argv_split_append): Likewise.
228
229 * conf/common.rmk (normal.mod): New source script/argv.c.
230
231 * tests/grub_script_echo1.in: More tests.
232 * tests/grub_script_vars1.in: Likewise.
233 * tests/grub_script_functions.in: New test case.
234 * conf/tests.rmk: Rules for new testcase.
235
8022b748
BC
2362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
237
238 Remove grub_script_cmdblock struct.
239
240 * include/grub/script_sh.h: Remove grub_script_cmdblock.
241 * script/parser.y: Likewise.
242 * script/execute.c: Rename cmdblock suffix to cmdlist.
243 * script/script.c: Likewise.
244 * util/grub-script-check.c: Likewise.
245
79a6ba61
YB
2462010-08-11 Yves Blusseau <blusseau@zetam.org>
247
248 * .bzrignore: add grub-macho2img
249
d04b9414
VS
2502010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
253
f947ab49
VS
2542010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
255
256 Remove the dump of sm712 initialisation sequence.
257
258 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
259 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
260 (GRUB_VGA_IO_MISC_WRITE): Likewise.
261 (GRUB_VGA_CR_*): Added many registers.
262 (GRUB_VGA_SR_*): Likewise.
263 (GRUB_VGA_GR_*): Likewise.
264 (grub_vga_write_arx): New function.
265 (grub_video_hw_config): New struct.
266 (grub_vga_set_geometry): New function.
267 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
268 GRUB_PCI_CLASS_SUBCLASS_VGA.
269 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
270 * video/sm712.c (grub_sm712_write_reg): New function
271 (grub_sm712_read_reg): Likewise.
272 (grub_sm712_sr_write): Likewise.
273 (grub_sm712_gr_write): Likewise.
274 (grub_sm712_cr_write): Likewise.
275 (grub_sm712_write_arx): Likewise.
276 (grub_sm712_cr_shadow_write): Likewise.
277 (grub_sm712_write_dda_lookup): Likewise.
278 (grub_video_sm712_setup): Initialise the video rather then
279 blindly replay the dump.
280 (main) [TEST]: Add a routine to be able to compile as standalone for
281 tests.
282 * video/sm712_init.c (sm712_init): Removed.
283 (sm712_sr_seq1): New array.
284 (sm712_sr_seq2): Likewise.
285
f0206638
VS
2862010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * include/grub/vga.h: Add missing grub/pci.h include.
289
2764da3b
YB
2902010-08-10 Yves Blusseau <blusseau@zetam.org>
291
292 * util/grub-macho2img.c (main): fix typo
293
cf0c775e
VS
2942010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
297 (grub_vga_gr_read): Likewise.
298 (grub_vga_cr_write): Likewise.
299 (grub_vga_cr_read): Likewise.
300 (grub_vga_sr_write): Likewise.
301 (grub_vga_sr_read): Likewise.
302 (grub_vga_palette_read): Likewise.
303 (grub_vga_palette_write): Likewise.
304 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
305 (grub_sm712_sr_read): New function.
306 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
307 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
308
07f360e9
RM
3092010-08-09 Robert Millan <rmh@gnu.org>
310
311 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
312 out unused variables on non-ZFS build.
313
346c2072
RM
3142010-08-08 Robert Millan <rmh@gnu.org>
315
316 Fix path generation for sub-filesystems in ZFS.
317
318 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
319 missing slash.
320
71175420
RM
3212010-08-08 Robert Millan <rmh@gnu.org>
322
323 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
324
0d8286f3
RM
3252010-08-08 Robert Millan <rmh@gnu.org>
326
327 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
328 exist, issue a proper error message (rely on `ls' for translated
329 strings).
330
55dd2924
RM
3312010-08-08 Robert Millan <rmh@gnu.org>
332
333 Fix grub-probe invocation.
334
335 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
336
d3dd9e80
RM
3372010-08-04 Robert Millan <rmh@gnu.org>
338
339 * configure.ac: Remove checks for getfsstat() and getmntany().
340 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
341 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
342 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
343 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
344 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
345 function.
346 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
347 via find_mount_point_from_dir() and getfsstat() / getmntany().
348
0de22aa9
RM
3492010-08-04 Robert Millan <rmh@gnu.org>
350
351 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
352 (grub_find_zpool_from_mount_point): Merge into ...
353 (grub_find_zpool_from_dir): ... this.
354 * kern/emu/misc.c: Likewise.
355
356 * kern/emu/misc.c
357 (grub_make_system_path_relative_to_its_root): Replace
358 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
359 with grub_find_zpool_from_dir().
360 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
361
62858144
RM
3622010-08-04 Robert Millan <rmh@gnu.org>
363
364 Support OpenSolaris in ZFS device resolution.
365
366 * configure.ac: Check for getmntany().
367 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
368 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
369 support.
370
9dd6fd50
RM
3712010-08-03 Robert Millan <rmh@gnu.org>
372
373 Fix grub-emu build.
374
375 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
376 * include/grub/emu/misc.h: ... here.
377
378 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
379 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
380
381 * util/misc.c: Remove `<grub/util/libzfs.h>'.
382 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
383 (grub_get_libzfs_handle): Move to ...
384 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
385 (grub_get_libzfs_handle): ... here.
386
c9f7ff97
BC
3872010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
388
389 * script/execute.c (grub_script_execute_cmdline): Check for NULL
390 as command name case.
391
a870a783
CW
3922010-08-02 Colin Watson <cjwatson@ubuntu.com>
393
394 * disk/raid.c (insert_array): Select unique numbers for named arrays
395 as well, for use as keys in the disk cache.
396
c7db243b
RM
3972010-08-01 Robert Millan <rmh@gnu.org>
398
399 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
400 kFreeBSD device name, except on ZFS where the filesystem label is
401 used.
402 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
403 `/boot/zfs/zpool.cache'.
404 Set mountfrom kernel variable using ${kfreebsd_device}.
405
f7abdefb
RM
4062010-08-01 Robert Millan <rmh@gnu.org>
407
408 Make it even harder to use uninitialized `libzfs_handle' (and
409 make the interface a bit simpler).
410
411 * include/grub/util/misc.h (grub_util_init_libzfs)
412 (libzfs_handle): Remove.
413 (grub_get_libzfs_handle): New prototype.
414
415 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
416 attribute.
417 (grub_util_init_libzfs): Remove.
418 (grub_get_libzfs_handle): New function.
419
420 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
421 grub_get_libzfs_handle() to obtain a libzfs handle instead of
422 accessing `libzfs_handle' directly.
423
c882acc0
RM
4242010-08-01 Robert Millan <rmh@gnu.org>
425
426 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
427 (grub_find_zpool_from_mount_point): New function prototypes.
428
429 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
430 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
431
432 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
433 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
434 `static' attribute.
435
436 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
437 finding zpool from mount point into ...
438 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
439
440 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
441 requested path is part of a ZFS pool, use
442 grub_find_zpool_from_mount_point() to detect its filesystem name,
443 and generate a path with `/fsname@path' syntax.
444
8bfe31d8
CW
4452010-08-01 Colin Watson <cjwatson@ubuntu.com>
446
447 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
448 (void) rather than () so that this is a proper prototype.
449
553df63d
VS
4502010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
453
8687cf07
VS
4542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
457 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
458
ea9be8ea
CW
4592010-08-01 Colin Watson <cjwatson@ubuntu.com>
460
461 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
462
6eea041a
CW
4632010-08-01 Colin Watson <cjwatson@ubuntu.com>
464
465 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
466
2cfb45df
CW
4672010-08-01 Colin Watson <cjwatson@ubuntu.com>
468
469 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
470 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
471 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
472 disable gfxpayload.
473 (Shell-like scripting): Add real content.
474 (Serial terminal): Suggest `terminal_input serial; terminal_output
475 serial' rather than putting the two commands on separate lines,
476 since console input will be inoperative after the first command.
477 (menuentry): Document --class, --users, and --hotkey options.
478 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
479 Vladimir Serbinenko).
480
7decd202
VS
4812010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4822010-08-01 Colin Watson <cjwatson@ubuntu.com>
483
484 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
485
c882acc0
RM
4862010-08-01 Robert Millan <rmh@gnu.org>
487
488 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
489 (grub_find_zpool_from_mount_point): New function prototypes.
490
491 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
492 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
493
494 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
495 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
496 `static' attribute.
497
498 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
499 finding zpool from mount point into ...
500 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
501
502 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
503 requested path is part of a ZFS pool, use
504 grub_find_zpool_from_mount_point() to detect its filesystem name,
505 and generate a path with `/fsname@path' syntax.
506
deb0caa3
RM
5072010-08-01 Robert Millan <rmh@gnu.org>
508
509 Prevent accidental use of uninitialized libzfs_handle.
510
511 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
512 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
513 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
514
ce04ef47
CW
5152010-08-01 Colin Watson <cjwatson@ubuntu.com>
516
517 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
518 util/grub.d/10_linux.in). Fixes Debian bug #591093.
519
ebf53056
RM
5202010-08-01 Robert Millan <rmh@gnu.org>
521
522 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 523
3710bb6b
RM
5242010-07-31 Robert Millan <rmh@gnu.org>
525
526 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
527
8072efeb
RM
5282010-07-31 Robert Millan <rmh@gnu.org>
529
530 * kern/emu/misc.c: Add missing license header.
531
3169f4c7
RM
5322010-07-31 Robert Millan <rmh@gnu.org>
533
534 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
535
536 * include/grub/util/libnvpair.h: Include `<config.h>'.
537 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
538 declaring libnvpair prototypes ourselves.
539 * include/grub/util/libzfs.h: Include `<config.h>'.
540 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
541 declaring libzfs prototypes ourselves.
542
543 (libzfs_handle): Moved to ...
544 * include/grub/util/misc.h (libzfs_handle): ... here.
545 Include `<grub/util/libzfs.h>'.
546
c9a00aee
RM
5472010-07-30 Robert Millan <rmh@gnu.org>
548
549 * include/grub/emu/misc.h: Add missing license header.
550
a184f9c8
RM
5512010-07-30 Robert Millan <rmh@gnu.org>
552
553 Enable `grub-probe -t device' resolution on ZFS.
554
555 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
556 * include/grub/util/libnvpair.h: New file.
557 * include/grub/util/libzfs.h: New file.
558
559 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
560 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
561 `<grub/util/libnvpair.h>'.
562 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
563
564 (find_mount_point_from_dir): New static function.
565 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
566 function.
567 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
568 find_root_device_from_libzfs() before ressorting to find_root_device().
569
570 * include/grub/util/misc.h (grub_util_init_libzfs): New function
571 prototype.
572 * util/misc.c: Include `<grub/util/libzfs.h>'.
573 (grub_util_init_libzfs): New function.
574 [HAVE_LIBZFS] (libzfs_handle): New global variable.
575 [HAVE_LIBZFS] (fini_libzfs): New static function.
576 (grub_util_init_libzfs): New function.
577 * util/grub-probe.c (main): Call grub_util_init_libzfs().
578
f7790cdd
RM
5792010-07-30 Robert Millan <rmh@gnu.org>
580
581 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
582 (xmalloc, xrealloc, xstrdup, xasprintf): Add
583 `warn_unused_result' attribute.
584 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
585 (grub_xasprintf, grub_xvasprintf): Likewise.
586 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
587
0806b63c
RM
5882010-07-29 Robert Millan <rmh@gnu.org>
589
590 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
591 (probe): Handle `PRINT_FS_LABEL'.
592 (main): Handle `-t fs_label'.
593
9f841f5c
RM
5942010-07-29 Robert Millan <rmh@gnu.org>
595
596 * configure.ac: Remove grub-mkisofs checks.
597
46371121
VS
5982010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * util/ieee1275/grub-install.in: Don't use empty grub_device.
601 Reported by: Lennart Sorensen.
602
6032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
606 prior to terminal_input/terminal_output separation. It's been over 1.5
607 years and those versions weren't widely deployed.
608
a9600892
CW
6092010-07-22 Colin Watson <cjwatson@ubuntu.com>
610
611 * disk/raid.c (insert_array): Don't count named arrays when looking
612 for unused array numbers.
697e053c 613 Reported and tested by: Michael Guntsche.
a9600892 614
c03507df
CW
6152010-07-20 Colin Watson <cjwatson@ubuntu.com>
616
617 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
618 implementation of this so that grub-emu links again, with a note
619 that this should support hotplugging in the future.
620
b26f1c11
CW
6212010-07-20 Colin Watson <cjwatson@ubuntu.com>
622
623 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
624
efc9d7f1
CW
6252010-07-20 Colin Watson <cjwatson@ubuntu.com>
626
627 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
628 handle on failure.
629 (grub_loopback_close): Remove empty function.
630 (grub_loopback_dev): Remove close method.
631
dd8ff5c9
CW
6322010-07-20 Colin Watson <cjwatson@ubuntu.com>
633
634 Disable EFI cursor when the EFI console becomes inactive.
635
636 * term/efi/console.c (grub_efi_console_init): New function.
637 (grub_efi_console_fini): New function.
638 (grub_console_term_output): Register init and fini methods.
639
5e3bec67
VS
6402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * tests/util/grub-shell-tester.in: Remove bashism and declare as
643 sh script.
644
afaec079
VS
6452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * disk/loopback.c (grub_loopback): Replace filename with file.
648 (delete_loopback): Handle new semantics.
649 (grub_cmd_loopback): Likewise.
650 (grub_loopback_iterate): Likewise.
651 (grub_loopback_close): Likewise.
652
a6a11f3c
VS
6532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
656 with -p "".
657 Reported by: Tito Keitel.
658
64a638b0
VS
6592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * docs/grub.texi (Naming convention): Document new naming convention.
662
ab8ba957
VS
6632010-07-20 Vadim Solomin <vadic052@gmail.com>
6642010-07-20 Colin Watson <cjwatson@ubuntu.com>
665
666 Generate device.map in something closer to the old ordering.
667
668 * util/deviceiter.c (struct device): New declaration.
669 (compare_file_names): Rename to ...
670 (compare_devices): ... this. Sort by kernel name in preference to
671 the stable by-id name, but keep the latter as a fallback comparison.
672 Update header comment.
673 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
674 of `struct device' rather than of plain file names.
675
a29d6a4b
TF
6762010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
677
678 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
679 on i386.
680
39d824e8
VS
6812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * commands/acpi.c (setup_common_tables): Use sizeof instead of
684 hardcoding size.
685 (setv1table): Likewise.
686
f058276b
FZ
6872010-07-20 Colin Watson <cjwatson@ubuntu.com>
688
689 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
690 removing the homehost if present.
691 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
692 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
693 removing the homehost if present.
694 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
695 if possible.
696 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
697
698 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
699 parameter. Set its pointer target to 0.
700 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
701 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
702 `data_offset' value from the superblock for 1.x metadata.
703 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
704 data on the device.
705 (insert_array): Record the start sector of data on the device.
706 (grub_raid_register): Pass start_sector parameters to
707 grub_raid_list->detect and insert_array.
708 * include/grub/raid.h (struct grub_raid_array): Add start_sector
709 member.
710 (struct grub_raid): Add start_sector parameter to `detect'.
711
712 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
713 __attribute__ ((packed)), leaving a comment.
714 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
715 (grub_mdraid_detect_09): ... here and ...
716 (grub_mdraid_detect_1x): ... here.
717
7182010-07-20 Peter Henn <peter.henn@web.de>
719
720 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
721 chunk size and disk size, which are already given as sector counts
722 as distinct from the 0.90 units. Fetch the correct device number
723 from the role table instead of using the table index.
724
7252010-07-20 Felix Zielcke <fzielcke@z-51.de>
726
727 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
728 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
729 (WriteMostly1): New macro.
730 Set array->name to NULL for metadata format 0.90. Add support for
731 metadata 1.x. Fix some comments.
732 * disk/raid.c (): Add support for name based RAID arrays. Fix a
733 few comments.
734 * util/getroot.c (grub_util_get_grub_dev): Add support for
735 /dev/md/name style devices.
736
4b761da9
CW
7372010-07-20 Colin Watson <cjwatson@ubuntu.com>
738
739 * .bzrignore: Ignore 20_linux_xen.
740
5771289a
CW
7412010-07-17 Colin Watson <cjwatson@ubuntu.com>
742
743 * util/import_unicode.py: Remove unnecessary imports.
744
5dab68df
AN
7452010-07-17 Aleš Nesrsta <starous@volny.cz>
746
747 Hotplugging and USB hub support.
748
749 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
750 (grub_ohci): Likewise.
751 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
752 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
753 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
754 (GRUB_OHCI_CTRL_EDS): Likewise.
755 (GRUB_OHCI_BULK_EDS): Likewise.
756 (GRUB_OHCI_TDS): Likewise.
757 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
758 (grub_ohci_ed_phys2virt): New function.
759 (grub_ohci_virt_to_phys): Likewise.
760 (grub_ohci_td_phys2virt): Likewise.
761 (grub_ohci_td_virt2phys): Likewise.
762 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
763 attachment.
764 (grub_ohci_find_ed): New function.
765 (grub_ohci_alloc_td): Likewise.
766 (grub_ohci_free_td): Likewise.
767 (grub_ohci_free_tds): Likewise.
768 (grub_ohci_transfer): Use previously allocated memory.
769 (grub_ohci_portstatus): Reset status changed bit.
770 (grub_ohci_detect_dev): Supply status changed.
771 (grub_ohci_fini_hw): Free memory.
772 (grub_ohci_restore_hw): Reallocate memory.
773 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
774 Reset status change.
775 (grub_uhci_detect_dev): Supply status_change.
776 * bus/usb/usb.c (attach_hooks): New var.
777 (grub_usb_device_attach): New function.
778 (grub_usb_register_attach_hook_class): Likewise.
779 (grub_usb_unregister_attach_hook_class): Likewise.
780 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
781 (grub_usb_add_hub): Reset connection changed bit.
782 (attach_root_port): New function.
783 (grub_usb_root_hub): Likewise.
784 (poll_nonroot_hub): Likewise.
785 (grub_usb_poll_devices): Likewise.
786 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
787 * disk/usbms.c (grub_usbms_open): Use device hooks.
788 (grub_usbms_iterate) :Poll devices.
789 (grub_usbms_finddevs): Split into ...
790 (grub_usbms_attach): ... this ...
791 (grub_usbms_attach): ... and this.
792 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
793 in detect_dev.
794 (grub_usb_interface): New fields attached and detach_hook.
795 (grub_usb_attach_hook_class): New type.
796 (grub_usb_attach_desc): New struct.
797 (grub_usb_register_attach_hook_class): New function.
798 (grub_usb_unregister_attach_hook_class): Likewise.
799 (grub_usb_poll_devices): Likewise.
800 (grub_usb_device_attach): Likewise.
801 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
802 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
803
3222efaf
VS
8042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
807 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
808 delta determination style. Works with most NetBSD partitions too.
809
139b714a
VS
8102010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
813 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
814
986aad56
VS
8152010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
818
99be513c
AB
8192010-07-14 Anton Blanchard <anton@samba.org>
820
821 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
822 ET_DYN files.
823
18075f62
GS
8242010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
825
826 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
827
8d9a5b15
GS
8282010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
829
830 * kern/partition.c (grub_partition_check_containment): New function to
831 check that a partition is physically contained in a parent. Since
832 offsets are relative (and non-negative), this reduces to checking that
833 the partition ends before its parent.
834 (grub_partition_map_probe): Discard out-of-range sub-partitions.
835 (grub_partition_iterate): Likewise.
836 * include/grub/partition.h (grub_partition_map): Slightly more detailed
837 comments.
838 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
839 partitions that start before their parent, and add debug printfs.
840
19563c25
CW
8412010-07-13 Colin Watson <cjwatson@ubuntu.com>
842
843 * Makefile.in (.SUFFIX): Spell correctly, as ...
844 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
845 bare module name without `.mod', e.g. `test') tried to invoke a
846 Modula-2 compiler.
847
1a1f1e67
CW
8482010-07-13 Colin Watson <cjwatson@ubuntu.com>
849
850 * README: Point to the Info manual.
851
811b0dca
JS
8522010-07-13 Jiro SEKIBA <jir@unicus.jp>
853
854 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
855 2nd superblock position from partition size.
856
e4f4eafc
CW
8572010-07-10 Colin Watson <cjwatson@ubuntu.com>
858
859 * Makefile.in (MAINTAINER_CLEANFILES): Remove
860 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
861 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
862 outputs.
863
4274c30f
VS
8642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
865
866 Restructure SCSI .id handling.
867 Reported and tested by: Aleš Nesrsta.
868
869 * disk/ata.c (grub_atapi_close): Removed. All users updated.
870 (grub_atapi_dev): Changed .name to "ata". New field .id.
871 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
872 (grub_usbms_dev): New field .id.
873 * disk/scsi.c (grub_scsi_iterate): Generate name.
874 (grub_scsi_open): Parse name.
875 * include/grub/scsi.h (grub_make_scsi_id): New function.
876 (grub_scsi_dev): Change iterate and open to number instead of naming
877 busses. All users updated.
878 (grub_scsi): Remove name. Add .bus.
879
5bc24388
VS
8802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * commands/help.c (grub_cmd_help): Fix a typo.
883
249975ba
VS
8842010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
887 Reported and tested by: Colin Watson.
888
3eaac1a1
VS
8892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
892 in this context.
893
becce1b1
VS
8942010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
897
f7bf0918
CW
8982010-07-07 Colin Watson <cjwatson@ubuntu.com>
899
900 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
901 indentation.
902
0b0f9620
CW
9032010-07-06 Colin Watson <cjwatson@ubuntu.com>
904
905 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
906 and disk/raid6_recover.c.
907 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
908 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
909
1e545469
CW
9102010-07-06 Colin Watson <cjwatson@ubuntu.com>
911
912 * term/gfxterm.c (repaint_schedulded): Rename to ...
913 (repaint_scheduled): ... this. Update all callers.
914 (repaint_was_schedulded): Rename to ...
915 (repaint_was_scheduled): ... this. Update all callers.
916
5357687a
CW
9172010-07-06 Colin Watson <cjwatson@ubuntu.com>
918
919 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
920 which we expect to be handled by upper layers.
921
29d7e783
BC
9222010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
923
924 * bus/usb/usbhub.c: #include time.h header.
925
37582066
CW
9262010-07-06 Colin Watson <cjwatson@ubuntu.com>
927
928 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
929 entry_name also for entries without stat blocks (e.g. ".."); fixes
930 corruption of the first entry in a directory.
931
c8c06953
CW
9322010-07-06 Colin Watson <cjwatson@ubuntu.com>
933
934 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
935 after setting gfxterm as the active terminal. GRUB_BACKGROUND
936 doesn't work otherwise.
937
e75056f1
CW
9382010-07-05 Colin Watson <cjwatson@ubuntu.com>
939
940 * docs/grub.texi (Features): Update list of supported file systems.
941 (GNU/Linux): Update for GRUB 2.
942 (Serial terminal): Remove mention of --disable-serial, which was a
943 GRUB Legacy configure option. Update instructions to use
944 `terminal_input' and `terminal_output' rather than `terminal'.
945 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
946 configuration' and `Installing GRUB using grub-install'.
947 (Menu entry editor): Update for GRUB 2.
948 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
949 Document new -a, -u, and -v options.
950 (initrd): New section.
951 (initrd16): New section.
952 (linux): New section.
953 (linux16): New section.
954 (search): The `var' argument to `--set' is optional.
955 (GRUB only offers a rescue shell): Go into a little more detail on
956 drive ordering.
957
5cf69151
CW
9582010-07-05 Colin Watson <cjwatson@ubuntu.com>
959
960 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
961
e3f90044
CW
9622010-07-05 Colin Watson <cjwatson@ubuntu.com>
963
964 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
965 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
966
38d8f4f3
CW
9672010-07-05 Colin Watson <cjwatson@ubuntu.com>
968
969 * util/i386/pc/grub-setup.c (setup): Rename prefix to
970 install_prefix, in line with install_dos_part and install_bsd_part.
971 Add new prefix variable, which is copied to install_prefix after
972 comparing core.img in memory with the one read from disk in the
973 no-embedding case, and use that rather than overwriting
974 install_prefix immediately when installing to a partition.
975 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
976 Bicakci.
977
57ebd41e
GS
9782010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
979
980 * configure.ac: Avoid == in test command, it's not portable.
981 * util/grub.d/30_os-prober.in: Likewise.
982
cb7f64b2
CW
9832010-07-04 Colin Watson <cjwatson@ubuntu.com>
984
985 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
986
6b654bb0
GS
9872010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
988
989 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
990 multiple (top-level) partmaps.
991
72a2026d
VS
9922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 995 Reported by: Tino Keitel.
72a2026d 996
df3eb88f
VS
9972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
998
999 Bidi and diacritics support.
1000
1001 * Makefile.in (widthspec.bin): New target.
1002 (widthspec.h): Likewise.
1003 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
1004 * autogen.sh: Generate unidata.c.
1005 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
1006 * commands/ls.c (grub_ls_list_devices): Likewise.
1007 (grub_ls_list_files): Likewise.
1008 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
1009 (grub_mini_cmd_lsmod): Likewise.
1010 * commands/read.c: Likewise.
1011 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
1012 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
1013 * lib/arg.c (grub_arg_show_help): Likewise.
1014 * lib/crypto.c (grub_password_get): Likewise.
1015 * normal/auth.c (grub_username_get): Likewise.
1016 * normal/misc.c (grub_normal_print_device_info): Likewise.
1017 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
1018 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
1019 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
1020 (normal/charset.c_DEPENDENCIES): New variable.
1021 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
1022 (pkglib_MODULES): Remove charset.mod.
1023 (charset_mod_SOURCES): Removed.
1024 (charset_mod_CFLAGS): Likewise.
1025 (charset_mod_LDFLAGS): Likewise.
1026 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
1027 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
1028 and term/tparm.c.
1029 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1030 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1031 (kernel_img_HEADERS): Add terminfo.h.
1032 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
1033 Fill ->font. Reverse ascii bitmaps.
1034 (grub_font_get_xheight): New function.
1035 * font/font.c (grub_font_get_string_width): Moved from here ...
1036 * gfxmenu/font.c (grub_font_get_string_width): ... here.
1037 * font/font.c (grub_font_draw_string): Moved from here ...
1038 * gfxmenu/font.c (grub_font_draw_string): ... here.
1039 * font/font.c (grub_font_dup_glyph): New function.
1040 (grub_font_blit_glyph): Likewise.
1041 (grub_font_blit_glyph_mirror): Likewise.
1042 (blit_comb): Likewise.
1043 (grub_font_construct_dry_run): Likewise.
1044 (grub_font_get_constructed_device_width): Likewise.
1045 (grub_font_construct_glyph): Likewise.
1046 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
1047 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
1048 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
1049 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
1050 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
1051 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
1052 (grub_font_get_xheight): New proto.
1053 (grub_font_get_constructed_device_width): Likewise.
1054 (grub_font_construct_glyph): Likewise.
1055 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
1056 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
1057 * include/grub/font.h (grub_font_draw_string): Moved from here ...
1058 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
1059 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
1060 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
1061 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
1062 (grub_console_getcharwidth): Likewise.
1063 * include/grub/misc.h (grub_xputs): New proto.
1064 (grub_puts): Inlined.
1065 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
1066 (grub_normal_get_line_counter): Removed.
1067 (grub_install_newline_hook): Likewise.
1068 (grub_normal_get_char_counter): New proto.
1069 (grub_normal_reset_more): Likewise.
1070 (grub_xputs_normal): Likewise.
1071 * include/grub/powerpc/ieee1275/console.h: Removed.
1072 * include/grub/sparc64/ieee1275/console.h: Likewise.
1073 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
1074 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
1075 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
1076 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
1077 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
1078 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
1079 (grub_term_input): Pass reference to self. All users updated.
1080 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
1081 Pass reference to self. New fields normal_color, highlight_color and
1082 data. All users updated.
1083 (grub_putchar): Removed.
1084 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
1085 (grub_unicode_estimate_width): New function.
1086 (grub_term_getcharwidth): Add defaults.
1087 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
1088 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
1089 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
1090 (grub_cls): Remove EXPORT_FUNC.
1091 (grub_setcolorstate): Inline.
1092 (grub_newline_hook): Removed.
1093 * include/grub/terminfo.h: Rewritten. All users updated.
1094 * include/grub/unicode.h: New file.
1095 * include/grub/video.h (grub_video_signed_rect): New type.
1096 * kern/emu/console.c (grub_console_highlight_color): Removed.
1097 (grub_console_normal_color): Likewise.
1098 (grub_console_standard_color): Made static.
1099 (grub_ncurses_putchar): Remove mapping.
1100 (grub_ncurses_getcharwidth): Removed.
1101 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1102 (grub_ncurses_setcolor): Removed.
1103 (grub_ncurses_getcolor): Likewise.
1104 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
1105 (grub_console_putchar): ... this.
1106 (grub_console_putchar): Handle argument difference.
1107 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
1108 console_init_early and console_init_lately.
1109 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
1110 * kern/misc.c (grub_puts): Removed.
1111 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
1112 (grub_vsnprintf_real): Remove str = NULL support.
1113 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
1114 * normal/charset.c (grub_utf8_to_ucs4): ... here.
1115 * kern/term.c (grub_putcode): Renamed to ...
1116 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
1117 (grub_putchar): Removed.
1118 (grub_xputs_dumb): New function.
1119 (grub_xputs): New variable.
1120 * lib/charset.c: Move from here ...
1121 * normal/charset.c: ... to here.
1122 (grub_ucs4_to_utf8): New function.
1123 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
1124 (join_types): New variable.
1125 (unpack_join): New function.
1126 (bidi_types): New variable.
1127 (unpack_bidi): New function.
1128 (get_bidi_type): Likewise.
1129 (get_join_type): Likewise.
1130 (is_mirrored): Likewise.
1131 (grub_unicode_get_comb_type): Likewise.
1132 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
1133 (is_type_after): Likewise.
1134 (grub_unicode_aglomerate_comb): Likewise.
1135 (bidi_line_wrap): Likewise.
1136 (grub_bidi_line_logical_to_visual): Likewise.
1137 (grub_bidi_logical_to_visual): Likewise.
1138 (grub_unicode_mirror_code): Likewise.
1139 (grub_unicode_shape_code): Likewise.
1140 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
1141 Don't use grub_putchar.
1142 * normal/main.c (grub_normal_init_page): Use grub_putcode.
1143 (grub_normal_reader_init): Likewise.
1144 (grub_xputs_saved): New variable.
1145 (GRUB_MOD_INIT): Set grub_xputs.
1146 (GRUB_MOD_FINI): Restore grub_xputs.
1147 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
1148 (menu_init): Avoid printing gfxmenu error.
1149 (show_menu): Use grub_normal_get_char_counter.
1150 * normal/menu_entry.c (update_screen): Fix out-of-array.
1151 (complete): Avoid NULL dereferencing.
1152 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
1153 * normal/menu_text.c (print_spaces): Removed.
1154 (grub_print_ucs4): Likewise.
1155 (grub_print_message_indented): Use grub_print_ucs4.
1156 (print_message): Use grub_putcode.
1157 (print_entry): Hanlde diacritics.
1158 * normal/term.c (term_state): New type.
1159 (grub_more_lines): Removed.
1160 (term_states): New variable.
1161 (grub_normal_line_counter): Renamed to ..
1162 (grub_normal_char_counter): ...this. All users updated.
1163 (grub_normal_get_line_counter): Renamed to ...
1164 (grub_normal_get_char_counter): ... this.
1165 (grub_normal_reset_more): New function.
1166 (process_newline): Removed.
1167 (print_more): New function.
1168 (grub_install_newline_hook): Removed.
1169 (map_code): New function.
1170 (grub_puts_terminal): Use grub_print_ucs4.
1171 (putglyph): New function.
1172 (putcode_real): Likewise.
1173 (grub_putcode): Use putcode_real.
1174 (get_maxwidth): New function.
1175 (get_startwidth): Likewise.
1176 (print_ucs4_terminal): Likewise.
1177 (find_term_state): Likewise.
1178 (put_glyphs_terminal): Likewise.
1179 (print_backlog): Likewise.
1180 (print_ucs4_real): Likewise.
1181 (grub_print_ucs4): Likewise.
1182 (grub_xputs_normal): Likewise.
1183 * term/efi/console.c (grub_console_putchar): Output diacritics.
1184 (grub_console_getcharwidth): Removed.
1185 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1186 * term/gfxterm.c (clear_char): Free chars.
1187 (scroll_up): Avoid leaking memory.
1188 (grub_gfxterm_putchar): Support diacritics.
1189 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1190 * term/i386/pc/console.c (grub_console_term_output): Declare as
1191 GRUB_TERM_CODE_TYPE_VGA.
1192 * term/i386/pc/vga.c (grub_vga_term): Declare as
1193 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
1194 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
1195 GRUB_TERM_CODE_TYPE_VGA.
1196 * term/i386/vga_common.c (map_char): Removed.
1197 (grub_console_putchar): Likewise.
1198 (grub_console_getcharwidth): Likewise.
1199 * term/ieee1275/ofconsole.c: Simplify using terminfo.
1200 (colors): Reordered to match terminfo.
1201 (grub_ofconsole_normal_color): Removed.
1202 (grub_ofconsole_writeesc): Likewise.
1203 (grub_ofconsole_highlight_color): Likewise.
1204 (grub_ofconsole_getcharwidth): Likewise.
1205 (grub_ofconsole_setcolorstate): Likewise.
1206 (grub_ofconsole_setcolor): Likewise.
1207 (grub_ofconsole_getcolor): Likewise.
1208 (grub_ofconsole_readkey): Renamed to ...
1209 (readkey): ... this. Remove escape sequence handling. Return -1 on no
1210 key.
1211 (grub_ofconsole_checkkey): Removed.
1212 (grub_ofconsole_getkey): Likewise.
1213 (grub_ofconsole_getxy): Likewise.
1214 (grub_ofconsole_gotoxy): Likewise.
1215 (grub_ofconsole_cls): Likewise.
1216 (grub_ofconsole_refresh): Likewise.
1217 (grub_ofconsole_terminfo_input): New struct.
1218 (grub_ofconsole_terminfo_output): Likewise.
1219 (grub_ofconsole_term_input): Use terminfo.
1220 (grub_ofconsole_term_output): Likewise.
1221 (grub_console_init): Split into ...
1222 (grub_console_init_early): ...this and ...
1223 (grub_console_init_lately): ...this. Use terminfo.
1224 (grub_ofconsole_putchar): Renamed to ...
1225 (put): ... this. Remove mapping.
1226 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1227 * term/serial.c: Simplify using terminfo.
1228 (xpos): Removed.
1229 (ypos): Likewise.
1230 (keep_track): Likewise.
1231 (registered): Likewise.
1232 (input_buf): Likewise.
1233 (npending): Likewise.
1234 (serial_translate_key_sequence): Likewise.
1235 (fill_input_buf): Likewise.
1236 (grub_serial_checkkey): Likewise.
1237 (grub_serial_getkey): Likewise.
1238 (grub_serial_getxy): Likewise.
1239 (grub_serial_gotoxy): Likewise.
1240 (grub_serial_putchar): Likewise.
1241 (grub_serial_cls): Likewise.
1242 (grub_serial_setcolorstate): Likewise.
1243 (grub_serial_setcursor): Likewise.
1244 (serial_hw_init): Use serial_hw_fetch.
1245 (grub_serial_terminfo_input): New variable.
1246 (grub_serial_terminfo_output): Likewise.
1247 (grub_serial_term_input): Use terminfo.
1248 (grub_serial_term_output): Likewise.
1249 * term/terminfo.c (putstr): Use put.
1250 (grub_terminfo_all_free): New function
1251 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
1252 (grub_terminfo_output_register): New function.
1253 (grub_terminfo_output_unregister): Likewise.
1254 (grub_terminfo_getxy): Likewise.
1255 (grub_terminfo_readkey): Likewise.
1256 (grub_terminfo_checkkey): Likewise.
1257 (grub_terminfo_getkey): Likewise.
1258 (grub_terminfo_input_init): Likewise.
1259 (print_terminfo): Likewise.
1260 (grub_cmd_terminfo): Handle encoding.
1261 (grub_terminfo_gotoxy): Track position.
1262 (grub_terminfo_cls): Likewise.
1263 (grub_terminfo_putchar): Likewise.
1264 (grub_terminfo_setcolorstate): Handle colors
1265 (grub_terminfo_cursor_on): This ...
1266 (grub_terminfo_cursor_off): ... and this merged into ...
1267 (grub_terminfo_setcursor): ... this.
1268 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
1269 * unicode/ArabicShaping.txt: New file (imported from Unicode).
1270 * unicode/BidiMirroring.txt: Likewise.
1271 * unicode/UnicodeData.txt: Likewise.
1272 * unicode/COPYING: Likewise.
1273 * util/grub-editenv.c (grub_putchar): Removed.
1274 (grub_xputs_real): New function.
1275 (grub_xputs): New variable.
1276 * util/grub-fstest.c (grub_putchar): Removed.
1277 (grub_xputs_real): New function.
1278 (grub_xputs): New variable.
1279 * util/grub-mkdevicemap.c (grub_putchar): Removed.
1280 (grub_xputs_real): New function.
1281 (grub_xputs): New variable.
1282 * util/grub-probe.c (grub_putchar): Removed.
1283 (grub_xputs_real): New function.
1284 (grub_xputs): New variable.
1285 * util/grub-script-check.c (grub_putchar): Removed.
1286 (grub_xputs_real): New function.
1287 (grub_xputs): New variable.
1288 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
1289 (grub_xputs_real): New function.
1290 (grub_xputs): New variable.
1291 * util/import_unicode.py: New file.
1292 * util/grub-mkfont.c (ft_errmsgs): New array.
1293 (grub_glyph_info): Make bitmap a pointer.
1294 (file_formats): New type WIDTH_SPEC.
1295 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
1296 (options): Add width-spec.
1297 (help): Likewise.
1298 (add_char): Renamed to ...
1299 (add_glyph): ... this.
1300 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
1301 (glyph_replace): New type.
1302 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
1303 (add_char): New function.
1304 (add_subst): Likewise.
1305 (process_cursive): Likewise.
1306 (add_font): Handle GSUB.
1307 (write_font_width_spec): New function.
1308 (main): Sort glyphs.
1309 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
1310 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
1311 * kern/term.c (grub_cls): Moved from here...
1312 * normal/term.c (grub_cls): ... here.
1313
50f0bcda
CW
13142010-07-02 Colin Watson <cjwatson@ubuntu.com>
1315
1316 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
1317 suitable for using within the format argument of printf when
1318 converting grub_size_t.
1319 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
1320 "x" to convert grub_size_t arguments.
1321
40372103
VS
13222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
1325 too long captions.
1326 (list_get_minimal_size): Take selection box into account.
1327
942a10c7
VS
13282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
1331 NULL font.
1332
2bdb2892
CW
13332010-07-02 Colin Watson <cjwatson@ubuntu.com>
1334
1335 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
1336 devices when iterating over /dev/disk/by-id; they will be handled
1337 later if appropriate, which they aren't always (e.g. LVM).
1338
e03ed6c1
CW
13392010-07-02 Colin Watson <cjwatson@ubuntu.com>
1340
1341 * include/grub/misc.h (grub_reboot): Declare as noreturn.
1342 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
1343 fails.
1344 (grub_halt): Likewise.
1345 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
1346 reset-all fails.
1347 (grub_halt): Don't return, even if all of shut-down, power-off, and
1348 poweroff fail.
1349
47695765
CW
13502010-07-02 Colin Watson <cjwatson@ubuntu.com>
1351
1352 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
1353 arguments, not three.
1354
507736c8
CW
13552010-07-02 Colin Watson <cjwatson@ubuntu.com>
1356
1357 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
1358 * util/grub.d/10_linux.in: Use it to check for LVM, so that
1359 LVM-on-RAID is handled correctly.
1360
e3c8cd37
CW
13612010-07-02 Colin Watson <cjwatson@ubuntu.com>
1362
1363 * docs/grub.texi (Changes from GRUB Legacy): New section.
1364 (Future): Fix typo.
1365
8d4a2fec
CW
13662010-07-02 Colin Watson <cjwatson@ubuntu.com>
1367
1368 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
1369 grub.d/README accidentally ends up executable for one reason or
1370 another. Ignore it.
1371
1c4827be
VS
13722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
1375 (gpt_partition_map_iterate): Support non-512B sectors.
1376
d9a0c941
VS
13772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * kern/efi/init.c (grub_efi_init): Disable watchdog.
1380 Tested by: Seth Goldberg.
1381
48f27e87
VS
13822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
1385 Properly align mbi.
1386 Reported by: Seth Goldberg.
1387
b0c4f956
VS
13882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * util/grub-mkrescue.in: Avoid module duplication.
1391
105a2e8c
SF
13922010-07-01 Sean Finney <seanius@seanius.net>
1393
1394 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
1395
5944958c
SF
13962010-07-01 Sean Finney <seanius@seanius.net>
1397
1398 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
1399
14002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * disk/lvm.c (grub_lvm_checkvalue): New function.
1403 (grub_lvm_check_flag): Likewise.
1404
b79889ba
RM
14052010-07-01 Robert Millan <rmh@gnu.org>
1406
1407 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1408 Support 'p' as partition separator on kernel of FreeBSD (used
1409 with GPT labels).
1410 (grub_util_biosdisk_get_grub_dev): Likewise.
1411
ec1d04f1
VS
14122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Yeeloong firmware port.
1415
1416 * boot/mips/yeeloong/fwstart.S: New file.
1417 * bus/cs5536.c (gpiodump): New const.
1418 (set_io_space): New function.
1419 (set_iod): Likewise.
1420 (set_p2d): Likewise.
1421 (grub_cs5536_init_geode): Likewise.
1422 * commands/mips/yeeloong/lsspd.c: New file.
1423 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1424 (serial_mod_SOURCES): New variable.
1425 (serial_mod_CFLAGS): Likewise.
1426 (serial_mod_LDFLAGS): Likewise.
1427 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1428 term/terminfo.c and term/tparm.c.
1429 (pkglib_IMAGES): Add fwstart.img.
1430 (fwstart_img_SOURCES): New variable.
1431 (fwstart_img_CFLAGS): Likewise.
1432 (fwstart_img_ASFLAGS): Likewise.
1433 (fwstart_img_LDFLAGS): Likewise.
1434 (fwstart_img_FORMAT): Likewise.
1435 (pkglib_MODULES): Add lsspd.mod.
1436 (lsspd_mod_SOURCES): New variable.
1437 (lsspd_mod_CFLAGS): Likewise.
1438 (lsspd_mod_LDFLAGS): Likewise.
1439 (pkglib_MODULES): Add halt.mod.
1440 (halt_mod_SOURCES): New variable.
1441 (halt_mod_CFLAGS): Likewise.
1442 (halt_mod_LDFLAGS): Likewise.
1443 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1444 (serial_mod_SOURCES): Removed.
1445 (serial_mod_CFLAGS): Likewise.
1446 (serial_mod_LDFLAGS): Likewise.
1447 * disk/ata.c (check_device): New function.
1448 (grub_ata_device_initialize): Use check_device.
1449 (grub_ata_iterate): Recheck devices.
1450 (grub_ata_open): Likewise.
1451 (grub_atapi_iterate): Likewise.
1452 (grub_atapi_open): Likewise.
1453 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1454 (GRUB_ATA_CH1_PORT1): Likewise.
1455 (GRUB_ATA_CH0_PORT2): Likewise.
1456 (GRUB_ATA_CH1_PORT2): Likewise.
1457 * include/grub/mips/loongson.h: New file.
1458 * include/grub/mips/yeeloong/ec.h: Likewise.
1459 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1460 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1461 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1462 * include/grub/misc.h (grub_halt): Declare as noreturn.
1463 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1464 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1465 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1466 (UART_ENABLE_DTRRTS): Likewise.
1467 (UART_ENABLE_MODEM): Removed.
1468 (UART_ENABLE_OUT2): New const.
1469 * include/grub/term.h (grub_term_register_input_active): New function.
1470 (grub_term_register_output_active): Likewise.
1471 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1472 argument.
1473 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1474 (init_pci): New function.
1475 (grub_machine_init): Execute platform init when firmware. Init serial.
1476 (grub_halt): Implement.
1477 (grub_exit): Likewise.
1478 (grub_reboot): Likewise.
1479 * term/serial.c (serial_hw_init): Update macros.
1480 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1481 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1482 (image_targets): New target mipsel-yeeloong-flash.
1483 (generate_image): Support IMAGE_YEELOONG_FLASH.
1484 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1485 (grub_video_sm712_setup): Init card.
1486 (grub_video_sm712_set_palette): Removed.
1487 * video/sm712_init.c: New file.
1488
ff4a70d2
CW
14892010-06-30 Colin Watson <cjwatson@ubuntu.com>
1490
1491 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1492 PATH when running help2man and then run it on the unadorned
1493 executable names, rather than passing $(builddir)/* paths to
1494 help2man. This avoids the build directory ending up in generated
1495 manual pages.
1496
1246efeb
CW
14972010-06-29 Colin Watson <cjwatson@ubuntu.com>
1498
1499 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1500 to avoid accidents when debugging with 'sh -x'.
1501 * util/grub-mkrescue.in: Likewise.
1502 * util/grub.d/00_header.in: Likewise.
1503 * util/grub.d/10_hurd.in: Likewise.
1504 * util/grub.d/10_kfreebsd.in: Likewise.
1505 * util/grub.d/10_linux.in: Likewise.
1506 * util/grub.d/10_netbsd.in: Likewise.
1507 * util/grub.d/10_windows.in: Likewise.
1508 * util/grub.d/20_linux_xen.in: Likewise.
1509 * util/grub.d/30_os-prober.in: Likewise.
1510 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1511
1ba9b889
CW
15122010-06-29 Colin Watson <cjwatson@ubuntu.com>
1513
1514 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1515 last character in the buffer.
1516 Reported by: Vladimir Serbinenko.
1517
dccaf99d
RM
15182010-06-29 Robert Millan <rmh@gnu.org>
1519
1520 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1521 (Command-line and menu entry commands): Document `badram' command.
1522
d500ed12
RM
15232010-06-28 Robert Millan <rmh@gnu.org>
1524
1525 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1526 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1527 command using ${GRUB_BADRAM} as parameter.
1528
20bc84a6
CW
15292010-06-28 Colin Watson <cjwatson@ubuntu.com>
1530
1531 * docs/grub.texi (Device map): New section.
1532 (Themes): New section (stub).
1533 * Makefile.in (docs/grub.info): The info documentation now builds
1534 without errors. Make sure it stays that way.
1535
4045dee1
VS
15362010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Use normal parser for menu entries.
1539 Reported by: Thomas Frauendorfer
1540
1541 * include/grub/parser.h (grub_parser_execute): Don't export.
1542 * normal/menu.c (grub_menu_execute_entry_real): New function.
1543 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1544
bca58c7b
CW
15452010-06-28 Colin Watson <cjwatson@ubuntu.com>
1546
1547 * docs/grub.texi (Embedded configuration): New section (replacing
1548 old "Preset Menu" stub).
1549 (Images): New section.
1550 (configfile): Note that any menu entries defined in `file' are shown
1551 immediately.
1552
dec53e63
JT
15532010-06-28 Josh Triplett <josh@joshtriplett.org>
1554
1555 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1556
c06e40f7
CW
15572010-06-28 Colin Watson <cjwatson@ubuntu.com>
1558
1559 * util/grub-install.in: Add --debug-image= option.
1560
cb88052b
CW
15612010-06-28 Colin Watson <cjwatson@ubuntu.com>
1562
1563 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1564 possible on Linux.
1565
1566 * util/deviceiter.c (check_device): Rename to ...
1567 (check_device_readable_unique): ... this. Update all callers.
1568 Maintain and check a list of which devices (by canonicalized name)
1569 have already been seen.
1570 (clear_seen_devices): New function.
1571 (compare_file_names) [__linux__]: New function.
1572 (grub_util_iterate_devices): Clear the list of seen devices on exit
1573 and (just in case) on entry.
1574 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1575 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1576 seen-devices list, superseded by general code in check_device.
1577
bbe34652
CW
15782010-06-28 Colin Watson <cjwatson@ubuntu.com>
1579
1580 * commands/cat.c (options): New variable.
1581 (grub_cmd_cat): Parse options. If the --dos option is given, print
1582 DOS-style "\r\n" line endings as simple newlines (Debian bug
1583 #586358).
1584 (GRUB_MOD_INIT): Use extcmd.
1585 (GRUB_MOD_FINI): Likewise.
1586 * docs/grub.texi (cat): Document --dos.
1587
412e09f3
VS
15882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 XEN with Linux grub-mkconfig support.
1591
1592 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1593 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1594 GRUB_CMDLINE_XEN_DEFAULT.
1595 * util/grub.d/20_linux_xen.in: New file.
1596
53f3ef38 15972010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
1598
1599 Initialise VGA video on qemu ourselves.
1600
1601 * boot/i386/qemu/boot.S: Don't call 0xc000.
1602 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1603 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1604 (kernel_img_HEADERS): Add pci.h.
1605 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1606 * configure.ac: Force unifont on qemu and yeeloong.
1607 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1608 (grub_vga_palette_write): Use correct register.
1609 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1610 Call grub_qemu_init_cirrus.
1611 * kern/i386/qemu/init.c: New file.
1612 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1613
1614 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1615
c75be4fb
PR
16162010-06-26 Pavel Roskin <proski@gnu.org>
1617
1618 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1619 13.
1620
d8034603
CW
16212010-06-26 Colin Watson <cjwatson@ubuntu.com>
1622
1623 * docs/grub.texi (Simple configuration): Explain that
1624 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1625 set to `true' to disable their respective recovery entries, not
1626 merely set.
1627
3fa06487
CW
16282010-06-26 Colin Watson <cjwatson@ubuntu.com>
1629
1630 Make the `source' command slightly faster.
1631
1632 * normal/main.c (grub_normal_execute): Don't re-read list files when
1633 nested.
1634
e9b29642
CW
16352010-06-23 Colin Watson <cjwatson@ubuntu.com>
1636
1637 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1638 field position and mask size to red fields from mode_info, not
1639 green.
1640 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1641 Remove redundant tag->common.framebuffer_type assignment.
1642 Reported by: Seth Goldberg.
1643
e726542f
CW
16442010-06-23 Colin Watson <cjwatson@ubuntu.com>
1645
1646 Sync up other versions of the Linux loader with Robert Millan's
1647 change of 2010-01-09, "Make loader output a bit more user-friendly".
1648
1649 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1650 grub_dprintf().
1651 (grub_cmd_linux): Likewise.
1652 (grub_cmd_initrd): Likewise.
1653 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1654 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1655
d6e98a17
CW
16562010-06-21 Colin Watson <cjwatson@ubuntu.com>
1657
1658 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1659 larger than MEMORY_MAP_SIZE.
1660
14d3f08e
BC
16612010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1662
1663 Fix parallel build.
1664
1665 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1666 dependency.
1667 * script/parser.y: #include grub_script.tab.h header.
1668
4f9613a3
VS
16692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 Support >3GiB and <16MiB RAM in i386-qemu.
1672
1673 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1674 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1675 (grub_lower_mem): Removed.
1676 (grub_upper_mem): Likewise.
1677 (mem_size): Made static.
1678 (above_4g): New variable.
1679 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1680 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1681 support.
1682
05e51879
VS
16832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 Cirrus 5446 and Bochs video cards support.
1686
1687 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1688 video_bochs.mod
1689 (video_cirrus_mod_SOURCES): New variable.
1690 (video_cirrus_mod_CFLAGS): Likewise.
1691 (video_cirrus_mod_LDFLAGS): Likewise.
1692 (video_bochs_mod_SOURCES): Likewise.
1693 (video_bochs_mod_CFLAGS): Likewise.
1694 (video_bochs_mod_LDFLAGS): Likewise.
1695 * include/grub/vga.h: New file.
1696 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1697 (grub_video_fb_set_page_t): New type.
1698 (grub_video_fb_setup): New prototype.
1699 (grub_video_fb_swap_buffers): Likewise.
1700 (grub_video_fb_get_info_and_fini): Likewise.
1701 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1702 (CRTC_DATA_PORT): Likewise.
1703 (CRTC_CURSOR): Likewise.
1704 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1705 (CRTC_CURSOR_ADDR_LOW): Likewise.
1706 (CRTC_CURSOR_DISABLE): Likewise.
1707 (update_cursor): Use grub_vga_cr_write.
1708 (grub_vga_text_setcursor): Likewise.
1709 * video/bochs.c: New file.
1710 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1711 (palette): Likewise.
1712 (palette_size): Likewise.
1713 (framebuffer): New variable.
1714 (grub_video_fb_init): Use 'framebuffer'.
1715 (grub_video_fb_fini): Likewise.
1716 (grub_video_fb_get_info): Likewise.
1717 (grub_video_fb_get_palette): Likewise.
1718 (grub_video_fb_set_palette): Likewise.
1719 (grub_video_fb_set_viewport): Likewise.
1720 (grub_video_fb_get_viewport): Likewise.
1721 (grub_video_fb_map_color): Likewise.
1722 (grub_video_fb_map_rgb): Likewise.
1723 (grub_video_fb_map_rgba): Likewise.
1724 (grub_video_fb_unmap_color): Likewise.
1725 (grub_video_fb_unmap_color_int): Likewise.
1726 (grub_video_fb_fill_rect): Likewise.
1727 (grub_video_fb_blit_bitmap): Likewise.
1728 (grub_video_fb_blit_render_target): Likewise.
1729 (grub_video_fb_scroll): Likewise.
1730 (grub_video_fb_create_render_target): Likewise.
1731 (grub_video_fb_doublebuf_blit_init): Likewise.
1732 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1733 (doublebuf_pageflipping_update_screen): New function.
1734 (doublebuf_pageflipping_init): Likewise.
1735 (grub_video_fb_setup): Likewise.
1736 (grub_video_fb_swap_buffers): Likewise.
1737 (grub_video_fb_get_info_and_fini): Likewise.
1738 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1739 All users updated.
1740 (doublebuf_pageflipping_commit): Restructured into ...
1741 (doublebuf_pageflipping_set_page): ... this.
1742 (doublebuf_pageflipping_update_screen): Removed.
1743 (doublebuf_pageflipping_init): Likewise.
1744 (double_buffering_init): Likewise.
1745 (grub_video_vbe_setup): Use grub_video_fb_setup.
1746 (grub_video_vbe_swap_buffers): Removed.
1747 (grub_video_vbe_set_active_render_target): Likewise.
1748 (grub_video_vbe_get_active_render_target): Likewise.
1749 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1750 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1751 grub_video_fb_set_active_render_target and
1752 grub_video_fb_get_active_render_target.
1753 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1754 (SEQUENCER_DATA_PORT): Likewise.
1755 (MAP_MASK_REGISTER): Likewise.
1756 (CRTC_ADDR_PORT): Likewise.
1757 (CRTC_DATA_PORT): Likewise.
1758 (START_ADDR_HIGH_REGISTER): Likewise.
1759 (START_ADDR_LOW_REGISTER): Likewise.
1760 (GRAPHICS_ADDR_PORT): Likewise.
1761 (GRAPHICS_DATA_PORT): Likewise.
1762 (READ_MAP_REGISTER): Likewise.
1763 (INPUT_STATUS1_REGISTER): Likewise.
1764 (INPUT_STATUS1_VERTR_BIT): Likewise.
1765 (get_map_mask): Use grub_vga_sr_read.
1766 (set_map_mask): Use grub_vga_sr_write.
1767 (set_read_map): Use grub_vga_gr_write.
1768 (set_start_address): Use grub_vga_cr_write.
1769 * video/sm712.c (framebuffer): Remove leftover fields.
1770
4321c64a
CW
17712010-06-20 Colin Watson <cjwatson@ubuntu.com>
1772
1773 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1774 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1775 instead. Replace the gfxterm backend check with a check that
1776 ${GRUB_PREFIX}/video.lst is non-empty.
1777 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1778 again.
1779 (load_video): New generated function. Call it before loading
1780 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1781 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1782 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1783 * docs/grub.texi (Simple configuration): Document
1784 GRUB_VIDEO_BACKEND.
1785
17862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Use video functions in linux and xnu loaders.
1789
1790 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1791 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1792 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1793 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1794 loader/i386/pc/linux.c.
1795 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1796 (find_line_len): Removed.
1797 (find_framebuf): Likewise.
1798 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1799 * loader/i386/efi/xnu.c: Removed.
1800 * loader/i386/pc/xnu.c: Moved from here...
1801 * loader/i386/xnu.c: ...here.
1802
1803 Enable priorities in video drivers.
1804
1805 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1806 (grub_video_adapter): New field prio.
1807 (grub_video_register): Respect prio when inserting.
1808 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1809 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1810 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1811 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1812 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1813 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1814 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1815
1816 Fix SDL driver ID.
1817
1818 * include/grub/video.h (grub_video_driver_id_t): New value
1819 GRUB_VIDEO_DRIVER_SDL.
1820 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1821
7d24e434
CW
18222010-06-17 Colin Watson <cjwatson@ubuntu.com>
1823
1824 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1825 argument to printf.
1826 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1827
c88a83f6
CW
18282010-06-17 Colin Watson <cjwatson@ubuntu.com>
1829
1830 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1831 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1832
094dfb69
CW
18332010-06-17 Colin Watson <cjwatson@ubuntu.com>
1834
1835 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1836 directly, and recommend grub-install instead.
1837 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1838
2164da6b
CW
18392010-06-17 Colin Watson <cjwatson@ubuntu.com>
1840
1841 Fix i386-pc prefix handling with nested partitions (Debian bug
1842 #585068). Note that the case where the core image is booted using
1843 multiboot and relocated from its original location still requires
1844 more work.
1845
1846 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1847 with "(,", fill the boot drive in between those two characters, but
1848 expect that a full partition specification including partition map
1849 names will follow.
1850 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1851 specified, write a prefix without the drive name but including a
1852 full partition specification.
1853
044e2e60
CW
18542010-06-16 Colin Watson <cjwatson@ubuntu.com>
1855
1856 * util/grub-mkconfig.in: Ignore non-option arguments, for
1857 compatibility with older versions (before 2010-06-12) which did the
1858 same. In particular, this makes it easier to ship an update-grub
1859 wrapper which is compatible with that used with GRUB Legacy (Debian
1860 bug #586056).
1861
5591324f
GS
18622010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1863
1864 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1865 for manual page generation.
1866
662e24d5
GS
18672010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1868
1869 * po/POTFILES: Remove leftover commands/handler.c.
1870
8d70754e
CW
18712010-06-14 Colin Watson <cjwatson@ubuntu.com>
1872
1873 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1874 left this script non-functional.
1875
41160e2e
CW
18762010-06-14 Colin Watson <cjwatson@ubuntu.com>
1877
1878 * docs/man/grub-emu.h2m: New file.
1879
b5309cc1
CW
18802010-06-13 Colin Watson <cjwatson@ubuntu.com>
1881
1882 * docs/grub.texi (Commands): Document reduced command set in rescue
1883 mode.
1884 (cpuid): New section.
1885
fcb2d090
GS
18862010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1887
1888 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1889 new partition naming style.
1890 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1891
96e5c556
BC
18922010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1893
1894 Add "-o grub.iso" like cmdline options support.
1895
1896 * util/grub-install.in: Improve cmdline option parsing.
1897 * util/grub-mkconfig.in: Likewise.
1898 * util/grub-mkrescue.in: Likewise.
1899 * util/grub-reboot.in: Likewise.
1900 * util/grub-set-default.in: Likewise.
1901 * util/i386/efi/grub-install.in: Likewise.
1902 * util/ieee1275/grub-install.in: Likewise.
1903 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1904
c16be99b
CW
19052010-06-12 Colin Watson <cjwatson@ubuntu.com>
1906
1907 * .bzrignore: Ignore 41_custom.
1908
ce08a9fb
TS
19092010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1910
1911 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1912
7beac90c
CW
19132010-06-12 Colin Watson <cjwatson@ubuntu.com>
1914
1915 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1916 prototype declarations.
1917
1918 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1919 generating fs, partmap, and video lists.
1920 * include/grub/fs.h (grub_fs_register): Omit prototype if
1921 GRUB_LST_GENERATOR is defined.
1922 * include/grub/partition.h (grub_partition_map_register): Likewise.
1923 * include/grub/video.h (grub_video_register): Likewise.
1924
1c8f0f8d
JM
19252010-06-12 Javier Martín <lordhabbit@gmail.com>
1926
1927 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1928
a6085973
TS
19292010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1930
1931 * util/grub-mkrescue.in: Support --xorriso argument.
1932
25c56d29
VS
19332010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1936 Suggested by: Thomas Schmitt.
1937
e03e4b24
VS
19382010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1941 Suggested by: Thomas Schmitt.
1942
57711df6
VS
19432010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 custom.cfg support.
1946
1947 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1948 * util/grub.d/41_custom.in: New file.
1949
ee62c427
CW
19502010-06-12 Colin Watson <cjwatson@ubuntu.com>
1951
1952 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1953 been merged back into normal.
1954
283af07a
CW
19552010-06-11 Colin Watson <cjwatson@ubuntu.com>
1956
1957 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1958 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1959
56a0d956
CW
19602010-06-11 Colin Watson <cjwatson@ubuntu.com>
1961
1962 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1963 when generating manual pages.
1964 * docs/man/grub-bin2h.h2m: New file.
1965 * docs/man/grub-editenv.h2m: New file.
1966 * docs/man/grub-fstest.h2m: New file.
1967 * docs/man/grub-install.h2m: New file.
1968 * docs/man/grub-macho2img.h2m: New file.
1969 * docs/man/grub-mkconfig.h2m: New file.
1970 * docs/man/grub-mkdevicemap.h2m: New file.
1971 * docs/man/grub-mkfont.h2m: New file.
1972 * docs/man/grub-mkimage.h2m: New file.
1973 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1974 * docs/man/grub-mkrelpath.h2m: New file.
1975 * docs/man/grub-mkrescue.h2m: New file.
1976 * docs/man/grub-ofpathname.h2m: New file.
1977 * docs/man/grub-pe2elf.h2m: New file.
1978 * docs/man/grub-probe.h2m: New file.
1979 * docs/man/grub-reboot.h2m: New file.
1980 * docs/man/grub-script-check.h2m: New file.
1981 * docs/man/grub-set-default.h2m: New file.
1982 * docs/man/grub-setup.h2m: New file.
1983
3a37e322
VS
19842010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 Use FOR_* macros instead of *_iterate whenever possible.
1987
1988 * commands/handler.c: Removed.
1989 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1990 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1991 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1992 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1993 (grub_probe_SOURCES): Remove kern/parser.c.
1994 (util/grub-script-check.c_DEPENDENCIES): Removed.
1995 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1996 and grub_script_check_init.c.
1997 (grub_script_check_init.lst): Removed.
1998 (grub_script_check_init.h): Likewise.
1999 (grub_script_check_init.c): Likewise.
2000 (pkglib_MODULES): Remove handler.mod and sh.mod.
2001 (handler_mod_SOURCES): Removed.
2002 (handler_mod_CFLAGS): Likewise.
2003 (handler_mod_LDFLAGS): Likewise.
2004 (normal_mod_SOURCES): Remove normal/handler.c.
2005 Add script/main.c, script/script.c, script/execute.c,
2006 script/function.c, script/lexer.c, grub_script.tab.c
2007 and grub_script.yy.c.
2008 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2009 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2010 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
2011 (grub_setup_SOURCES): Remove kern/parser.c.
2012 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2013 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
2014 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
2015 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2016 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2017 (grub_setup_SOURCES): Remove kern/parser.c.
2018 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2019 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
2020 * include/grub/command.h (grub_command_iterate): Removed.
2021 (FOR_COMMANDS): New macro.
2022 * include/grub/dl.h (grub_dl): New member next.
2023 (grub_dl_iterate): Removed.
2024 (grub_dl_head): New variable declaration.
2025 (FOR_DL_MODULES): New macro.
2026 * include/grub/fs.h: Include list.h.
2027 (grub_fs): Make next first element.
2028 (grub_fs_list): New variable declaration.
2029 (grub_fs_register): Make inline.
2030 (grub_fs_unregister): Likewise.
2031 (grub_fs_iterate): Removed.
2032 (FOR_FILESYSTEMS): New macro.
2033 * include/grub/handler.h: Removed.
2034 * include/grub/list.h (grub_list_hook_t): Removed.
2035 (grub_list_test_t): Likewise.
2036 (grub_list_pop): Likewise.
2037 (grub_list_iterate): Likewise.
2038 (grub_list_insert): Likewise.
2039 (FOR_LIST_ELEMENTS): New macro.
2040 * include/grub/parser.h (grub_parser_class): Removed.
2041 (grub_parser_register): Likewise.
2042 (grub_parser_unregister): Likewise.
2043 (grub_parser_get_current): Likewise.
2044 (grub_parser_set_current): Likewise.
2045 (grub_register_rescue_parser): Likewise.
2046 (grub_rescue_parse_line): New function.
2047 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
2048 * include/grub/script_sh.h (grub_script_function_list): New variable
2049 declaration.
2050 (FOR_SCRIPT_FUNCTIONS): New macro.
2051 (grub_script_function_iterate): Removed.
2052 (grub_normal_parse_line): New prototype.
2053 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
2054 (FOR_DISABLED_TERM_INPUTS): Likewise.
2055 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2056 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2057 * include/grub/video.h (grub_video_adapter): Move 'next' to first
2058 element.
2059 (grub_video_register): Inline.
2060 (grub_video_unregister): Likewise.
2061 (grub_video_adapter_list): New variable declaration.
2062 (grub_video_iterate): Removed.
2063 (FOR_VIDEO_ADAPTERS): New macro.
2064 * kern/dl.c (grub_dl_list): Removed. All users updated.
2065 (grub_dl_iterate): Removed.
2066 * kern/fs.c (grub_fs_list): Make global.
2067 (grub_fs_register): Removed.
2068 (grub_fs_unregister): Likewise.
2069 (grub_fs_iterate): Likewise.
2070 * kern/handler.c: Removed.
2071 * kern/list.c (grub_list_pop): Removed.
2072 (grub_list_iterate): Likewise.
2073 (grub_list_insert): Likewise.
2074 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
2075 (grub_prio_list_insert): Don't use grub_list_insert.
2076 * kern/main.c (grub_register_rescue_parser): Don't call
2077 grub_register_rescue_parser.
2078 * kern/parser.c (grub_parser_class): Removed.
2079 (grub_parser_execute): Use grub_rescue_parse_line.
2080 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
2081 (grub_rescue_parser): Removed.
2082 (grub_register_rescue_parser): Likewise.
2083 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
2084 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
2085 (grub_auth_check_authentication): Likewise.
2086 * normal/completion.c (iterate_command): Removed.
2087 (grub_normal_do_completion): Use FOR_COMMANDS.
2088 * normal/handler.c: Removed.
2089 * normal/main.c (read_config_file): Remove parser changing.
2090 (grub_normal_execute): Don't call read_handler_list.
2091 (grub_normal_read_line_real): Statically allocate prompt.
2092 (grub_cmdline_run): Use grub_normal_parse_line.
2093 (GRUB_MOD_FINI): Don't call free_handler_list.
2094 * normal/menu_entry.c (run): Likewise.
2095 * script/function.c (grub_script_function_list): Make global.
2096 (grub_script_function_iterate): Removed.
2097 * script/main.c (grub_normal_parse_line): Make global.
2098 (grub_sh_parser): Removed.
2099 (GRUB_MOD_INIT): Likewise.
2100 (GRUB_MOD_FINI): Likewise.
2101 * tests/lib/functional_test.c (grub_functional_test): Use
2102 FOR_LIST_ELEMENTS.
2103 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
2104 (grub_test_run): Use FOR_LIST_ELEMENTS.
2105 * tests/lib/unit_test.c (main): Likewise.
2106 * util/deviceiter.c (grub_util_iterate_devices): Don't use
2107 grub_list_pop.
2108 * util/grub-fstest.c (grub_term_input_class): Removed.
2109 (grub_term_output_class): Likewise.
2110 * util/grub-probe.c: Likewise.
2111 * util/i386/pc/grub-setup.c: Likewise.
2112 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2113 * util/grub-script-check.c (main): Don't call grub_init_all and
2114 grub_fini_all.
2115 * video/video.c (grub_video_adapter_list): Make global.
2116 (grub_video_register): Removed.
2117 (grub_video_unregister): Likewise.
2118 (grub_video_iterate): Likewise.
2119
6289c3a7
VS
21202010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
2123 reported by Henrique Ferreiro.
2124
91460247
RM
21252010-06-09 Robert Millan <rmh@gnu.org>
2126
2127 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
2128 ones, when both are available.
2129
0ea7c4f9
GS
21302010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2131
2132 Make --version uniform and avoid hard-coded program name.
2133
2134 * util/grub-mkimage.c (main): Use `program_name' instead of
2135 hard-coded string.
2136 * util/i386/pc/grub-setup.c (main): Likewise.
2137 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
2138 * util/grub-install.in: Save the basename of $0 in $self, and use the
2139 latter in informational messages. Use the same format for --version
2140 as the binary programs.
2141 * util/grub-mkconfig.in: Likewise.
2142 * util/grub-mkrescue.in: Likewise.
2143 * util/grub-reboot.in: Likewise.
2144 * util/grub-set-default.in: Likewise.
2145 * util/i386/efi/grub-install.in: Likewise.
2146 * util/ieee1275/grub-install.in: Likewise.
2147 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2148
e8a6f3b6
GS
21492010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2150
2151 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
2152 embedding area. Use <= instead of == when checking for non-emptiness.
2153
f4d095d7
GS
21542010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2155
2156 * configure.ac: Add `.' to the directories searched for unifont.
2157
50e532ca
CW
21582010-06-08 Colin Watson <cjwatson@ubuntu.com>
2159
2160 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
2161 grub_script.yy.h.
2162
d39f3dec
CW
21632010-06-08 Colin Watson <cjwatson@ubuntu.com>
2164
2165 * docs/grub.texi (History): Expand to cover GRUB 2.
2166 (Serial terminal): Refer to `terminal_input' and `terminal_output'
2167 commands, not `terminal'.
2168 (serial): Likewise.
2169 (terminal_input): New section.
2170 (terminal_output): New section.
2171 (uppermem): New section (stub).
2172 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
2173
6ef0ddb4
CW
21742010-06-08 Colin Watson <cjwatson@ubuntu.com>
2175
2176 * docs/grub.texi (Security): Menu entries are unrestricted by
2177 default, not restricted to superusers as I had previously thought.
2178 Reword to account for this.
2179
e0f4c438
CW
21802010-06-07 Colin Watson <cjwatson@ubuntu.com>
2181
2182 * kern/emu/misc.c (device_mapper_null_log): New function.
2183 (grub_device_mapper_supported): New function.
2184 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
2185 prototype.
2186 * kern/emu/hostdisk.c (find_partition_start): Check whether
2187 device-mapper is supported before trying to use it.
2188 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
2189
da908200
CW
21902010-06-07 Colin Watson <cjwatson@ubuntu.com>
2191
2192 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
2193 (File name syntax): Likewise.
2194 (help): --all is no longer supported in GRUB 2. Be more precise
2195 about pattern matching.
2196
fb55c3ac
CW
21972010-06-07 Colin Watson <cjwatson@ubuntu.com>
2198
2199 * normal/completion.c (grub_normal_do_completion): When completing
2200 arguments to "set" and the current word contains an equals sign,
2201 skip to after the equals sign before starting completion.
2202
258c2573
CW
22032010-06-07 Colin Watson <cjwatson@ubuntu.com>
2204
2205 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
2206
ee75515e
CW
22072010-06-07 Colin Watson <cjwatson@ubuntu.com>
2208
2209 * docs/grub.texi (Network): New section.
2210 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
2211 `(nd)' as in GRUB Legacy.
2212 (pxe_unload): New section.
2213
a6a700aa
CW
22142010-06-07 Colin Watson <cjwatson@ubuntu.com>
2215
2216 * docs/grub.texi (Troubleshooting): `echo' is not usually available
2217 in the rescue shell, so recommend using `set' instead. Thanks,
2218 Jordan Uggla.
2219
4003dd38
CW
22202010-06-07 Colin Watson <cjwatson@ubuntu.com>
2221
2222 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
2223 (password): New section.
2224 (password_pbkdf2): New section.
2225 (search): New section.
2226 (Security): New section.
2227 (Troubleshooting): New section, currently very incomplete.
2228 (Invoking grub-mkpasswd-pbkdf2): New section.
2229 (Internals): New section, currently very incomplete.
2230
e1cbcc40
CW
22312010-06-07 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * util/grub.d/00_header.in: Add some more quoting (of
2234 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
2235 work again.
2236 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
2237
db8fa1ad
CW
22382010-06-07 Colin Watson <cjwatson@ubuntu.com>
2239
2240 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
2241 to `count', fixing variable shadowing that broke the -c option.
2242
22432010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
2244
2245 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
2246 in case they contain spaces.
2247
f28a9212
CW
22482010-06-04 Colin Watson <cjwatson@ubuntu.com>
2249
2250 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
2251 "part_" to partmap module names, in line with grub-install.
2252 Reported by: Jindřich Makovička (Debian bug #584426).
2253
9cdfe32f
CW
22542010-06-04 Colin Watson <cjwatson@ubuntu.com>
2255
2256 * util/grub-mkimage.c: Make target-related error messages slightly
2257 more helpful; -O talks about "format". Explicitly point to the use
2258 of -O if no target is specified.
2259 Reported by: Didier Raboud (Debian bug #584415).
2260
795b593a
CW
22612010-06-03 Colin Watson <cjwatson@ubuntu.com>
2262
2263 * INSTALL: Document several build requirements for optional features
2264 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
2265
9d9b5833
GS
22662010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2267
2268 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
2269 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
2270 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
2271
0819fec8
CW
22722010-06-02 Colin Watson <cjwatson@ubuntu.com>
2273
2274 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
2275 Thanks to Jordan Uggla for spotting this.
2276
49396b4f
VS
22772010-06-02 Aleš Nesrsta <starous@volny.cz>
2278
2279 Finally make USB usable.
2280
2281 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
2282 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
2283 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
2284 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
2285 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
2286 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
2287 (GRUB_OHCI_FSMPS): Likewise.
2288 (GRUB_OHCI_PERIODIC_START): Likewise.
2289 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
2290 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
2291 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
2292 (GRUB_OHCI_SET_PORT_RESET): Likewise.
2293 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
2294 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
2295 (grub_ohci_transaction): Likewise.
2296 (grub_ohci_transfer): Improve condition detection algorithms.
2297 Handle toggle property. Program the transactions correctly.
2298 Improve error handling. Various important fixups.
2299 (grub_ohci_portstatus): Put register writes in right order.
2300 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
2301 (grub_uhci_transfer): Don't show "failed" message on success.
2302 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
2303 array.
2304 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
2305 determine its size.
2306 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
2307 before initialization is completed. Use IN direction for empty
2308 transfers. Use last_trans and compute toggle.
2309 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
2310 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
2311 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
2312 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
2313 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
2314 (grub_usb_device): Increase toggle to 256.
2315 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
2316 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
2317 GRUB_USBMS_SUBCLASS_SFF8070.
2318 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
2319 (grub_scsi_inquiry): New member page and alloc_length.
2320 (grub_scsi_request_sense): New structure.
2321 (grub_scsi_request_sense_data): Likewise.
2322 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
2323 control.
2324 * disk/scsi.c (grub_scsi_request_sense): New function.
2325 (grub_scsi_test_unit_ready): Likewise.
2326 (grub_scsi_inquiry): Fill new fields.
2327 (grub_scsi_read_capacity): Likewise.
2328 (grub_scsi_read10): Add request sense at the end.
2329 (grub_scsi_read12): Likewise.
2330 (grub_scsi_write10): Likewise.
2331 (grub_scsi_write12): Likewise.
2332 (grub_scsi_open): Add Test Unit Ready.
2333 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
2334 Support additional subclasses. Con't clear halt yet. Activate the
2335 proper config. Calculate LUNs correctly.
2336 (grub_usbms_transfer): Various important fixups.
2337
23382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
2341 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
2342 (grub_ohci_fini_hw): New function.
2343 (grub_ohci_restore_hw): Likewise.
2344 (GRUB_MOD_INIT(ohci)): Register preboot hook.
2345 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
2346 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
2347
23482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 Dedicated DMA allocations.
2351
2352 * bus/pci.c (grub_memalign_dma32): New function
2353 (grub_dma_free): Likewise.
2354 (grub_dma_get_virt): Likewise.
2355 (grub_dma_get_phys): Likewise.
2356 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
2357 (grub_ohci_pci_iter): Use dma32_alloc.
2358 (grub_ohci_transfer): Likewise.
2359 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2360 (grub_usb_bulk_readwrite): Likewise.
2361 * include/grub/pci.h: Add declarations.
2362
23632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 CS5536 support.
2366
2367 * bus/cs5536.c: New file.
2368 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
2369 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
2370 (cs5536_mod_SOURCES): New variable.
2371 (cs5536_mod_CFLAGS): Likewise.
2372 (cs5536_mod_LDFLAGS): Likewise.
2373 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
2374 machine/pci.h.
2375 (kernel_img_SOURCES): Add bus/cs5536.c.
2376 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
2377 usb_keyboard.mod.
2378 (usb_mod_SOURCES): New variable.
2379 (usb_mod_CFLAGS): New variable.
2380 (usb_mod_LDFLAGS): New variable.
2381 (usbtest_mod_SOURCES): New variable.
2382 (usbtest_mod_CFLAGS): New variable.
2383 (usbtest_mod_LDFLAGS): New variable.
2384 (ohci_mod_SOURCES): New variable.
2385 (ohci_mod_CFLAGS): New variable.
2386 (ohci_mod_LDFLAGS): New variable.
2387 (usbms_mod_SOURCES): New variable.
2388 (usbms_mod_CFLAGS): New variable.
2389 (usbms_mod_LDFLAGS): New variable.
2390 (usb_keyboard_mod_SOURCES): New variable.
2391 (usb_keyboard_mod_CFLAGS): New variable.
2392 (usb_keyboard_mod_LDFLAGS): New variable.
2393 * include/grub/smbus.h: New file.
2394 * include/grub/cs5536.h: New file.
2395
0b35b2a9
CW
23962010-06-02 Colin Watson <cjwatson@ubuntu.com>
2397
2398 * util/grub.d/00_header.in: Add safety check to make sure that
2399 ${locale_dir} exists before trying to probe it.
2400
ca0afd5b
CW
24012010-06-02 Colin Watson <cjwatson@ubuntu.com>
2402
2403 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
2404 per the GNU Coding Standards; this is now too obscure to be worth
2405 documenting.
2406 (QNX): Likewise.
2407 (chainloader): Remove cross-reference to `SCO UnixWare'.
2408
1c41aa78
CW
24092010-06-02 Colin Watson <cjwatson@ubuntu.com>
2410
2411 * docs/grub.texi (Chain-loading): New section.
2412 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2413 adjusted for GRUB 2.
2414 (SCO UnixWare): Likewise.
2415 (QNX): Likewise.
2416 (chainloader): Add reference to `Block list syntax'.
2417 (drivemap): New section.
2418 (parttool): New section.
2419
bb8ea0f5
CW
24202010-06-02 Colin Watson <cjwatson@ubuntu.com>
2421
2422 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2423 the grub shell'.
2424 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2425 (Installing GRUB using grub-install): Remove reference to the grub
2426 shell; mention `grub-mkimage' and `grub-setup' instead.
2427 (Invoking grub-install): Likewise.
2428 (Interface): Add reference to `Menu entry editor'.
2429 (serial): Remove `--device' option.
2430
288dd6ed
CW
24312010-06-02 Colin Watson <cjwatson@ubuntu.com>
2432
2433 * docs/grub.texi (Configuration): New section, documenting
2434 configuration file generation using grub-mkconfig. I've left a slot
2435 for documenting the full shell scripting format but have not yet
2436 started on writing that up.
2437 (Invoking grub-mkconfig): New section.
2438
34c9f0e9
CW
24392010-06-02 Colin Watson <cjwatson@ubuntu.com>
2440
2441 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2442 (GNU GRUB manual): Likewise.
2443 (General commands): Update description of `terminfo' for GRUB 2.
2444
9121567e
CW
24452010-06-02 Colin Watson <cjwatson@ubuntu.com>
2446
2447 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2448 (GRUB_MOD_INIT): Fix capitalisation.
2449 * docs/grub.texi (Command-line and menu entry commands): Document
2450 gettext and gptsync commands.
2451
ab631611
CW
24522010-06-02 Colin Watson <cjwatson@ubuntu.com>
2453
2454 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2455 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2456
bde4a9ac
CW
24572010-06-01 Colin Watson <cjwatson@ubuntu.com>
2458
2459 Add btrfs probing support, currently only in the single-device case.
2460
2461 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2462 function.
2463 (grub_guess_root_device): Call find_root_device_from_mountinfo
2464 before looking in /dev.
2465
b1d17e10
VS
24662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2469 GRUB_DISK_SIZE_UNKNOWN.
2470 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2471
dfbfe004
JS
24722010-05-31 Jiro SEKIBA <jir@unicus.jp>
2473
2474 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2475 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2476 corrupted or not synced properly.
2477
c2ffc8e9
VS
24782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2481 Reported by: Seth Goldberg.
2482
56293166
VS
24832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2486 addition of dest.
2487 Reported by: Seth Goldberg.
2488
7620e7de
VS
24892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2492 Reported by: Seth Goldberg.
2493
c837af3f
VS
24942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2497 64-bit address as signed on MIPS.
2498
c7c75cf4
CW
24992010-05-28 Colin Watson <cjwatson@ubuntu.com>
2500
2501 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2502 to the empty string.
2503
fa4b8490
BC
25042010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2505
2506 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2507
2508 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2509 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2510 * kern/misc.c (__enable_execute_stack): Disable on
2511 GRUB_MACHINE_EMU.
2512
a33075b9
CW
25132010-05-28 Colin Watson <cjwatson@ubuntu.com>
2514
2515 Make grub-probe work with symbolic links under /dev/mapper as well
2516 as with real block devices. The Linux world seems to be (at best)
2517 in transition here, and GRUB shouldn't get caught in the middle.
2518
2519 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2520 /dev/mapper.
2521
d8708134
CW
25222010-05-27 Colin Watson <cjwatson@ubuntu.com>
2523
2524 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2525 input files (in which case exit zero).
2526
db2102a0
CW
25272010-05-27 Colin Watson <cjwatson@ubuntu.com>
2528
2529 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2530 return NULL for various reasons even if it has a maximum-length
2531 buffer: for example, there might be a symlink loop, or the path
2532 might exceed PATH_MAX. If this happens, return NULL.
2533
5fdba519
RM
25342010-05-27 Robert Millan <rmh@gnu.org>
2535
2536 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2537 partmap module to handle cross-partmap setups.
2538 Reported by Orestes Mas. Gràcies!
2539
d1d368e4
CW
25402010-05-27 Colin Watson <cjwatson@ubuntu.com>
2541
2542 * util/grub-mkrescue.in: Initialise override_dir rather than
2543 assuming that it's unset or empty in the environment.
2544
95ac3c73
GS
25452010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2546
2547 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2548 variable index into p_index to suppress a warning with -Wshadow.
2549
7d8c0213
BC
25502010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2551
2552 * INSTALL: Added flex >= 2.5.35 requirement.
2553
db4d5813
VS
25542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2557
f24f4300
VS
25582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 cmostest support.
2561
2562 * commands/i386/cmostest.c: New file.
2563 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2564 (cmostest_mod_SOURCES): New variable.
2565 (cmostest_mod_CFLAGS): Likewise.
2566 (cmostest_mod_LDFLAGS): Likewise.
2567 * conf/i386-pc.rmk: Likewise.
2568 * docs/grub.texi (Vendor power-on keys): New section.
2569 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2570 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2571 and GRUB_BUTTON_CMOS_ADDRESS.
2572 * util/grub.d/00_header.in: Handle powering-on by separate button.
2573
ad603f61
VS
25742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2577 Removed drawing_scrollbar argument. All users updated
2578 Fixes #29792.
2579 Reported by Jo Shields
2580
3ecb080a
VS
25812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2584 buffer since gfxterm handles double repaint.
2585
5f2316c1
VS
25862010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2589 * term/gfxterm.c (real_scroll): Likewise.
2590
9a25f885
VS
25912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2594 before calling BIOS.
2595
39fbb79a
VS
25962010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * include/grub/i18n.h: Always enable grub_gettext.
2599
228cfa97
VS
26002010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2603 partition naming style.
2604
21717c8f
CW
26052010-05-21 Colin Watson <cjwatson@ubuntu.com>
2606
2607 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2608 not the first option.
2609
c0f48e65
CW
26102010-05-20 Colin Watson <cjwatson@ubuntu.com>
2611
2612 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2613
96779aec
CW
26142010-05-20 Colin Watson <cjwatson@ubuntu.com>
2615
2616 * util/misc.c: Move inclusion of <limits.h> to ...
2617 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2618
fa9d256e
GS
26192010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2620
2621 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2622 Fix merge error in NetBSD code.
2623 (find_partition_start) [__NetBSD__]: Likewise.
2624
123b7a85
BC
26252010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2626
2627 Fix grub-mkrescue usage unit testing.
2628
2629 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2630
74276c0d
CF
26312010-05-18 Christian Franke <franke@computer.org>
2632
2633 * util/grub.d/10_windows.in: Use path names instead of
2634 drive letters to prevent warning from Cygwin 1.7.
2635 Add drivemap command to menuentry if needed.
2636
c4f7b523
ST
26372010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2638
2639 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2640 gnumach and gnumach.gz.
2641
95b97950
VS
26422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * include/grub/i18n.h (gettext): Inline instead of using #define.
2645 (grub_gettext): Likewise.
2646 (_): Likewise.
2647
01b8d2d7
VS
26482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2651 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2652 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2653 (main): Add a slash after pkglibdirroot.
2654
654e1d1e
VS
26552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * util/grub-install.in: Add missing "in" keyword.
2658
26966aeb
VS
26592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2662 Reported by: Seth Goldberg.
2663
75006747
VS
26642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2667
74cbf5bd
CW
26682010-05-18 Colin Watson <cjwatson@ubuntu.com>
2669
2670 * configure.ac: Check for Linux device-mapper support.
2671
2672 * util/hostdisk.c (device_is_mapped): New function.
2673 (find_partition_start): New function, partly broken out from
2674 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2675 device-mapper support added.
2676 (linux_find_partition): Use find_partition_start.
2677 (convert_system_partition_to_system_disk): Add `st' argument.
2678 Support Linux /dev/mapper/* devices if device-mapper support is
2679 available; only DM-RAID devices are understood at present.
2680 (find_system_device): Add `st' argument. Pass it to
2681 convert_system_partition_to_system_disk.
2682 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2683 find_system_device and convert_system_partition_to_system_disk. Use
2684 find_partition_start.
2685
2686 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2687 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2688 * util/deviceiter.c [__linux__]: Define MINOR.
2689 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2690 * util/mkdevicemap.c (grub_putchar): New function.
2691 (grub_getkey): New function.
2692 (grub_refresh): New function.
2693 (main): Set debug=all if -v -v is used.
2694
355b51e9
CW
26952010-05-18 Colin Watson <cjwatson@ubuntu.com>
2696
2697 Fix build with non-GNU libcs.
2698
2699 * util/misc.c (canonicalize_file_name): Move to ...
2700 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2701 grub_make_system_path_relative_to_its_root.
2702
7fb5c25f
CW
27032010-05-18 Colin Watson <cjwatson@ubuntu.com>
2704
2705 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2706 we handle finding grub-mkimage. Default to finding grub-mkimage in
2707 ${bindir} with program_transform_name applied, and provide a
2708 --grub-mkimage option to override this.
2709
1d3293d6
VS
27102010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 Remove grub-mkisofs.
2713
2714 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2715 (grub_mkisofs_SOURCES): Removed.
2716 (grub_mkisofs_CFLAGS): Removed.
2717 * util/mkisofs/defaults.h: Removed.
2718 * util/mkisofs/eltorito.c: Likewise.
2719 * util/mkisofs/exclude.h: Likewise.
2720 * util/mkisofs/hash.c: Likewise.
2721 * util/mkisofs/include/: Likewise.
2722 * util/mkisofs/include/fctldefs.h: Likewise.
2723 * util/mkisofs/include/mconfig.h: Likewise.
2724 * util/mkisofs/include/prototyp.h: Likewise.
2725 * util/mkisofs/include/statdefs.h: Likewise.
2726 * util/mkisofs/iso9660.h: Likewise.
2727 * util/mkisofs/joliet.c: Likewise.
2728 * util/mkisofs/match.c: Likewise.
2729 * util/mkisofs/match.h: Likewise.
2730 * util/mkisofs/mkisofs.c: Likewise.
2731 * util/mkisofs/mkisofs.h: Likewise.
2732 * util/mkisofs/msdos_partition.h: Likewise.
2733 * util/mkisofs/multi.c: Likewise.
2734 * util/mkisofs/name.c: Likewise.
2735 * util/mkisofs/rock.c: Likewise.
2736 * util/mkisofs/tree.c: Likewise.
2737 * util/mkisofs/write.c: Likewise.
2738
5dde9afe
VS
27392010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Unify grub-mkimage accross platforms.
2742
2743 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2744 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2745 (grub_mkelfimage_SOURCES): Removed.
2746 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2747 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2748 (bin_UTILITIES): Add grub-mkimage.
2749 (grub_mkimage_SOURCES): New variable.
2750 (kernel_img_HEADERS): Remove machine/kernel.h.
2751 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2752 (pkglib_PROGRAMS): Add kernel.img.
2753 (kernel_img_HEADERS): Add machine/kernel.h.
2754 (kernel_img_FORMAT): Removed.
2755 (bin_UTILITIES): Remove grub-mkimage.
2756 (grub_mkimage_SOURCES): Removed.
2757 (grub_mkimage_CFLAGS): Likewise.
2758 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2759 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2760 (pkglib_PROGRAMS): Add kernel.img.
2761 (bin_UTILITIES): Remove grub-mkimage.
2762 (grub_mkimage_SOURCES): Removed.
2763 (grub_mkimage_CFLAGS): Likewise.
2764 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2765 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2766 (pkglib_PROGRAMS): Add kernel.img.
2767 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2768 (pkglib_PROGRAMS): Add kernel.img.
2769 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2770 (grub_mkimage_SOURCES): Removed.
2771 (grub_mkimage_CFLAGS): Likewise.
2772 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2773 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2774 (pkglib_PROGRAMS): Add kernel.img.
2775 (bin_UTILITIES): Remove grub-mkimage.
2776 (grub_mkimage_SOURCES): Removed.
2777 (grub_mkimage_CFLAGS): Likewise.
2778 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2779 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2780 (grub_mkimage_SOURCES): Removed.
2781 (grub_mkimage_CFLAGS): Likewise.
2782 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2783 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2784 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2785 (grub_pe32_optional_header): ... this.
2786 (grub_pe64_optional_header): ... and this. All users updated.
2787 (GRUB_PE32_PE32_MAGIC): Split into ..
2788 (GRUB_PE32_PE32_MAGIC): .. this.
2789 (GRUB_PE32_PE64_MAGIC): .. and this.
2790 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2791 * include/grub/elf.h (PT_GNU_STACK): New definition.
2792 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2793 * include/grub/i386/efi/kernel.h: Likewise.
2794 * include/grub/i386/kernel.h: Likewise.
2795 * include/grub/i386/pc/kernel.h: Likewise.
2796 * include/grub/i386/qemu/boot.h: Likewise.
2797 * include/grub/mips/kernel.h: Likewise.
2798 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2799 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2800 * include/grub/powerpc/kernel.h: Likewise.
2801 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2802 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2803 * include/grub/sparc64/kernel.h: Likewise.
2804 * include/grub/x86_64/efi/kernel.h: Likewise.
2805 * include/grub/x86_64/kernel.h: Likewise.
2806 * include/grub/offsets.h: New file.
2807 * include/grub/kernel.h (grub_module_info): Split into ...
2808 (grub_module_info32): ... this.
2809 (grub_module_info64): ... and this.
2810 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2811 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2812 (grub_boot_blocklist): Moved from here ...
2813 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2814 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2815 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2816 * include/grub/types.h (grub_target_to_host16): Removed.
2817 (grub_target_to_host32): Likewise.
2818 (grub_target_to_host64): Likewise.
2819 (grub_host_to_target16): Likewise.
2820 (grub_host_to_target32): Likewise.
2821 (grub_host_to_target64): Likewise.
2822 (grub_host_to_target_addr): Likewise.
2823
2824 Support grub-mkrescue for efi, coreboot and qemu.
2825
2826 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2827 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2828 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2829 * util/grub-mkrawimage.c: Moved from here ...
2830 * util/grub-mkimage.c: ... here. All users updated.
2831 (ALIGN_ADDR): Use image_target.
2832 (TARGET_NO_FIELD): New const.
2833 (image_target_desc): New type.
2834 (image_targets): New array.
2835 (grub_target_to_host64): Use image_target.
2836 (grub_target_to_host32): Likewise.
2837 (grub_target_to_host16): Likewise.
2838 (grub_host_to_target64): Likewise.
2839 (grub_host_to_target32): Likewise.
2840 (grub_host_to_target16): Likewise.
2841 (grub_host_to_target_addr): Likewise.
2842 (generate_image): Handle multiimage.
2843 (main): Require -O parameter. All users updated.
2844 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2845 util/efi/grub-mkimage.c
2846 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2847 New option --rom-directory.
2848 Use xorriso.
2849 * util/i386/efi/grub-mkimage.c: Removed.
2850 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2851 (grub_target_to_host32): Likewise.
2852 (grub_target_to_host64): Likewise.
2853 (grub_host_to_target16): Likewise.
2854 (grub_host_to_target32): Likewise.
2855 (grub_host_to_target64): Likewise.
2856 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2857 (grub_target_to_host32): Likewise.
2858 (grub_target_to_host64): Likewise.
2859 (grub_host_to_target16): Likewise.
2860 (grub_host_to_target32): Likewise.
2861 (grub_host_to_target64): Likewise.
2862
f4fc97d0
BC
28632010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2864
2865 Source tree is reorganized for emu build.
2866
2867 * include/grub/util/console.h: Move from here...
2868 * include/grub/emu/console.h: ...to here.
2869 * include/grub/util/getroot.h: Move from here...
2870 * include/grub/emu/getroot.h: ...to here.
2871 * include/grub/util/hostdisk.h: Move from here...
2872 * include/grub/emu/hostdisk.h: ...to here.
2873 * util/console.c: Move from here...
2874 * kern/emu/console.c: ...to here.
2875 * util/getroot.c: Move from here...
2876 * kern/emu/getroot.c: ...to here.
2877 * util/grub-emu.c: Move from here...
2878 * kern/emu/main.c: ...to here.
2879 * util/hostdisk.c: Move from here...
2880 * kern/emu/hostdisk.c: ...to here.
2881 * util/hostfs.c: Move from here...
2882 * kern/emu/hostfs.c: ...to here.
2883 * util/mm.c: Move from here...
2884 * kern/emu/mm.c: ...to here.
2885 * util/pci.c: Move from here...
2886 * bus/emu/pci.c: ...to here.
2887 * util/sdl.c: Move from here...
2888 * video/emu/sdl.c: ...to here.
2889 * util/time.c: Move from here...
2890 * kern/emu/time.c: ...to here.
2891 * util/usb.c: Move from here...
2892 * bus/usb/emu/usb.c: ...to here.
2893
2894 * include/grub/emu/misc.h: New header for grub-emu functions.
2895 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2896
2897 * conf/any-emu.rmk: Rule updates for above renames.
2898 * conf/common.rmk: Likewise.
2899 * conf/i386-pc.rmk: Likewise.
2900 * conf/i386-qemu.rmk: Likewise.
2901 * conf/mips.rmk: Likewise.
2902 * conf/sparc64-ieee1275.rmk: Likewise.
2903 * conf/x86-efi.rmk: Likewise.
2904
2905 * disk/lvm.h: #include updates for above renames.
2906 * util/grub-mkrelpath.c: Likewise.
2907 * util/grub-probe.c: Likewise.
2908 * util/i386/pc/grub-setup.c: Likewise.
2909 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2910 * kern/emu/console.c: Likewise.
2911 * kern/emu/getroot.c: Likewise.
2912 * kern/emu/hostdisk.c: Likewise.
2913 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2914
2915 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2916 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2917 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2918 * util/misc.c: Remove grub-emu functions.
2919
cced9145
VS
29202010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Fix gfxmenu crash.
2923 Reported by: Thorsten Grützmacher.
2924
2925 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2926 timeout hook.
2927 (circprog_set_property): Register and unregister timeout hook.
2928 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2929 (label_destroy): Free template. and unregister hook.
2930 (label_set_state): New function.
2931 (label_set_property): Handle templates and hooks.
2932 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2933 timeout hook.
2934 (progress_bar_set_property): Register and unregister timeout hook.
2935 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2936 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2937 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2938 (update_timeout_visit): Removed.
2939 (update_timeouts): New function.
2940 (redraw_timeouts): Likewise.
2941 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2942 (grub_gfxmenu_clear_timeout): Likewise.
2943 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2944 (grub_gfxmenu_timeout_notify): Likewise.
2945 (grub_gfxmenu_timeout_notifications): New external variable.
2946 (grub_gfxmenu_timeout_register): New function.
2947 (grub_gfxmenu_timeout_unregister): Likewise.
2948
c6e5caab
VS
29492010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Transform (broken) vga terminal into (working) vga video driver.
2952
2953 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2954 video/i386/pc/vga.c.
2955 * include/grub/video.h (grub_video_driver_id):
2956 Add GRUB_VIDEO_DRIVER_VGA.
2957 * term/i386/pc/vga.c: Renamed to ...
2958 * video/i386/pc/vga.c: ...this
2959 (DEBUG_VGA): Removed.
2960 (CHAR_WIDTH): Likewise.
2961 (CHAR_HEIGHT): Likewise.
2962 (TEXT_WIDTH): Likewise.
2963 (TEXT_HEIGHT): Likewise.
2964 (DEFAULT_FG_COLOR): Likewise.
2965 (DEFAULT_BG_COLOR): Likewise.
2966 (colored_char): Likewise.
2967 (xpos): Likewise.
2968 (ypos): Likewise.
2969 (cursor_state): Likewise.
2970 (fg_color): Likewise.
2971 (bg_color): Likewise.
2972 (text_buf): Likewise.
2973 (page): Likewise.
2974 (font): Likewise.
2975 (framebuffer): New variable.
2976 (set_read_map): Disabled.
2977 (setup): New variable.
2978 (is_target): Likewise.
2979 (grub_vga_mod_init): Likewise.
2980 (grub_vga_mod_fini): Likewise.
2981 (check_vga_mem): Likewise.
2982 (write_char): Likewise.
2983 (write_cursor): Likewise.
2984 (scroll_up): Likewise.
2985 (grub_vga_putchar): Likewise.
2986 (grub_vga_getcharwidth): Likewise.
2987 (grub_vga_getwh): Likewise.
2988 (grub_vga_getxy): Likewise.
2989 (grub_vga_gotoxy): Likewise.
2990 (grub_vga_cls): Likewise.
2991 (grub_vga_setcolorstate): Likewise.
2992 (grub_vga_setcursor): Likewise.
2993 (grub_video_vga_init): New function.
2994 (grub_video_vga_setup): Likewise.
2995 (grub_video_vga_fini): Likewise.
2996 (update_target): Likewise.
2997 (grub_video_vga_blit_bitmap): Likewise.
2998 (grub_video_vga_blit_render_target): Likewise.
2999 (grub_video_vga_set_active_render_target): Likewise.
3000 (grub_video_vga_get_active_render_target): Likewise.
3001 (grub_video_vga_swap_buffers): Likewise.
3002 (grub_video_vga_set_palette): Likewise.
3003 (grub_video_vga_get_info_and_fini): Likewise.
3004 (grub_vga_term): Removed.
3005 (grub_video_vga_adapter): New variable.
3006 (GRUB_MOD_INIT): Register a video driver instead of terminal.
3007 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
3008
2bf61a98
VS
30092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * video/readers/jpeg.c: Indented.
3012
09ddcd11
VS
30132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Various jpeg cleanups.
3016
3017 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
3018 (grub_jpeg_decode_quan_table): Use sizeof.
3019 (grub_jpeg_decode_du): Use ARRAY_SIZE.
3020
e5507505
PH
30212010-05-05 Peter Hurley <No e-mail available> (tiny change)
3022
3023 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
3024 tables. Ignore non-last ac bit.
3025 (grub_jpeg_decode_quan_table): Likewise.
3026
7e720a9b
VS
30272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3030 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
3031 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3032 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
3033 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
3034 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
3035
a7fc080b
VS
30362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
3039 error.
3040
2bf6012d
VS
30412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
3044
265d68cd
VS
30452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
3048 condition.
3049
30502010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
3051
3052 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
3053 part.
3054
265d68cd 30552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
3056
3057 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
3058 pointers.
3059
265d68cd 30602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
3061
3062 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
3063
d1b61374
CF
30642010-05-01 Christian Franke <franke@computer.org>
3065
3066 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
3067 Remove broken Cygwin path conversion.
3068 * util/misc.c: [__CYGWIN__] Add include and define.
3069 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
3070 for Cygwin 1.7.
3071 (make_system_path_relative_to_its_root): Simplify loop, replace early
3072 return by break.
3073 [__CYGWIN__] Add conversion to win32 path.
3074 Include "/" case in trailing slash removal.
3075
3558c6e9
VS
30762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * kern/main.c (grub_load_config): Fix copy-pasted comment.
3079 Reported by: Seth Goldberg
3080
f5f3ff93
VS
30812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * commands/help.c (grub_cmd_help): Fix a typo.
3084 Reported by: Seth Goldberg
3085
d8b5cd40
VS
30862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
3089 name and add N_.
3090 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
3091 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
3092 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
3093 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
3094 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
3095 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
3096 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3097 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3098 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3099 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3100 * normal/context.c (GRUB_MOD_INIT): Likewise.
3101 * normal/main.c (GRUB_MOD_INIT): Likewise.
3102 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3103 * term/serial.c (GRUB_MOD_INIT): Likewise.
3104 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3105
88c14915
VS
31062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
3109 extra == 0.
3110
165134bc
VS
31112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * commands/iorw.c: New file.
3114 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
3115 (iorw_mod_SOURCES): New variable.
3116 (iorw_mod_CFLAGS): Likewise.
3117 (iorw_mod_LDFLAGS): Likewise.
3118
c5ac9b32
VS
31192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 Hotkey support
3122
3123 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
3124 * normal/main.c (hotkey_aliases): New variable.
3125 (grub_normal_add_menu_entry): Parse "--hotkey".
3126 * normal/menu_text.c (run_menu): Handle hotkeys.
3127
ce60689c
VS
31282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * kern/i386/coreboot/init.c (grub_machine_init): Call
3131 grub_machine_mmap_init on qemu.
3132
0359d006
VS
31332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * boot/i386/qemu/boot.S: Add a missing .code16.
3136
7819a456
VS
31372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 Use LBIO on coreboot.
3140
3141 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
3142 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
3143 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
3144 New declaration.
3145 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
3146 grub_machine_mmap_init on coreboot.
3147 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
3148 GRUB_LINUXBIOS_MEMBER_LINK.
3149 (grub_machine_mmap_iterate): Fix declaration.
3150 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
3151
7210dca9
VS
31522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Split coreboot and multiboot ports.
3155
3156 * conf/i386-multiboot.rmk: New file.
3157 * configure.ac: Add multiboot port.
3158 * include/grub/i386/multiboot/boot.h: New file.
3159 * include/grub/i386/multiboot/console.h: Likewise.
3160 * include/grub/i386/multiboot/init.h: Likewise.
3161 * include/grub/i386/multiboot/kernel.h: Likewise.
3162 * include/grub/i386/multiboot/loader.h: Likewise.
3163 * include/grub/i386/multiboot/memory.h: Likewise.
3164 * include/grub/i386/multiboot/serial.h: Likewise.
3165 * include/grub/i386/multiboot/time.h: Likewise.
3166 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
3167 * loader/multiboot.c: Likewise.
3168 * loader/multiboot_mbi2.c: Likewise.
3169 * util/grub-mkrescue.in: Generate multiboot rescue.
3170
6f8aaf68
VS
31712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3172
3080f7a7
VS
3173 * kern/parser.c (grub_parser_execute): Cope with read-only config.
3174
31752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
3178
3179 * commands/terminal.c (abstract_terminal): New struct.
3180 (handle_command): New function. Based on grub_cmd_terminal_input.
3181 (grub_cmd_terminal_input): Use handle_command.
3182 (grub_cmd_terminal_output): Use handle_command.
3183
a8ebb841
BC
31842010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
3185
3186 Fix comment handling.
3187
3188 * tests/grub_script_comments.in: New testcase.
3189 * conf/tests.rmk: Rules for new testcase.
3190 * script/yylex.l: Updated flex rules.
3191
bb06ba08
ST
31922010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
3193
3194 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
3195 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
3196 if argc is 1.
bb06ba08 3197
cc9d2425
VS
31982010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
3201 autogen issues.
3202
460d8402
CF
32032010-04-26 Christian Franke <franke@computer.org>
3204
3205 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
3206 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
3207 (grub_get_prefix): Remove function.
3208 * util/grub-emu.c (main): Replace grub_get_prefix () call by
3209 make_system_path_relative_to_its_root ().
3210 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3211
553c01f9
CF
32122010-04-24 Christian Franke <franke@computer.org>
3213
3214 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
3215 (kernel_img_LDFLAGS): Remove -static-libgcc.
3216
2aec1692
CF
32172010-04-24 Christian Franke <franke@computer.org>
3218
3219 * configure.ac: Do not CHECK_BSS_START_SYMBOL
3220 and CHECK_END_SYMBOL if grub-emu is built.
3221 Unset TARGET_OBJ2ELF if grub-emu is built
3222 without module support.
3223
f67dc308
JS
32242010-04-24 Jiro SEKIBA <jir@unicus.jp>
3225
3226 Nilfs2 support.
3227
3228 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
3229 (grub_fstest_SOURCES): Likewise.
3230 (pkglib_MODULES): Add nilfs2.mod.
3231 (nilfs2_mod_SOURCES): New variable.
3232 (nilfs2_mod_CFLAGS): Likewise.
3233 (nilfs2_mod_LDFLAGS): Likewise.
3234 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3235 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3236 * fs/nilfs2.c: New file.
3237
4ba8d354
VS
32382010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
3241 is not supported.
3242
0d2c20c6
GS
32432010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
3244
3245 Add grub-mkconfig support for NetBSD.
3246
3247 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
3248 * util/grub-mkconfig.in: export new NetBSD specific variables.
3249 * po/POTFILES-shell: added 10_netbsd.in.
3250 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
3251
bc4a2d83
BC
32522010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
3253
3254 Fix emu build with grub-emu-pci and grub-emu-modules.
3255
3256 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
3257 functions.
3258 * include/grub/libpciaccess.h: New file.
3259 * conf/any-emu.rmk: Update kernel headers for emu build.
3260
f48c87aa
VS
32612010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
3264
18959385
VS
32652010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
3268
0037de3f
VS
32692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
3272 Retrieve chosen/bootpath if bootpath isn't hardcoded.
3273 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
3274 util/ieee1275/ofpath.c.
3275 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
3276 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
3277 * include/grub/sparc64/ieee1275/boot.h
3278 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
3279 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
3280 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
3281 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
3282 const char *.
3283 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
3284 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
3285 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
3286 install.
3287
38e55e90
GS
32882010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
3289
3290 * util/grub-mkconfig.in: Corrected two == equality tests.
3291 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
3292 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
3293 expect a number appended to it.
3294 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
3295 expects a number appended to it.
3296
a9e6ff28
VS
32972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
3300
0b830b8f
VS
33012010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * util/hostdisk.c (make_device_name): Change to new partition naming.
3304
0973daeb
VS
33052010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
3308
460d8402 33092010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
3310
3311 * Makefile.in: Add missing localedir setting.
3312
0b456309
CW
33132010-04-14 Colin Watson <cjwatson@ubuntu.com>
3314
3315 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
3316 mistake in r2156. Noticed by Anthony Fok.
3317
3318 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
3319 @localedir@.
3320 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3321
08f46d62
BC
33222010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
3323
3324 Fix a spurious, uninitialized variable warning.
3325
3326 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
3327 Initialize variable, shdr.
3328 (grub_freebsd_load_elfmodule): Likewise.
3329 (grub_freebsd_load_elf_meta): Likewise.
3330
8c4a72d4
BC
33312010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
3332
3333 Fix for escaped dollar in double quoted strings.
3334
3335 * script/yylex.l: Updated flex rules.
3336 * conf/tests.rmk: Rule for new testcase.
3337 * tests/grub_script_dollar.in: New testcase.
3338
ce44826e
CPE
33392010-04-13 Carles Pina i Estany <carles@pina.cat>
33402010-04-13 Colin Watson <cjwatson@ubuntu.com>
3341
3342 Enclose all translated strings in grub.cfg in single quotes, and
3343 escape them appropriately (Ubuntu bug #552921).
3344
3345 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
3346 * util/grub.d/10_hurd.in: Use it.
3347 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3348 * util/grub.d/10_linux.in (linux_entry): Likewise.
3349
4b0cd8f8
VS
33502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 Fix cygwin compilation.
3353
3354 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
3355 * include/grub/misc.h (__register_frame_info)
3356 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
3357 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3358 * kern/misc.c (__register_frame_info)
3359 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
3360 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3361
01fcf061
VS
33622010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
3365
5d04b11e
VS
33662010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 Unify libgcc processing.
3369
3370 * Makefile.in (kernel_img_LDFLAGS): New variable.
3371 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
3372 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
3373 overwriting.
3374 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
3375 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
3376 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
3377 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
3378 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
3379 overwriting. Remove -lgcc and -static-libgcc
3380 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
3381 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3382 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3383 (kernel_img_LDFLAGS): Append instead of overwriting.
3384 Remove -lgcc and -static-libgcc
3385 * conf/sparc64-ieee1275.rmk: Likewise.
3386 * include/grub/powerpc/libgcc.h: Move to ...
3387 * include/grub/libgcc.h: .. this.
3388 * include/grub/libgcc.h: Don't export most of the function on x86.
3389 (__bswapsi2): New export.
3390 (__bswapdi2): Likewise.
3391 * include/grub/mips/libgcc.h: Removed.
3392 * include/grub/sparc64/libgcc.h: Likewise.
3393
b7f3ac29
VS
33942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
3397 disk_info_msg (conflicts with gettexting into languages with cases).
3398
2c7031b1
GS
33992010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3400
3401 Add grub-probe support for NetBSD.
3402
3403 * util/getroot.c (find_root_device): Convert block device to
3404 character device on NetBSD.
3405 * util/probe.c (probe): Require character device on NetBSD.
3406 * util/hostdisk.c: NetBSD specific headers.
3407 (configure_device_driver): new function to tune device driver
3408 parameters (currently only for NetBSD floppy driver).
3409 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3410 via disklabel ioctl).
3411 (open_device): call configure_device_driver on NetBSD.
3412 (convert_system_partition_to_system_disk): NetBSD specific code.
3413 (device_is_wholedisk): Likewise.
3414 (grub_util_biosdisk_get_grub_dev): Likewise.
3415 (make_device_name): Fixed a typo in bsd_part_str.
3416 * configure.ac: check for opendisk() and getrawpartition() on
3417 NetBSD and set LIBUTIL.
3418 * Makefile.in: add LIBUTIL to LIBS.
3419
f516290c
BC
34202010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3421
3422 Documentation fix.
3423
3424 * util/grub-script-check.c: Better help message.
3425
d8dcc0df
BC
34262010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3427
3428 Fix FreeBSD build.
3429
3430 * configure.ac: Flex version check.
3431 * conf/common.rmk: Add -Wno-error to sh.mod.
3432 * script/yylex.l: Remove all #pragma.
3433
6734334a
VS
34342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3437 prototype.
3438 Reported by: Seth Goldberg.
3439
daea6abd
VS
34402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3443 Rename "module" to "module2".
3444 Reported by: Seth Goldberg.
3445
f2fd9d2b
VS
34462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3449 EXPORT_FUNC.
3450 Reported by: Seth Goldberg.
3451
be124579
VS
34522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * lib/posix_wrap/locale.h: Add missing file.
3455 Reported by: Seth Goldberg.
3456
ef5da797
VS
34572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 grub-emu module load support.
3460
3461 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3462 NO_DYNAMIC_MODULES switched to this.
3463 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3464 (CFLAGS): Likewise.
3465 * conf/any-emu.rmk: Generate symlist.
3466 (kernel_img_HEADERS): Add util/datetime.h.
3467 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3468 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3469 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3470 kern/$(target_cpu)/cache.S.
3471 * configure.ac (grub-emu-modules): New option.
3472 * genmk.rb: Handle multiple source lists.
3473 * include/grub/sdl.h: New file.
3474 * include/grub/libusb.h: Likewise.
3475 * util/grub-emu.c (main): Hanle (host) root.
3476 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3477 GRUB_ERR_UNKNOWN_DEVICE.
3478 * util/misc.c: Move mm functions to ...
3479 * util/mm.c: ... here. All users updated.
3480
47822096
VS
34812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3484 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3485 missing files.
3486 (maintainer-clean): Remove libgcrypt-grub.
3487
5d7e7445
VS
34882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3491
25f4e252
EC
34922010-04-09 EFI Coder <eficoder@hotmail.com>
3493
3494 * normal/menu_text.c (print_message): Clean up the message and show
3495 the Fn information when on EFI
3496 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3497
027de555
VS
34982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3501 All users updated.
3502 * normal/crypto.c (read_crypto_list): Likewise.
3503 * normal/dyncmd.c (read_command_list): Likewise.
3504 * normal/term.c (read_terminal_list): Likewise.
3505 * normal/main.c (read_lists): Use explicit prefix.
3506 (read_lists_hook): Use read_lists.
3507 (grub_normal_execute): Likewise.
3508
47779711
VS
35092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3512 Reported by: Thomas Schmitt.
3513 Add -no-emul-boot to grub-mkisofs parameters.
3514
1118c32e
VS
35152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * font/font.c: Indented.
3518
7d652447
BC
35192010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3520
3521 Elif support to GRUB script (by Deepak Vankadaru).
3522
3523 * tests/grub_script_if.in: New testcase.
3524 * conf/tests.rmk: Rule for new testcase.
3525 * script/parser.y: Grammar rules for elif.
3526
34bb22df
BC
35272010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3528
3529 While and until loops support to GRUB script.
3530
3531 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3532 (grub_script_create_cmdwhile): New function prototype.
3533 (grub_script_execute_cmdwhile): New function prototype.
3534 * script/execute.c (grub_script_execute_cmdwhile): New function.
3535 * script/parser.y (command): New commands.
3536 (whilecmd): New grammar rule.
3537 (untilcmd): New grammar rule.
3538 * script/script.c (grub_script_create_cmdwhile): New function.
3539 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3540 function.
3541
3542 * tests/grub_script_while1.in: New testcase.
3543 * conf/tests.rmk: Rule for new testcase.
3544
e215d8e0
VS
35452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3548 as *.jpg.
3549
d7c43ba1
MV
35502010-04-09 Mario Vazquez <mariovazq@gmail.com>
3551
3552 GRUB_BACKGROUND support.
3553
3554 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3555 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3556
d64795c0
VS
35572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 3560 Idea by: Mario Vazquez
d64795c0
VS
3561
3562 * util/grub.d/00_header.in: Load pf2 and image modules.
3563
f267f83a
VS
35642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 grub-mkconfig multiple terminal support.
3567
3568 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3569 * util/grub.d/00_header.in: Likewise.
3570
b7841ceb
VS
35712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3574 we use cd $(srcdir).
3575
df60998c
CW
35762010-04-08 Colin Watson <cjwatson@ubuntu.com>
3577
3578 * util/grub.d/10_linux.in: Only use the first word of
3579 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3580 spaces in GRUB_DISTRIBUTOR.
3581 * util/grub.d/10_kfreebsd.in: Likewise.
3582 * util/grub.d/10_hurd.in: Likewise.
3583
fa09c82e
BC
35842010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3585
14e18ae3 3586 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
3587
3588 * tests/util/grub-shell.in: Remove -serial stdio option.
3589
daf892b3
BC
35902010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 POSIX header file wrappers.
3593
3594 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3595 equivalents.
3596 * lib/posix_wrap/ctype.h: Likewise.
3597 * lib/posix_wrap/errno.h: Likewise.
3598 * lib/posix_wrap/langinfo.h: Likewise.
3599 * lib/posix_wrap/limits.h: Likewise.
3600 * lib/posix_wrap/localcharset.h: Likewise.
3601 * lib/posix_wrap/stdint.h: Likewise.
3602 * lib/posix_wrap/stdio.h: Likewise.
3603 * lib/posix_wrap/stdlib.h: Likewise.
3604 * lib/posix_wrap/string.h: Likewise.
3605 * lib/posix_wrap/sys/types.h: Likewise.
3606 * lib/posix_wrap/unistd.h: Likewise.
3607 * lib/posix_wrap/wchar.h: Likewise.
3608 * lib/posix_wrap/wctype.h: Likewise.
3609 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3610 (grub_script.yy.h): Likewise.
3611 * script/yylex.l: Remove POSIX emulation #defines.
3612 * Makefile.in (POSIX_CFLAGS): New variable.
3613 (GNULIB_UTIL_CFLAGS): Likewise.
3614
3615 Regexp support.
3616
3617 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3618 (regexp_mod_SOURCES): New variable.
3619 (regexp_mod_CFLAGS): Likewise.
3620 (regexp_mod_LDFLAGS): Likewise.
3621 * commands/regexp.c: New file.
3622 * gnulib/regcomp.c: New file. Imported from gnulib.
3623 * gnulib/regex.c: Likewise.
3624 * gnulib/regex_internal.c: Likewise.
3625 * gnulib/regex_internal.h: Likewise.
3626 * gnulib/regexec.c: Likewise.
3627 * gnulib/regex.h: Likewise.
3628
974ac4f7
VS
36292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3632 unsupported video mode types.
3633
2622c3ff
VS
36342010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3637
064cb524
VS
36382010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3641 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3642
a8c3b552
VS
36432010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Remove unused grub_vga_get_font.
3646
3647 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3648 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3649
187bbe3d
GS
36502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3651
3652 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3653 * include/grub/misc.h: Likewise.
3654
b9396631
GS
36552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3656
3657 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3658 for which failure is fatal.
3659
50479feb
GS
36602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3661
3662 * util/grub-install.in: Use mkdir -p to create grub directory.
3663 * util/i386/efi/grub-install.in: Likewise.
3664 * util/ieee1275/grub-install.in: Likewise.
3665
b1654fdf
GS
36662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3667
3668 * Makefile.in (LEX): new variable.
3669
bd5a6415
GS
36702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3671
3672 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3673 `=' and added double quotes on operands of this equality test.
3674
3db3a82b
VS
36752010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * Makefile.in (uninstall): Remove a leftover debug echo.
3678 Reported by: Grégoire Sutre
3679
38023412
VS
36802010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 MIPS multiboot2 support.
3683
3684 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3685 (multiboot2_mod_SOURCES): New variable.
3686 (multiboot2_mod_CFLAGS): Likewise.
3687 (multiboot2_mod_LDFLAGS): Likewise.
3688 (multiboot2_mod_ASFLAGS): Likewise.
3689 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3690 definition.
3691 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3692 (MULTIBOOT_MBI_REGISTER): Likewise.
3693 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3694 (MULTIBOOT_ELF32_MACHINE): Likewise.
3695 (MULTIBOOT_ELF64_MACHINE): Likewise.
3696 * include/grub/mips/multiboot.h: New file.
3697 * include/grub/video.h (grub_video_driver_id): New type
3698 GRUB_VIDEO_DRIVER_SM712.
3699 (grub_video_get_info_and_fini): Export.
3700 (grub_video_get_palette): Likewise.
3701 (grub_video_get_driver_id): Likewise.
3702 * include/multiboot2.h: Resynced with spec.
3703 * loader/i386/multiboot.c: Moved from here ...
3704 * loader/multiboot.c: ... here. All users updated.
3705 (grub_multiboot_boot): Use platform-specific macros.
3706 * loader/i386/multiboot_elfxx.c: Moved from here ...
3707 * loader/multiboot_elfxx.c: ... here. All users updated.
3708 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3709 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3710 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3711
47674667
VS
37122010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 Import gnulib argp module.
3715
3716 * gnulib/argp-ba.c: New file.
3717 * gnulib/argp-eexst.c: Likewise.
3718 * gnulib/argp-fmtstream.c: Likewise.
3719 * gnulib/argp-fmtstream.h: Likewise.
3720 * gnulib/argp-fs-xinl.c: Likewise.
3721 * gnulib/argp-help.c: Likewise.
3722 * gnulib/argp-namefrob.h: Likewise.
3723 * gnulib/argp-parse.c: Likewise.
3724 * gnulib/argp-pin.c: Likewise.
3725 * gnulib/argp-pv.c: Likewise.
3726 * gnulib/argp-pvh.c: Likewise.
3727 * gnulib/argp-version-etc.c: Likewise.
3728 * gnulib/argp-version-etc.h: Likewise.
3729 * gnulib/argp-xinl.c: Likewise.
3730 * gnulib/argp.h: Likewise.
3731
495442ed
VS
37322010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * kern/device.c (grub_device_iterate): Clear errors after failed
3735 opening device.
3736
f9fd65df
VS
37372010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3740 returned by firmware.
3741
af09641e
VS
37422010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3745 compilation on coreboot and qemu
3746
016883a5
VS
37472010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * include/multiboot2.h: Resync with spec.
3750
f97e1f7d
VS
37512010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 Multiboot2 tag support
3754
3755 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3756 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3757 Remove loader/multiboot_loader.c.
3758 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3759 (grub_multiboot2_real_boot): Likewise.
3760 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3761 (grub_get_multiboot_mmap_count): New proto.
3762 (grub_fill_multiboot_mmap): Likewise.
3763 (grub_multiboot_set_video_mode): Likewise.
3764 (grub_multiboot_set_console): Likewise.
3765 (grub_multiboot_load): Likewise.
3766 (grub_multiboot_load_elf): Likewise.
3767 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3768 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3769 * include/multiboot.h: Resynced with specification.
3770 * include/multiboot2.h: Resynced with specification.
3771 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3772 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3773 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3774 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3775 users updated.
3776 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3777 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3778 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3779 Removed.
3780 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3781 Moved from here...
3782 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3783 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3784 Moved from here...
3785 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3786 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3787 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3788 All users updated.
3789 * loader/i386/multiboot_mbi2.c: New file.
3790
3506b90b
VS
37912010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 Resync with gnulib.
3794
3795 * Makefile.in (GNULIB_CFLAGS): New variable.
3796 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3797 (grub_script_check_CFLAGS): New variable.
3798 * gnulib/alloca.h: Resync with gnulib.
3799 * gnulib/error.c: Likewise.
3800 * gnulib/error.h: Likewise.
3801 * gnulib/fnmatch.c: Likewise.
3802 * gnulib/fnmatch_loop.c: Likewise.
3803 * gnulib/getdelim.c: Likewise.
3804 * gnulib/getline.c: Likewise.
3805 * gnulib/getopt.c: Likewise.
3806 * gnulib/getopt1.c: Likewise.
3807 * gnulib/getopt_int.h: Likewise.
3808 * gnulib/gettext.h: Likewise.
3809 * gnulib/progname.c: Likewise.
3810 * gnulib/progname.h: Likewise.
3811
394a3120
GS
38122010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3813
3814 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3815 which is the case with --disabled-nls.
3816
3817 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3818 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3819 * util/misc.c: Likewise.
3820 * util/mkisofs/mkisofs.c: Likewise.
3821 * util/mkisofs/mkisofs.h: Likewise.
3822
969d1c78
VS
38232010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 Simplify Apple CC support.
3826
3827 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3828 Add 0 byte at the end not to have a symbol with empty target.
3829 * mmap/i386/pc/mmap_helper.S: Likewise.
3830 * genmk.rb: Ignore errors 2030 and 2050.
3831 * kern/i386/pc/startup.S: Use LOCAL when possible.
3832
8d2977bb
BC
38332010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3834
3835 Testcase and the fix for final semicolon on cmdline.
3836
3837 * tests/grub_script_final_semicolon.in: New testcase.
3838 * conf/tests.rmk: Rules for the new testcase.
3839 * script/parser.y: Grammar fix.
3840
a7bd6915
BC
38412010-03-26 BVK Chaitanya <bvk@localhost>
3842
3843 Blank lines testcase for GRUB script.
3844
3845 * tests/grub_script_blanklines.in: New testcase.
3846 * conf/tests.rmk: Rules for the new testcase.
3847
e4ff6628
VS
38482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Don't use __FILE__.
3851
3852 * genmk.rb: Add -DGRUB_FILE to all C targets.
3853 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3854 * include/grub/list.h: Likewise.
3855 * include/grub/misc.h: Likewise.
3856 * include/grub/mm.h: Likewise.
3857 * include/grub/test.h: Likewise.
3858 * kern/mm.c: Likewise.
3859 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3860
6a5cf6b6
VS
38612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 Sunpc partitions support.
3864
3865 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3866 (grub_fstest_SOURCES): Likewise.
3867 (pkglib_MODULES): Add part_sunpc.mod.
3868 (part_sunpc_mod_SOURCES): New variable.
3869 (part_sunpc_mod_CFLAGS): Likewise.
3870 (part_sunpc_mod_LDFLAGS): Likewise.
3871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3872 * partmap/sunpc.c: New file.
3873
746d9045
BC
38742010-03-26 BVK Chaitanya <bvk@localhost>
3875
3876 For loop support to GRUB script.
3877
3878 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3879 (grub_script_create_cmdfor): New function prototype.
3880 (grub_script_execute_cmdfor): New function prototype.
3881 * script/execute.c (grub_script_execute_cmdfor): New function.
3882 * script/parser.y (command): New for command.
3883 (forcmd): New grammar rule.
3884 * script/script.c (grub_script_create_cmdfor): New function.
3885 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3886 function.
3887 * tests/grub_script_for1.in: New testcase.
3888 * conf/tests.rmk: Rules for new testcase.
3889
18486b18
VS
38902010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 Nested partitions
3893
3894 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3895 'partition' is NULL, grub_partition_get_start already does that.
3896 * commands/loadenv.c (check_blocklists): Likewise.
3897 (write_blocklists): Likewise.
3898 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3899 (grub_fstest_SOURCES): Likewise.
3900 (pkglib_MODULES): Add part_bsd.mod.
3901 (part_bsd_mod_SOURCES): New variable.
3902 (part_bsd_mod_CFLAGS): Likewise.
3903 (part_bsd_mod_LDFLAGS): Likewise.
3904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3905 (grub_emu_SOURCES): Likewise.
3906 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3907 * include/grub/bsdlabel.h: New file.
3908 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3909 'get_name'.
3910 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3911 (grub_partition_map_list): New variable.
3912 (grub_partition_map_register): Inline.
3913 (grub_partition_map_unregister): Likewise.
3914 (FOR_PARTITION_MAPS): New macro.
3915 (grub_partition_map_iterate): Removed.
3916 (grub_partition_get_start): Handle nested partitions.
3917 * include/grub/msdos_partition.h: Remove bsd-related entries.
3918 (grub_pc_partition): Remove.
3919 * kern/disk.c (grub_disk_close): Free partition data.
3920 (grub_disk_adjust_range): Handle nested partitions.
3921 * kern/partition.c (grub_partition_map_probe): New function.
3922 (grub_partition_probe): Parse name to number, handle subpartitions.
3923 (get_partmap): New function.
3924 (grub_partition_iterate): Handle subpartitions.
3925 (grub_partition_get_name): Likewise.
3926 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3927 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3928 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3929 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3930 Set 'number'.
3931 (acorn_partition_map_probe): Remove.
3932 (acorn_partition_map_get_name): Likewise.
3933 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3934 Set 'number'.
3935 Set 'index' to 0 since there can be only one partition entry per sector.
3936 (amiga_partition_map_probe): Remove.
3937 (amiga_partition_map_get_name): Likewise.
3938 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3939 Set 'number'.
3940 Set 'offset' and 'index' to real positions of partitions.
3941 (apple_partition_map_probe): Remove.
3942 (apple_partition_map_get_name): Likewise.
3943 * partmap/bsdlabel.c: New file.
3944 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3945 Set 'number'.
3946 Allocate 'data' so it can be correctly freed.
3947 Set 'index' to offset inside sector.
3948 (gpt_partition_map_probe): Remove.
3949 (gpt_partition_map_get_name): Likewise.
3950 * partmap/msdos.c (grub_partition_parse): Remove.
3951 (pc_partition_map_iterate): Don't force raw access.
3952 Set 'number'.
3953 Make 'ext_offset' a local variable.
3954 (pc_partition_map_probe): Remove.
3955 (pc_partition_map_get_name): Remove.
3956 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3957 Set 'number'.
3958 (sun_partition_map_probe): Remove.
3959 (sun_partition_map_get_name): Likewise.
3960 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3961 (grub_pcpart_type): Likewise.
3962 * util/hostdisk.c (open_device): Handle new numbering scheme.
3963 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3964 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3965 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3966 * util/grub-install.in: Insert all subpartition modules.
3967 * util/ieee1275/grub-install.in: Likewise.
3968
a3940f88
AG
39692010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3970
3971 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3972 grammar.
3973
21b99926 39742010-03-24 Colin Watson <cjwatson@ubuntu.com>
3975
3976 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3977
bed1d352
CW
39782010-03-21 Colin Watson <cjwatson@ubuntu.com>
3979
3980 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3981 match where 'make install' puts them.
3982 * util/i386/efi/grub-install.in: Likewise.
3983
c9f58427
CW
39842010-03-19 Colin Watson <cjwatson@ubuntu.com>
3985
3986 * .bzrignore: Add gentrigtables, grub-script-check,
3987 grub_script_check_init.c, grub_script_check_init.h, and
3988 trigtables.c.
3989
f84afb27
VS
39902010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * kern/parser.c: Indented.
3993
ed0e3d30
VS
39942010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3997
0ea81d98
VS
39982010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
4001 alpha_mask_size == 0 case.
4002
0cdc2a09
BC
40032010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
4004
4005 GRUB shell lexer and parser improvements.
4006
4007 * conf/any-emu.rmk: Build rule updates.
4008 * conf/common.rmk: Likewise.
4009 * conf/i386-coreboot.rmk: Likewise.
4010 * conf/i386-efi.rmk: Likewise.
4011 * conf/i386-ieee1275.rmk: Likewise.
4012 * conf/i386-pc.rmk: Likewise.
4013 * conf/powerpc-ieee1275.rmk: Likewise.
4014 * conf/x86_64-efi.rmk: Likewise.
4015
4016 * configure.ac: Configure check for flex.
4017
4018 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
4019 types.
4020 (grub_lexer_param): Struct member updates.
4021 (grub_parser_param): Likewise.
4022 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
4023 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
4024 (grub_script_lexer_init): Prototype update.
4025 (grub_script_lexer_record_start): Likewise.
4026 (grub_script_lexer_record_stop): Likewise.
4027 (grub_script_lexer_yywrap): New function prototype.
4028 (grub_script_lexer_fini): Likewise.
4029 (grub_script_execute_argument_to_string): Removed by...
4030 (grub_script_execute_argument_to_argv): ...better version.
4031
4032 * script/execute.c (ROUND_UPTO): New macro.
4033 (grub_script_execute_cmdline): Out of memory fixes.
4034 (grub_script_execute_menuentry): Likewise.
4035 (grub_script_execute_argument_to_string): Removed. Update all
4036 users by...
4037 (grub_script_execute_argument_to_argv): ...better version.
4038 * script/function.c (grub_script_function_create): Use
4039 grub_script_execute_argument_to_argv instead of
4040 grub_script_execute_argument_to_string.
4041
4042 * script/lexer.c (check_varstate): Removed.
4043 (check_textstate): Removed.
4044 (grub_script_lexer_record_start): Likewise.
4045 (grub_script_lexer_record_stop): Likewise.
4046 (recordchar): Replaced with...
4047 (grub_script_lexer_record): ...new function.
4048 (nextchar): Removed.
4049 (grub_script_lexer_init): Rewritten.
4050 (grub_script_yylex): Rewritten.
4051 (append_newline): New function.
4052 (grub_script_lexer_yywrap): New function.
4053 (grub_script_lexer_fini): New function.
4054 (grub_script_yyerror): Sets error flag.
4055
4056 * script/yylex.l: New file.
4057 (grub_lexer_yyfree): Wrapper for flex yyffre.
4058 (grub_lexer_yyalloc): Likewise.
4059 (grub_lexer_yyrealloc): Likewise.
4060 * script/parser.y: Refactored.
4061
4062 * script/script.c (grub_script_arg_add): Out of memory fixes.
4063 (grub_script_add_arglist): Likewise.
4064 (grub_script_create_cmdline): Likewise.
4065 (grub_script_create_cmdmenu): Likewise.
4066 (grub_script_add_cmd): Likewise.
4067 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
4068 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
4069 unnecessary code.
4070
4071 * tests/grub_script_echo1.in: New testcase.
4072 * tests/grub_script_vars1.in: New testcase.
4073 * tests/grub_script_echo_keywords.in: New testcase.
4074
1d63a066
VS
40752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Remove some redundancy in build system.
4078
4079 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
4080 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
4081 (TARGET_LDFLAGS): Add -nostdlib.
4082 (TARGET_IMG_LDFLAGS): Likewise.
4083 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
4084 anything since mmap isn't available.
4085 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
4086 Add util/time.c.
4087 (pkglib_MODULES): Remove reboot.mod.
4088 (reboot_mod_SOURCES): Removed.
4089 (reboot_mod_CFLAGS): Likewise.
4090 (reboot_mod_LDFLAGS): Likewise.
4091 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
4092 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
4093 (DEFSYMFILES): Add kernel_syms.lst.
4094 (kernel_img_HEADERS): Add common headers.
4095 (symlist.c): New target.
4096 (kernel_syms.lst): Likewise.
4097 (pkglib_MODULES): Add memdisk.mod.
4098 (memdisk_mod_SOURCES): New variable.
4099 (memdisk_mod_CFLAGS): Likewise.
4100 (memdisk_mod_LDFLAGS): Likewise.
4101 (pkglib_MODULES): Add reboot.mod.
4102 (reboot_mod_SOURCES): New variable.
4103 (reboot_mod_CFLAGS): Likewise.
4104 (reboot_mod_LDFLAGS): Likewise.
4105 (pkglib_MODULES): Add date.mod.
4106 (date_mod_SOURCES): New variable.
4107 (date_mod_CFLAGS): Likewise.
4108 (date_mod_LDFLAGS): Likewise.
4109 (pkglib_MODULES): Add datehook.mod.
4110 (datehook_mod_SOURCES): New variable.
4111 (datehook_mod_CFLAGS): Likewise.
4112 (datehook_mod_LDFLAGS): Likewise.
4113 (pkglib_MODULES): Add lsmmap.mod.
4114 (lsmmap_mod_SOURCES): New variable.
4115 (lsmmap_mod_CFLAGS): Likewise.
4116 (lsmmap_mod_LDFLAGS): Likewise.
4117 (pkglib_MODULES): Add boot.mod.
4118 (boot_mod_SOURCES): New variable.
4119 (boot_mod_CFLAGS): Likewise.
4120 (boot_mod_LDFLAGS): Likewise.
4121 * conf/i386-coreboot.rmk: Removed redundant parts.
4122 * conf/i386-ieee1275.rmk: Likewise.
4123 * conf/i386-pc.rmk: Likewise.
4124 * conf/mips-yeeloong.rmk: Likewise.
4125 * conf/mips.rmk: Likewise.
4126 * conf/powerpc-ieee1275.rmk: Likewise.
4127 * conf/sparc64-ieee1275.rmk: Likewise.
4128 * conf/x86_64-efi.rmk: Likewise.
4129 * conf/i386-coreboot.rmk: Moved qemu parts ..
4130 * conf/i386-qemu.rmk: ... here
4131 * conf/i386-efi.rmk: Moved common parts to...
4132 * conf/x86-efi.rmk: ... here.
4133 * conf/i386.rmk: Added modules common to all x86 variants.
4134 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
4135 * disk/memdisk.c: Remove grub/machine/kernel.h.
4136 * gensymlist.sh.in: Include symbol.h.
4137 * hook/datehook.c: Correct module name.
4138 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
4139 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
4140 * include/grub/i386/efi/serial.h: New file.
4141 * include/grub/x86_64/efi/serial.h: Likewise.
4142 * util/time.c: Likewise.
4143 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
4144
463ac55f
CK
41452010-03-14 Colin King <colin.king@ubuntu.com>
41462010-03-14 Colin Watson <cjwatson@ubuntu.com>
4147
4148 Shrink the pre-partition-table part of boot.img by eight bytes.
4149
4150 * boot/i386/pc/boot.S (ERR): New macro.
4151 (chs_mode): Use ERR.
4152 (geometry_error): Likewise.
4153 (hd_probe_error): Remove. This is only used once, so we wrwite
4154 it inline instead.
4155 (read_error): Instead of printing read_error_string, just set up
4156 %si and fall through to ...
4157 (error_message): ... this new function, also used by ERR.
4158
08e46ede
CW
41592010-03-14 Colin Watson <cjwatson@ubuntu.com>
4160
4161 Speed up consecutive hostdisk operations on the same device.
4162
4163 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
4164 (grub_util_biosdisk_open): Initialise disk->data.
4165 (struct linux_partition_cache): New structure.
4166 (linux_find_partition): Cache partition start positions; these are
4167 expensive to compute on every read and write.
4168 (open_device): Cache open file descriptor in disk->data, so that we
4169 don't have to reopen it and flush the buffer cache for consecutive
4170 operations on the same device.
4171 (grub_util_biosdisk_close): New function.
4172 (grub_util_biosdisk_dev): Set `close' member.
4173
4174 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
4175 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
4176 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4177 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4178 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
4179
4a6d2d06
VS
41802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 Compile parts of grub-emu as modules.
4183
4184 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
4185 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
4186 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
4187 (all-local): Add $(GRUB_EMU).
4188 (install-local): Install $(GRUB_EMU).
4189 (uninstall): Uninstall $(GRUB_EMU).
4190 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
4191 * kern/dl.c: Likewise.
4192 * commands/sleep.c: Not include machine/time.h.
4193 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
4194 (COMMON_CFLAGS): Likewise.
4195 (sbin_UTILITIES): Remove grub-emu.
4196 (grub_emu_SOURCES): Removed.
4197 (kernel_img_RELOCATABLE): New variable.
4198 (pkglib_PROGRAMS): Add kernel.img.
4199 (kernel_img_SOURCES): New variable
4200 (kernel_img_CFLAGS): Likewise.
4201 (kernel_img_LDFLAGS): Likewise.
4202 (TARGET_NO_STRIP): Likewise.
4203 (TARGET_NO_DYNAMIC_MODULES): Likewise.
4204 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
4205 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
4206 (grub-emu): New target.
4207 (GRUB_EMU): New variable.
4208 * configure.ac: Whitelist -emu as possible x86_64 architecture.
4209 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
4210 * loader/xnu.c: Likewise.
4211 * include/grub/pci.h: Likewise.
4212 * genemuinit.sh: New file.
4213 * genemuinitheader.sh: Likewise.
4214 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
4215 Support TARGET_NO_DYNAMIC_MODULES.
4216 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
4217 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
4218 * disk/loopback.c: Likewise.
4219 * font/font_cmd.c: Likewise.
4220 * partmap/acorn.c: Likewise.
4221 * partmap/amiga.c: Likewise.
4222 * partmap/apple.c: Likewise.
4223 * partmap/gpt.c: Likewise.
4224 * partmap/msdos.c: Likewise.
4225 * partmap/sun.c: Likewise.
4226 * parttool/msdospart.c: Likewise.
4227 * term/gfxterm.c: Likewise.
4228 * video/bitmap.c: Likewise.
4229 * video/readers/jpeg.c: Likewise.
4230 * video/readers/png.c: Likewise.
4231 * video/readers/tga.c: Likewise.
4232 * video/video.c: Likewise.
4233 * util/grub-emu.c (read_command_list): Removed.
4234 (main): Don't call util_init_nls.
4235 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
4236 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
4237
91fdd2ed
VS
42382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
4241 date.mod, datehook.mod.
4242 (datetime_mod_SOURCES): New variable.
4243 (datetime_mod_CFLAGS): Likewise.
4244 (datetime_mod_LDFLAGS): Likewise.
4245 (date_mod_SOURCES): Likewise.
4246 (date_mod_CFLAGS): Likewise.
4247 (date_mod_LDFLAGS): Likewise.
4248 (datehook_mod_SOURCES): Likewise.
4249 (datehook_mod_CFLAGS): Likewise.
4250 (datehook_mod_LDFLAGS): Likewise.
4251 * conf/sparc64-ieee1275.rmk: Likewise.
4252 * lib/ieee1275/datetime.c: New file.
4253
873ccae6
VS
42542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
4257 (ieee1275_fb_mod_SOURCES): New variable.
4258 (ieee1275_fb_mod_CFLAGS): Likewise.
4259 (ieee1275_fb_mod_LDFLAGS): Likewise.
4260 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
4261 New proto.
4262 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
4263 (HEAP_MAX_ADDR): Likewise.
4264 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
4265 type.
4266 Correct stop condition.
4267 (grub_ieee1275_devices_iterate): New function.
4268 * video/ieee1275.c: New file.
4269
601c97c0
VS
42702010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
4273
4274 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
4275 as scratch.
4276 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
4277 SCRATCH_PAD_DISKBOOT as scratch.
4278 (bootit): Pass Openfirmware pointer in %o4.
4279 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
4280 of 0x200000.
4281 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
4282 with util/grub-mkrawimage.c.
4283 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
4284 * include/grub/aout.h (AOUT_MID_SUN): New definition.
4285 (grub_aout_get_type) [GRUB_UTIL]: Removed.
4286 (grub_aout_load) [GRUB_UTIL]: Likewise.
4287 * include/grub/kernel.h (grub_modules_get_end): New proto.
4288 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
4289 (SCRATCH_PAD_BOOT): New definition.
4290 (SCRATCH_PAD_DISKBOOT): Likewise.
4291 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
4292 * include/grub/sparc64/ieee1275/ieee1275.h
4293 (grub_ieee1275_original_stack): New variable
4294 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
4295 New definition
4296 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
4297 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
4298 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
4299 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
4300 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
4301 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
4302 (grub_platform_image_format_t): New type.
4303 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
4304 * kern/main.c (grub_modules_get_end)
4305 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
4306 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
4307 (codestart): Switch stacks.
4308 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
4309 variable.
4310 (grub_heap_init): Use grub_modules_get_end.
4311 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
4312 stack.
4313 * util/grub-mkrawimage.c (generate_image): Support sparc64.
4314 (main): Likewise.
4315 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
4316
d68b491e
TG
43172010-03-14 Thorsten Glaser <tg@mirbsd.org>
4318
4319 * util/grub-mkrescue.in: Base ISO UUID on UTC.
4320
4e02ed50
MK
43212010-03-08 Matt Kraai <kraai@ftbfs.org>
4322
4323 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
4324 bug #559005).
4325
1f15fc1e
VS
43262010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * genmoddep.awk: Output all missing symbols and not only first.
4329
fce5d8ff
VS
43302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * NEWS: Put the date of 1.98 release.
4333
d1e8a02f
VS
43342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
4337 ft2build.h.
4338
696fd607
VS
43392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
4342 completition in the middle of string.
4343
33e2e6f3
VS
43442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * util/grub-mkrescue.in: Use mktemp with explicit template.
4347
b1f6d291
VS
43482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
4351
2ac227c7
VS
43522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
4355 right pointer.
4356
8f9a632b
VS
43572010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 Fix FreeBSD compilation.
4360
4361 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
4362 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
4363
60b03859
VS
43642010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
4367
48a5a769
VS
43682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
4371
3ab4bd77
VS
43722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
4375
d116e0d8
RM
43762010-03-04 Robert Millan <rmh.grub@aybabtu.com>
4377
4378 Support relative image path in theme file.
4379
4380 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
4381 (image_set_property): Handle theme_dir and relative path.
4382
c7ef54aa
VS
43832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * configure.ac: Alias amd64 to x86_64.
4386
fcee14ed
VS
43872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * NEWS: mention multiboot on EFI.
4390
d0780363
VS
43912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * kern/main.c (grub_load_modules): Handle errors from init functions of
4394 embeded modules.
4395
41168ea4
VS
43962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * normal/autofs.c (autoload_fs_module): Handle errors.
4399
b54d93ac
VS
44002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 Disable linux.mod on qemu-mips since it's not functional and leads
4403 to compilation failure.
4404
4405 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4406 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4407 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4408 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4409 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4410 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4411 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4412 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4413 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4414 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4415 Reported by: BVK Chaitanya
4416
fc8345da
JU
44172010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4418
4419 * INSTALL: Add gettext as a dependency and add qemu to a new section
4420 "Prerequisites for make-check".
4421
4760f979
CF
44222010-03-04 Christian Franke <franke@computer.org>
4423
4424 * util/grub-pe2elf.c: Add missing include "progname.h".
4425
f209b5b2
VS
44262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * normal/crypto.c (read_crypto_list): Fix a typo.
4429 Reported by: Seth Goldberg.
4430
b4b7be98
VS
44312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 4434 Reported by: Seth Goldberg.
b4b7be98 4435
c0ee0385
VS
44362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4439 ascii.bitmaps.
4440
a8efbf64
VS
44412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 4444 Reported by: Seth Goldberg.
a8efbf64 4445
08dcd913
VS
44462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * util/i386/efi/grub-install.in: Copy gettext files.
4449
c4d0b332
VS
44502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4453
c6f2fe52
VS
44542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Wait for user entry basing on presence of output rather than on errors.
4457
4458 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4459 (grub_install_newline_hook): Likewise.
4460 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4461 * normal/menu.c (show_menu): Check line_counter to determine presence
4462 of output.
4463 * normal/term.c (grub_normal_line_counter): New variable.
4464 (grub_normal_get_line_counter): New function.
4465 (grub_install_newline_hook): Likewise.
4466
5382b1e4
VS
44672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4470
5519963b
VS
44712010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * configure.ac: Update version to 1.98.
4474
72b28631
VS
44752010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * util/grub.d/10_linux.in (linux_entry): Don't default to
4478 gfxpayload=keep if Linux doesn't support video handover.
4479
c140a180
VS
44802010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Don't compile video modules on yeeloong since video subsystem is part
4483 of kernel.
4484
4485 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4486 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4487 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4488 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4489 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4490 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4491 * include/grub/bitmap_scale.h: Likewise.
4492 * include/grub/bufio.h: Likewise.
4493 * include/grub/font.h: Likewise.
4494 * include/grub/gfxterm.h: Likewise.
4495 * include/grub/video.h: Likewise.
4496 * include/grub/vbe.h: Don't include video_fb.h.
4497 * video/i386/pc/vbe.c: Include video_fb.h.
4498 * commands/i386/pc/vbetest.c: Include video.h.
4499
a0ca21c2
CW
45002010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4501
4502 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4503 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4504 default entry if GRUB_SAVEDEFAULT=true. This allows using
4505 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4506 saving a new default on every boot.
4507
4a8a763c
VS
45082010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4511 * normal/term.c (read_terminal_list): Likewise.
4512 * normal/main.c (grub_normal_init_page): Likewise.
4513 (grub_normal_read_line_real): Likewise.
4514
607ffde2
VS
45152010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4518 memory leak.
4519 Reported by: Seth Goldberg.
4520
2b8fa975
CW
45212010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4522
4523 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4524 duplicate declaration of `start'.
4525
618307dd
VS
45262010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4529 filename.
4530 Reported by: Georgy Buranov
4531
7dd05b96 45322010-02-20 Carles Pina i Estany <carles@pina.cat>
4533
4534 * util/grub-mkrawimage.c (usage): Change string formatting to
4535 improve gettext.
4536
d1484a42
MRA
45372010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4538
4539 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4540 backspace keys.
4541
42b1d186
VS
45422010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4545 Reported by: Michael Suchanek.
4546
45472010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
4548
4549 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4550 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4551
d9f31a41
VS
45522010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 Remove any reference to non-free fonts.
4555
4556 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4557 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4558 uses non-free components.
4559 * font/font.c (grub_font_get_name): Remove example name.
4560 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4561 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4562 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4563 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4564
2793c71e
GB
45652010-02-16 Georgy Buranov <gburanov@gmail.com>
4566
4567 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4568
402e3779
VS
45692010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4572 Double divisor.
4573 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4574 features.
4575 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4576
0dd1e0dd
VS
45772010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4580
6fa7cfce
ST
45812010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4582
4583 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4584 * docs/grub.texi (Command-line and menu entry commands): Document play
4585 command.
4586
37c8483b
ST
45872010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4588
4589 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4590 parse arguments as inline tempo and notes. Move code for playing notes
4591 to...
4592 (play): ... new function.
4593
14da0fb7
ST
45942010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4595
4596 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4597 grub_uint16_t instead of short.
4598 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4599 disk from little endian to cpu endianness.
4600
04459e70
ST
46012010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4602
4603 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4604 GRUB_TICKS_PER_SECOND instead of 120.
4605
a0876943
VS
46062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4609 escape sequence after \e.
4610
e29f95dc
VS
46112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4614 non-ASCII characters.
4615
d27859b2
VS
46162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4619 set root in single quotes to prevent \, from being unescaped.
4620
bc028f2f
VS
46212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Prevent unknown commands from stopping menuentry execution.
4624
4625 * script/execute.c (grub_script_execute_cmdline): Print error after
4626 unknown command.
4627
095f5f82
VS
46282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4631 Reported by: Pavel Pisa.
4632
8c717950
VS
46332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4636
904935c3
VS
46372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 Merge grub_ieee1275_map_physical into grub_map and rename to
4640 grub_ieee1275_map
4641
4642 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4643 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4644 Remove.
4645 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4646 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4647 necessary.
4648 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4649
5b59a4e3
VS
46502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4653 opening and not after.
4654
69e137e8
VS
46552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4658 constants.
4659
2c0fcc36
VS
46602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4663 (alloc_phys): Use ALIGN_UP instead of align_addr.
4664
8c6052ce
VS
46652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4668
17cec782
VS
46692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4672
e0128bbd
VS
46732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4676 verbose dprintf.
4677
ca62070b
VS
46782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Fix over-4GiB seek on sparc64.
4681
4682 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4683 Replace pos_i and pos_lo with pos. All users updated.
4684 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4685 New constant.
4686 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4687 Likewise.
4688 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4689 and pos_lo.
4690
bdca2607
VS
46912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * util/grub-mkrawimage.c (main): Call set_program_name.
4694
da278c4d
VS
46952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 Properly align 64-bit targets.
4698
4699 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4700 (generate_image): Use ALIGN_ADDR.
4701
b274d734
VS
47022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 Properly create cross-endian images.
4705
4706 * include/grub/types.h (grub_host_to_target_addr): New macro
4707 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4708
82da2062
VS
47092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4712
7cae4377
VS
47132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4716
4717 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4718 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4719 (grub_linux_boot): Divide by 64K when on VESA.
4720
65a533e7
VS
47212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 Support GRUB_GFXPAYLOAD_LINUX.
4724
4725 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4726 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4727
dd01d397
VS
47282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4731 to show messages instead of discarding them.
4732 Process errors after executing command and not before. Keep old method
4733 too as precaution.
4734
660960d6
VS
47352010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * configure.ac: Check for ft2build.h.
4738
62509f04
VS
47392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4742
473df63d
VS
47432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * genkernsyms.sh.in: Use TARGET_CC.
4746
c98d2a13
CW
47472010-02-07 Colin Watson <cjwatson@ubuntu.com>
4748
4749 * NEWS: Update.
4750
6e14234c
VS
47512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
4754 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4755 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 4756
b255e9cf
YB
47572010-02-07 Yves Blusseau <blusseau@zetam.org>
4758
6e14234c 4759 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 4760
98e6959d
VS
47612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Fix warnings in grub-emu when compiling with maximum warning options.
4764
4765 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4766 (grub_arch_modules_addr): Return 0 and not NULL.
4767 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 4768 (xstrdup): Use newstr instead of dup.
f88d801b
VS
4769 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4770 of disk to dsk to avoid shadowing.
74e4934e
VS
4771 (find_free_slot): Fix prototype.
4772 * util/getroot.c (grub_util_is_dmraid): Make static.
4773 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4774 Add missing prototype.
4775 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 4776
74e31b5c
VS
47772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4780 appropriately.
4781
6b2ad14b
VS
47822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4785 code out.
4786
8f891adc
VS
47872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4790 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4791 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4792 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4793 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4794 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4795
74b45184
VS
47962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * include/grub/err.h (grub_err_printf): Don't export.
4799
a4bced77
VS
48002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4803
007d0695
VS
48042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4807 * kern/misc.c (grub_gettext_dummy): Make static.
4808
b6c0d9c2
VS
48092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4812 by non-valid ones.
4813 * kern/term.c (grub_putchar): Likewise.
4814
f51a90d0
VS
48152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4818 buggy hook call and memory leak.
4819
6846cec5
VS
48202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4823
468d69fe
VS
48242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4827
51906b8c
VS
48282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4831 modevar.
4832 Return grub_errno on allocation error.
4833
09706ce5
VS
48342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4837
911df80c
YB
48382010-02-06 Yves Blusseau <blusseau@zetam.org>
4839
4840 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4841 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4842
3746a6bc
VS
48432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4846 non-pxe disk.
4847 (grub_pxefs_open): Likewise.
4848
09706ce5
VS
48492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4850
4851 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4852 * util/grub.d/10_kfreebsd.in: Likewise.
4853 * util/grub.d/10_linux.in: Likewise.
4854
7cc192d9
VS
48552010-02-06 Colin D Bennett <colin@gibibit.com>
4856
4857 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4858 (gfxmenu_mod_SOURCES): New variable.
4859 (gfxmenu_mod_CFLAGS): Likewise.
4860 (gfxmenu_mod_LDFLAGS): Likewise.
4861 * include/grub/term.h (grub_term_set_current_output): Declare
4862 argument as const.
4863 * docs/gfxmenu-theme-example.txt: New file.
4864 * gfxmenu/gfxmenu.c: Likewise.
4865 * gfxmenu/gui_box.c: Likewise.
4866 * gfxmenu/gui_canvas.c: Likewise.
4867 * gfxmenu/gui_circular_progress.c: Likewise.
4868 * gfxmenu/gui_image.c: Likewise.
4869 * gfxmenu/gui_label.c: Likewise.
4870 * gfxmenu/gui_list.c: Likewise.
4871 * gfxmenu/gui_progress_bar.c: Likewise.
4872 * gfxmenu/gui_string_util.c: Likewise.
4873 * gfxmenu/gui_util.c: Likewise.
4874 * gfxmenu/icon_manager.c: Likewise.
4875 * gfxmenu/model.c: Likewise.
4876 * gfxmenu/named_colors.c: Likewise.
4877 * gfxmenu/theme_loader.c: Likewise.
4878 * gfxmenu/view.c: Likewise.
4879 * gfxmenu/widget-box.c: Likewise.
4880 * include/grub/gfxmenu_model.h: Likewise.
4881 * include/grub/gfxmenu_view.h: Likewise.
4882 * include/grub/gfxwidgets.h: Likewise.
4883 * include/grub/gui.h: Likewise.
4884 * include/grub/gui_string_util.h: Likewise.
4885 * include/grub/icon_manager.h: Likewise.
4886
48872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 Agglomerate scrolling in gfxterm.
4890
4891 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4892 (grub_virtual_screen_setup): Initialise 'total_screen'.
4893 (write_char): Split to ...
4894 (paint_char): ... this ...
4895 (write_char): ... and this.
4896 (paint_char): Handle delayed scrolling.
4897 (draw_cursor): Likewise.
4898 (scroll_up): Split to ...
4899 (real_scroll): ... this ...
4900 (scroll_up): ... and this.
4901 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4902 characters.
4903 (grub_gfxterm_refresh): Call real_scroll.
4904
49052010-02-06 Colin D Bennett <colin@gibibit.com>
4906
4907 * include/grub/misc.h (grub_iscntrl): New inline function.
4908 (grub_isalnum): Likewise.
4909 (grub_strtol): Likewise.
4910
49112010-02-06 Colin D Bennett <colin@gibibit.com>
4912
4913 * normal/menu_text.c (get_entry_number): Move from here ...
4914 * normal/menu.c (get_entry_number): ... moved here.
4915 * include/grub/menu.h (grub_menu_get_default_entry_index):
4916 New prototype.
4917 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4918 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4919 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4920 (grub_menu_viewer_should_return): Likewise.
4921 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4922 * normal/menu_text.c (run_menu): Enable menu switching.
4923 * normal/menu_viewer.c (should_return): New variable.
4924 (menu_viewer_changed): Likewise.
4925 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4926 (grub_menu_viewer_should_return): New function.
4927 (menuviewer_write_hook): Likewise.
4928 (grub_menu_viewer_init): Likewise.
4929
49302010-02-06 Colin D Bennet <colin@gibibit.com>
49312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 Support for gfxterm in a window.
4934
4935 * include/grub/gfxterm.h: New file.
4936 * include/grub/video.h (struct grub_video_rect): New declaration.
4937 (grub_video_rect_t): Likewise.
4938 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4939 (refcount): New variable.
4940 (render_target): Likewise.
4941 (window): Likewise.
4942 (repaint_callback): Likewise.
4943 (grub_virtual_screen_setup): Use 'render_target'.
4944 (init_window): New function.
4945 (grub_gfxterm_init_window): Likewise.
4946 (grub_gfxterm_init): Check reference counter.
4947 Use init_window.
4948 (destroy_window): New function.
4949 (grub_gfxterm_destroy_window): Likewise.
4950 (grub_gfxterm_fini): Check reference counter.
4951 Use destroy_window.
4952 (redraw_screen_rect): Restore viewport.
4953 Use 'render_target' and 'window'.
4954 Call 'repaint_callback'.
4955 (write_char): Use 'render_target'.
4956 (draw_cursor): Likewise.
4957 (scroll_up): Restore viewport.
4958 Use 'render_target' and 'window'.
4959 Call 'repaint_callback'.
4960 (grub_gfxterm_cls): Likewise.
4961 (grub_gfxterm_refresh): Use 'window'.
4962 (grub_gfxterm_set_repaint_callback): New function.
4963 (grub_gfxterm_background_image_cmd): Use 'window'.
4964 (grub_gfxterm_get_term): New function.
4965 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4966
49672010-02-06 Colin D Bennett <colin@gibibit.com>
4968
4969 Bitmap scaling support.
4970
4971 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4972 (bitmap_scale_mod_SOURCES): New variable.
4973 (bitmap_scale_mod_CFLAGS): Likewise.
4974 (bitmap_scale_mod_LDFLAGS): Likewise.
4975 * include/grub/bitmap_scale.h: New file.
4976 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4977 (background_image_cmd_options): New variable.
4978 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4979 (cmd): Rename and change type to ...
4980 (background_image_cmd_handle): ... this. All users updated.
4981 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4982 * video/bitmap_scale.c: New file.
4983
49842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 SDL support.
4987
4988 * Makefile.in (LIBSDL): New variable.
4989 (enable_grub_emu_sdl): Likewise.
4990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4991 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4992 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4993 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4994 * util/sdl.c: New file.
4995
49962010-02-06 Colin D Bennett <colin@gibibit.com>
49972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 Double buffering support.
5000
5001 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
5002 * include/grub/video.h: Update comment.
5003 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5004 New type.
5005 (grub_video_fb_doublebuf_blit_init): New prototype.
5006 * term/gfxterm.c (scroll_up): Support double buffering.
5007 (grub_gfxterm_refresh): Likewise.
5008 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
5009 (grub_video_fb_doublebuf_blit_init): Likewise.
5010 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
5011 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
5012 'displayed_page', 'render_page' and 'update_screen'.
5013 (grub_video_vbe_fini): Free offscreen buffer.
5014 (doublebuf_pageflipping_commit): New function.
5015 (doublebuf_pageflipping_update_screen): Likewise.
5016 (doublebuf_pageflipping_init): Likewise.
5017 (double_buffering_init): Likewise.
5018 (grub_video_vbe_setup): Enable doublebuffering.
5019 (grub_video_vbe_swap_buffers): Implement.
5020 (grub_video_vbe_set_active_render_target): Handle double buffering.
5021 (grub_video_vbe_get_active_render_target): Likewise.
5022 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
5023 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
5024 (grub_video_vbe_enable_double_buffering): Likewise.
5025 (grub_video_vbe_swap_buffers): Use update_screen.
5026 (grub_video_set_mode): Use double buffering.
5027
50282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5029
5030 * maintainance/gentrigtables.py: Remove.
5031 * lib/trig.c: Likewise.
5032
5033 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
5034
5035 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
5036 `trigtables.c'.
5037 (trigtables.c): New rule.
5038 (gentrigtables): Likewise.
5039 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
5040
50412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5042
5043 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
5044 integer constants.
5045
50462010-02-06 Colin D Bennet <colin@gibibit.com>
5047
5048 Trigonometry support.
5049
5050 * include/grub/trig.h: New file.
5051 * lib/trig.c: Likewise.
5052 * maintainance/gentrigtables.py: Likewise.
5053 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
5054 (trig_mod_SOURCES): New variable.
5055 (trig_mod_CFLAGS): Likewise.
5056 (trig_mod_LDFLAGS): Likewise.
5057
5562834e
VS
50582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
5061 disk devices.
5062
4f8528fc
VS
50632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
5066 error.
5067
2b4068e9
VS
50682010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * util/hostdisk.c (open_device): Don't use partition device when reading
5071 before the partition.
5072 (grub_util_biosdisk_read): Don't read from partition and before the
5073 partition in single operation.
5074 (grub_util_biosdisk_write): Don't write to partition and before the
5075 partition in single operation.
5076
399f6e4d
TL
50772010-02-03 Torsten Landschoff <torsten@debian.org>
5078
5079 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5080 last sectors.
5081
996649b0
VS
50822010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
5085 CDROM reads.
5086 (grub_biosdisk_write): Refuse to write to CDROM.
5087
3b205d4d
VS
50882010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
5091
61e89d9d
VS
50922010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * font/font.c (find_glyph): Check that bmp_idx is available before
5095 using it.
5096 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
5097 with (font == NULL).
5098
bf7fcba2
CS
50992010-01-28 Christian Schmitt <chris@ilovelinux.de>
5100
5101 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
5102
f45d2663
BC
51032010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
5104
5105 * include/grub/script_sh.h (sourcecode): Add const qualifier.
5106 * util/grub-script-check.c (getline): Fix empty lines case.
5107
ec1444e6
RM
51082010-01-28 Robert Millan <rmh.grub@aybabtu.com>
5109
5110 * Makefile.in (check): Exit with fail status when one of the tests
5111 fails.
5112 * tests/example_functional_test.c (example_test): Fix reversed assert.
5113 * tests/example_unit_test.c (example_test): Likewise.
5114
2e1cb9bb
CW
51152010-01-28 Colin Watson <cjwatson@ubuntu.com>
5116
5117 * util/grub.d/10_linux.in: This script does not use any of the
5118 contents of gettext.sh, only the external command `gettext', so stop
5119 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
5120 the same prefix as GRUB.)
5121 * util/grub.d/10_kfreebsd.in: Likewise.
5122
63533ab0
VS
51232010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
5126 of the line.
5127
989e1f93
VS
51282010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5131 last sectors.
5132
e709ebe2
VS
51332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
5136 having a 4KiB and not 32KiB buffer size.
5137
27dea7ed
RM
51382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5139
5140 * util/hostfs.c: Include `<errno.h>'.
5141 (grub_hostfs_read): Handle errors from fseeko() and fread().
5142
67667b9c
RM
51432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5144
5145 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
5146 loop when using read hooks on files whose size isn't sector-aligned.
5147
c294d9d8
RM
51482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5149
5150 Remove unused parameter.
5151
5152 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
5153 (grub_iso9660_open): Remove initialization of `data->length'.
5154
af75a9f1
RM
51552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5156
5157 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
5158 memleak conditions.
5159
254e2ce5 51602010-01-27 Carles Pina i Estany <carles@pina.cat>
5161
5162 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
5163 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
5164
b510928c 51652010-01-26 Carles Pina i Estany <carles@pina.cat>
5166
5167 * util/bin2h.c (usage): Fix warning (space after backslash).
5168
aa2f9dd2 51692010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 5170
5171 * font/font.c: Include `grub/fontformat.h.
5172 Remove font file format constants.
5173 (grub_font_load): Use the new macros.
5174 * include/grub/fontformat.h: New file.
5175 * util/grub-mkfont.c: Include `grub/fontformat.c'.
5176 (write_font_pf2): Use the new macros.
5177
94e7e712
RM
51782010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5179
5180 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
5181 does.
5182
3973a59a
RM
51832010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5184
5185 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
5186
5187 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
5188 (_start): Macroify `0x7F'.
5189
5190 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
5191 (make_install_device): Use "(pxe)" as fallback prefix when booting
5192 via PXE.
5193
42e0cba3
GS
51942010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * configure.ac: Reset LIBS after check for libgcc symbols.
5197
847effd8
CW
51982010-01-25 Colin Watson <cjwatson@ubuntu.com>
5199
5200 * util/hostdisk.c (open_device): Add trailing newline to debug
5201 message.
5202
ea4a7e35
GS
52032010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5204
5205 * configure.ac: Check for `limits.h'.
5206 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
5207
67951a53
RM
52082010-01-24 Robert Millan <rmh.grub@aybabtu.com>
5209
5210 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
5211 capitalize error strings.
5212
c273d4ce
ST
52132010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
5214
5215 * util/grub.d/10_hurd.in: Add a recovery mode.
5216
69be5b74
VS
52172010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * configure.ac: Check for libgcc symbols with -nostdlib.
5220
fc9e5810
BC
52212010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
5222
5223 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
5224
4b358c0a
VS
52252010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
5228 stack since heap may be unavailable at that point.
5229 (grub_ofconsole_gotoxy): Likewise.
5230
454fcd1c
VS
52312010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * configure.ac: Check for _restgpr_14_x.
5234 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
5235 and _savegpr_* prototypes.
5236
566863ca
RM
52372010-01-22 Robert Millan <rmh.grub@aybabtu.com>
5238
5239 Use generic grub_reboot() for i386-efi.
5240
5241 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
5242 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
5243 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
5244
bf86e59a
VS
52452010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
5248 presence of "prefix" variable as it breaks when normal.mod is
5249 embedded.
5250
d645e0f8
VS
52512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
5254 stack since heap is unavailable at that point.
5255
f9ab2e25
VS
52562010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
5259 (grub_freebsd_bootinfo): Rewritten.
5260 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
5261
01fc7054
VS
52622010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
5265
caab4fd6
RM
52662010-01-21 Robert Millan <rmh.grub@aybabtu.com>
5267
5268 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
5269 domain now.
5270
67eb1427
FZ
52712010-01-20 Felix Zielcke <fzielcke@z-51.de>
5272
5273 * util/misc.c (make_system_path_relative_to_its_root): Change the work
5274 around for handling "/" to the correct fix. Fix a memory leak. Use
5275 xstrdup instead of strdup.
5276
a9ed4ff3
VS
52772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
5280
52812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
5282
5283 Optimise glyph lookup by Basic Multilingual Plane lookup array.
5284
5285 * font/font.c (struct grub_font): New member 'bmp_idx'.
5286 (font_init): Initialise 'bmp_idx'.
5287 (load_font_index): Fill 'bmp_idx'.
5288 (find_glyph): Make inline. Use bmp_idx for BMP characters.
5289
48209f4f
VS
52902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
5293 unnecessary calls.
5294
9f0a4bb7
VS
52952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 Move context handling out of the kernel.
5298
5299 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
5300 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
5301 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
5302 * conf/i386-efi.rmk: Likewise.
5303 * conf/i386-ieee1275.rmk: Likewise.
5304 * conf/i386-pc.rmk: Likewise.
5305 * conf/powerpc-ieee1275.rmk: Likewise.
5306 * conf/sparc64-ieee1275.rmk: Likewise.
5307 * conf/x86_64-efi.rmk: Likewise.
5308 * include/grub/env.h: Include grub/menu.h.
5309 (grub_env_var_type): Removed.
5310 (grub_env_var): Replaced field 'type' with 'global'.
5311 (grub_env_find): New prototype.
5312 (grub_env_context_open): Remove EXPORT_FUNC.
5313 (grub_env_context_close): Likewise.
5314 (grub_env_export): Likewise.
5315 (grub_env_set_data_slot): Removed.
5316 (grub_env_get_data_slot): Likewise.
5317 (grub_env_unset_data_slot): Likewise.
5318 (grub_env_unset_menu): New prototype.
5319 (grub_env_set_menu): Likewise.
5320 (grub_env_get_menu): Likewise.
5321 * include/grub/env_private.h: New file.
5322 * include/grub/normal.h (grub_context_init): New prototype.
5323 (grub_context_fini): Likewise.
5324 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
5325 * normal/context.c (grub_cmd_export): ... to here.
5326 * kern/env.c: Include env_private.h.
5327 (HASHSZ): Moved to include/grub/env_private.h.
5328 (grub_env_context): Likewise.
5329 (grub_env_sorted_var): Likewise.
5330 (current_context): Renamed from this ...
5331 (grub_current_context): ...to this. 'static' removed. All users updated.
5332 (grub_env_find): Removed 'static'.
5333 (grub_env_context_open): Moved to normal/context.c.
5334 (grub_env_context_close): Likewise.
5335 (grub_env_export): Likewise.
5336 (mangle_data_slot_name): Removed.
5337 (grub_env_set_data_slot): Likewise.
5338 (grub_env_get_data_slot): Likewise.
5339 (grub_env_unset_data_slot): Likewise.
5340 * kern/main.c (grub_set_root_dev): Don't export root.
5341 It will be done later.
5342 (grub_main): Don't export prefix.
5343 It will be done later.
5344 * normal/context.c: New file.
5345 * normal/main.c (free_menu): Use grub_env_unset_menu.
5346 (grub_normal_add_menu_entry): Use grub_env_get_menu.
5347 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
5348 (GRUB_MOD_INIT(normal)): Call grub_context_init.
5349 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
5350
8dd35b8c
VS
53512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 setpci support.
5354
5355 * commands/setpci.c: New file.
5356 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
5357 (setpci_mod_SOURCES): New variable.
5358 (setpci_mod_CFLAGS): Likewise.
5359 (setpci_mod_LDFLAGS): Likewise.
5360
449193d5
VS
53612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Byte-addressable PCI configuration space.
5364
5365 * bus/pci.c (grub_pci_make_address): Use byte address instead of
5366 dword address.
5367 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
5368 GRUB_PCI_REG_CACHELINE.
5369 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
5370 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
5371 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
5372 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
5373 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
5374 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
5375 grub_pci_make_address.
5376 (lock_rom_area): Likewise.
5377 * commands/lspci.c (grub_lspci_iter): Use macroses
5378 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
5379 of grub_pci_make_address.
5380 * disk/ata.c (grub_ata_pciinit): Likewise.
5381 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
5382 (GRUB_PCI_REG_VENDOR): Likewise.
5383 (GRUB_PCI_REG_DEVICE): Likewise.
5384 (GRUB_PCI_REG_COMMAND): Likewise.
5385 (GRUB_PCI_REG_STATUS): Likewise.
5386 (GRUB_PCI_REG_REVISION): Likewise.
5387 (GRUB_PCI_REG_CLASS): Likewise.
5388 (GRUB_PCI_REG_CACHELINE): Likewise.
5389 (GRUB_PCI_REG_LAT_TIMER): Likewise.
5390 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
5391 (GRUB_PCI_REG_BIST): Likewise.
5392 (GRUB_PCI_REG_ADDRESSES): Likewise.
5393 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5394 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5395 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5396 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5397 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5398 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5399 (GRUB_PCI_REG_CIS_POINTER): Likewise.
5400 (GRUB_PCI_REG_SUBVENDOR): Likewise.
5401 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
5402 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
5403 (GRUB_PCI_REG_CAP_POINTER): Likewise.
5404 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5405 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5406 (GRUB_PCI_REG_MIN_GNT): Likewise.
5407 (GRUB_PCI_REG_MAX_LAT): Likewise.
5408 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5409 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5410 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 5411 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
5412 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5413 space.
5414
96d73208
RM
54152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5416
5417 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5418 can be reliably determined to be supported.
5419
d4484482
RM
54202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5421
5422 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5423 that VESA is supported.
5424 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5425 supported.
5426
00308ecf
VS
54272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5430
f66924a4
RM
54312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5432
5433 * util/misc.c (make_system_path_relative_to_its_root): Work around
5434 special-casing of "/", as previous incarnation of this routine did.
5435
cbca0ada
VS
54362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 Fix any-emu compilation.
5439
5440 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5441 * grub_bin2h_SOURCES: New variable.
5442
34a66d99
RM
54432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5444
5445 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5446
94fabf58
RM
54472010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5448
5449 * util/grub.d/00_header.in: Fix handling of locale_dir.
5450
02cf98ca
VS
54512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5454 as possible unifont location (Gentoo).
5455 Reported by: Alexander Brüning
5456
327dbcd7
VS
54572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Don't try to generate lists for kernel.img.
5460
5461 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5462 (pkglib_MODULES): Remove kernel.img.
5463 (kernel_img_EXPORTS): Removed.
5464 (kernel_img_RELOCATABLE): New variable.
5465 * conf/x86_64-efi.rmk: Likewise.
5466 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5467
ca467290
VS
54682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5471 grub_xasprintf or grub_snprintf.
5472 (grub_vsprintf): Likewise.
5473 (grub_snprintf): New proto.
5474 (grub_vsnprintf): Likewise.
5475 (grub_xasprintf): Likewise.
5476 (grub_xvasprintf): Likewise.
5477 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5478 (grub_sprintf): Removed.
5479 (grub_vsnprintf): New function.
5480 (grub_snprintf): Likewise.
5481 (grub_xvasprintf): Likewise.
5482 (grub_xasprintf): Likewise.
5483 (grub_vsprintf): Renamed to ...
5484 (grub_vsnprintf_real): ...this. New argument max_len.
5485
aca655fd
BC
54862010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5487
5488 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5489 fix grub-script-check warning.
5490
7ee92c32
VS
54912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * include/grub/font.h (grub_font_load): Fix prototype.
5494
f80927ca
VS
54952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5498
119c50ea
VS
54992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * include/grub/x86_64/at_keyboard.h: New file.
5502
47d5f3c1
VS
55032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * loader/mips/linux.c: Include missing grub/i18n.h.
5506
55ff5266
RM
55072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5508
5509 * normal/menu.c (notify_execution_failure): Clarify error message.
5510
c893cc87
RM
55112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5512
5513 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5514 return value (and revert all return statements). Update users.
5515
917dd370
CW
55162010-01-20 Dan Merillat <debian@dan.merillat.org>
5517
5518 * kern/device.c (grub_device_iterate): Allocate new part_ent
5519 structure based on sizeof (*p) rather than sizeof (p->next), to
5520 account for structure padding.
5521
5522 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5523 disk is NULL, which might happen for LVM physical volumes with no
5524 LVM signature.
5525
d4a4ee57
RM
55262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5527
5528 * loader/mips/linux.c (grub_cmd_initrd)
5529 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5530
55312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5532
5533 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5534 (grub_video_video_init, grub_video_bitmap_init)
5535 (grub_font_manager_init, grub_term_gfxterm_init)
5536 (grub_at_keyboard_init): New extern declarations.
5537 (grub_machine_init): Initialize gfxterm and at_keyboard.
5538
5539 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5540
5541 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5542 `gfxterm.mod' into core image.
5543
5544 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5545 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5546 (kernel_img_FORMAT): Copy to ...
5547
5548 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5549 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5550 (kernel_img_FORMAT): ... here, and ...
5551
5552 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5553 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5554 (kernel_img_FORMAT): ... here.
5555
5556 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5557 and input (at_keyboard) terminals in kernel.
5558 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5559
5560 (pkglib_MODULES): Remove `pci.mod'.
5561 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5562 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5563 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5564 (at_keyboard_mod_LDFLAGS): Remove variables.
5565
55662010-01-11 Felix Zielcke <fzielcke@z-51.de>
5567
5568 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5569
55702009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5571
5572 * include/grub/mips/libgcc.h: Only export symbols for functions
5573 that libgcc provides.
5574
55752009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 MIPS support.
5578
5579 * bus/bonito.c: New file.
5580 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5581 GRUB_PCI_NUM_DEVICES.
5582 * term/i386/pc/serial.c: Move to ...
5583 * term/serial.c: ... here. All users updated.
5584 * util/i386/pc/grub-mkimage.c: Move to ...
5585 * util/grub-mkrawimage.c: ... here. All users updated.
5586 * term/i386/pc/at_keyboard.c: Move to ...
5587 * term/at_keyboard.c: ... here. All users updated.
5588 * conf/mips-qemu-mips.rmk: New file.
5589 * conf/mips-yeeloong.rmk: Likewise.
5590 * conf/mips.rmk: Likewise.
5591 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5592 mipsel-qemu-mips.
5593 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5594 to port addresses.
5595 (grub_ata_pciinit): Support CS5536.
5596 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5597 * font/font_cmd.c (loadfont_command): Open file before passing it to
5598 grub_font_load.
5599 (pseudo_file_read): New function.
5600 (pseudo_file_close): Likewise.
5601 (pseudo_fs): New structure.
5602 (load_font_module): New function.
5603 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5604 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5605 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5606 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5607 * include/grub/i386/at_keyboard.h: Split into ...
5608 * include/grub/at_keyboard.h: ... this ...
5609 * include/grub/i386/at_keyboard.h: ... and this.
5610 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5611 New prototype.
5612 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5613 updated.
5614 (grub_elf64_size): Likewise.
5615 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5616 filename.
5617 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5618 * include/grub/i386/coreboot/serial.h: Rewritten.
5619 * include/grub/i386/ieee1275/serial.h: Include
5620 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5621 * include/grub/i386/pc/serial.h: Moved from here ...
5622 * include/grub/serial.h: ... to here. All users updated.
5623 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5624 (GRUB_PCI_NUM_BUS): Likewise.
5625 (GRUB_PCI_NUM_DEVICES): Likewise.
5626 (grub_pci_device_map_range): Add missing volatile keyword.
5627 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5628 * include/grub/mips/at_keyboard.h: New file.
5629 * include/grub/mips/cache.h: Likewise.
5630 * include/grub/mips/io.h: Likewise.
5631 * include/grub/mips/kernel.h: Likewise.
5632 * include/grub/mips/libgcc.h: Likewise.
5633 * include/grub/mips/pci.h: Likewise.
5634 * include/grub/mips/qemu-mips/boot.h: Likewise.
5635 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5636 * include/grub/mips/qemu-mips/loader.h: Likewise.
5637 * include/grub/mips/qemu-mips/memory.h: Likewise.
5638 * include/grub/mips/qemu-mips/serial.h: Likewise.
5639 * include/grub/mips/qemu-mips/time.h: Likewise.
5640 * include/grub/mips/relocator.h: Likewise.
5641 * include/grub/mips/time.h: Likewise.
5642 * include/grub/mips/types.h: Likewise.
5643 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5644 * include/grub/mips/yeeloong/boot.h: Likewise.
5645 * include/grub/mips/yeeloong/kernel.h: Likewise.
5646 * include/grub/mips/yeeloong/loader.h: Likewise.
5647 * include/grub/mips/yeeloong/memory.h: Likewise.
5648 * include/grub/mips/yeeloong/pci.h: Likewise.
5649 * include/grub/mips/yeeloong/serial.h: Likewise.
5650 * include/grub/mips/yeeloong/time.h: Likewise.
5651 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5652 * kern/elf.c (grub_elf32_size): New parameter. All users
5653 updated.
5654 (grub_elf64_size): Likewise.
5655 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5656 Load modules before saying "Welcome to GRUB!".
5657 Call grub_refresh after saying "Welcome to GRUB!".
5658 * kern/mips/cache.S: New file.
5659 * kern/mips/cache_flush.S: Likewise.
5660 * kern/mips/dl.c: Likewise.
5661 * kern/mips/init.c: Likewise.
5662 * kern/mips/qemu-mips/init.c: Likewise.
5663 * kern/mips/startup.S: Likewise.
5664 * kern/mips/yeeloong/init.c: Likewise.
5665 * kern/term.c (grub_putcode): Handle NULL terminal.
5666 (grub_getcharwidth): Likewise.
5667 (grub_getkey): Likewise.
5668 (grub_checkkey): Likewise.
5669 (grub_getkeystatus): Likewise.
5670 (grub_getxy): Likewise.
5671 (grub_getwh): Likewise.
5672 (grub_gotoxy): Likewise.
5673 (grub_cls): Likewise.
5674 (grub_setcolorstate): Likewise.
5675 (grub_setcolor): Likewise.
5676 (grub_getcolor): Likewise.
5677 (grub_refresh): Likewise.
5678 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5679 (write_jump): Add hatch nop.
5680 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5681 * lib/mips/setjmp.S: New file.
5682 * loader/mips/linux.c: Likewise.
5683 * term/i386/pc/at_keyboard.c: Move from here ...
5684 * term/at_keyboard.c: ... to here.
5685 * term/i386/pc/serial.c: Moved from here ...
5686 * term/serial.c: ... to here. All users updated.
5687 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5688 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5689 (serial_translate_key_sequence): Avoid deadlock.
5690 (grub_serial_getkey): Handle backspace.
5691 (grub_serial_putchar): Fix newline handling.
5692 * util/i386/pc/grub-mkimage.c: Move from here ...
5693 * util/grub-mkrawimage.c: ... to here. All users updated.
5694 (generate_image): New parameters 'font_path' and 'format'.
5695 Support embedding font.
5696 Use grub_host_to_target* instead of grub_cpu_to_le*.
5697 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5698 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5699 (options): New option "--font".
5700 (usage): Likewise.
5701 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5702 (main): Handle "--font".
5703 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5704 (grub_virtual_screen_setup): Set bg_color_display.
5705 (redraw_screen_rect): Use bg_color_display instead of incorrect
5706 bg_color.
5707 (grub_gfxterm_cls): Likewise.
5708 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5709 Support embedding config file.
5710 (add_segments): Likewise.
5711 (options): New option "--config".
5712 (main): Handle "--config".
5713 * video/sm712.c: New file.
5714
25c2b5b3
RM
57152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5716
5717 Fix parallel builds.
5718
5719 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5720 font.c depend on ascii.h).
5721
57222010-01-12 Carles Pina i Estany <carles@pina.cat>
5723
5724 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5725
57262010-01-11 Carles Pina i Estany <carles@pina.cat>
5727
5728 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5729 By default: disabled.
5730 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5731 parameter.
5732
57332010-01-10 Carles Pina i Estany <carles@pina.cat>
5734
5735 * font/font.c: Update copyright years.
5736 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5737
57382010-01-10 Carles Pina i Estany <carles@pina.cat>
5739
5740 * font/font.c: Include `ascii.h'.
5741 (ASCII_BITMAP_SIZE): New macro.
5742 (ascii_font_glyph): Define.
5743 (ascii_glyph_lookup): New function.
5744 (grub_font_get_string_width): Change comment. If glyph not found, use
5745 ascii_glyph_lookup.
5746 (grub_font_get_glyph_with_fallback): If glyph not available returns
5747 ascii_glyph_lookup.
5748 * util/grub-mkfont.c (file_formats): New enum.
5749 (options): Add `ascii-bitmaps' new option.
5750 (usage): Add `asii-bitmaps' new option.
5751 (write_font_ascii_bitmap): New function.
5752 (write_font): Rename to ...
5753 (write_font_p2): ... this. Remove print_glyphs call.
5754 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5755 used. Call print_glyphs.
5756 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5757
57582010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5759
5760 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5761 (grub_bin2h_SOURCES): New variable.
5762 * util/bin2h.c: New file.
5763
915fc1b8
VS
57642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * include/multiboot.h: Resynced with spec.
5767 * include/multiboot2.h: Likewise.
5768 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5769 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5770
9444b678
RM
57712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5772
5773 * include/grub/term.h (grub_term_register_input,
5774 grub_term_register_output): Check return of terminal init()
5775 routines, and abort if errors are raised.
5776
5777 * commands/terminal.c: Update copyright year.
5778
cba98e8d
RM
57792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5780
5781 * commands/terminal.c (grub_cmd_terminal_input)
5782 (grub_cmd_terminal_output): Check return of terminal init()
5783 routines, and abort if errors are raised.
5784
6f7db5d6
VS
57852010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * include/grub/i386/bsd.h: Fix include pathes.
5788
262bff8d
VS
57892010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 Add missing *BSD copyright headers.
5792
5793 * include/grub/aout.h: Add BSD licence.
5794 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5795 * include/grub/i386/freebsd_linker.h: ... here,
5796 * include/grub/i386/freebsd_reboot.h: ... here,
5797 * include/grub/i386/netbsd_bootinfo.h: ... here,
5798 * include/grub/i386/netbsd_reboot.h: ... here,
5799 * include/grub/i386/openbsd_bootarg.h: ... here,
5800 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5801 licence to each file.
5802
b2cab848
RM
58032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5804
5805 * acinclude.m4: Remove `nop' assembly instruction; it's not
5806 implemented by all architectures.
5807
2cb6be4b
RM
58082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5809
5810 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5811 ELILO. This is no longer necessary.
5812
a2eaee15
BC
58132010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5814
5815 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5816
5817 * util/grub-script-check.c: grub-script-check tool.
5818 * conf/common.rmk: Make rules for grub-script-check.
5819
88d17012
RM
58202010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5821
5822 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5823 spotting it back in 2008. Shame on me for forgetting he did.
5824
5825 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5826
8040619d
RM
58272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5828
5829 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5830 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5831 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5832 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5833 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5834 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5835
a0c2a0f6
RM
58362010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5837
5838 * include/grub/test.h: Add license header.
5839 * tests/example_functional_test.c: Likewise.
5840 * tests/example_unit_test.c: Likewise.
5841 * tests/lib/functional_test.c: Likewise.
5842 * tests/lib/test.c: Likewise.
5843 * tests/lib/unit_test.c: Likewise.
5844
b0b13907
VS
58452010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 Use flag-based instead of hook-based video mode selection and "auto"
5848 keyword.
5849
5850 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5851 (grub_video_set_mode): Changed prototype. All users updated.
5852 (grub_video_check_mode_flag): New inline function.
5853 * video/video.c (parse_modespec): New function.
5854 (grub_video_set_mode): Parse flags and keywords.
5855
ea379330 58562010-01-17 Carles Pina i Estany <carles@pina.cat>
5857
5858 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5859 fprintf call.
5860
e15c215e
FZ
58612010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5862
5863 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5864
409ae1c9 58652010-01-16 Carles Pina i Estany <carles@pina.cat>
5866
5867 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5868 string.
5869 * util/grub-emu.c (usage): Likewise.
5870 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5871 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5872 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5873 * util/i386/pc/grub-setup.c (usage): Likewise.
5874
70a14d3d 58752010-01-16 Carles Pina i Estany <carles@pina.cat>
5876
5877 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5878 the message.
5879 (grub_util_info): Likewise.
5880 (grub_util_error): Likewise.
5881 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5882 and/or new lines in `grub_util_warna', `grub_util_info',
5883 `grub_util_error' calls.
5884 * util/getroot.c: Likewise.
5885 * util/grub-editenv.c: Likewise.
5886 * util/grub-emu.c: Likewise.
5887 * util/grub-fstest.c: Likewise.
5888 * util/grub-mkdevicemap.c: Likewise.
5889 * util/grub-mkfont.c: Likewise.
5890 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5891 * util/grub-mkrelpath.c: Likewise.
5892 * util/grub-pe2elf.c: Likewise.
5893 * util/grub-probe.c: Likewise.
5894 * util/hostdisk.c: Likewise.
5895 * util/i386/efi/grub-mkimage.c: Likewise.
5896 * util/i386/pc/grub-mkimage.c: Likewise.
5897 * util/i386/pc/grub-setup.c: Likewise.
5898 * util/ieee1275/ofpath.c: Likewise.
5899 * util/mkisofs/eltorito.c: Likewise.
5900 * util/mkisofs/rock.c: Likewise.
5901 * util/mkisofs/write.c: Likewise.
5902 * util/raid.c: Likewise.
5903 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5904 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5905
a0b766fc
VS
59062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 Enable multiboot on non-pc.
5909
5910 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5911 multiboot.mod and multiboot2.mod to ...
5912 * conf/i386.rmk (pkglib_MODULES): ... here.
5913 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5914 Moved to ...
5915 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5916 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5917 Moved to ...
5918 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5919 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5920 Moved to ...
5921 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5922 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5923 Moved to ...
5924 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5925 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5926 relocator.mod.
5927 (ata_mod_SOURCES): Removed.
5928 (ata_mod_CFLAGS): Likewise.
5929 (ata_mod_LDFLAGS): Likewise.
5930 (relocator_mod_SOURCES): Removed.
5931 (relocator_mod_CFLAGS): Likewise.
5932 (relocator_mod_ASFLAGS): Likewise.
5933 (relocator_mod_LDFLAGS): Likewise.
5934 Include i386.mk.
5935 * include/grub/x86_64/multiboot.h: New file.
5936 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5937 Terminate EFI.
5938
884ade56
VS
59392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 Video multiboot support.
5942
5943 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5944 New prototype.
5945 * include/multiboot.h: Resynced with multiboot specification.
5946 * include/multiboot2.h: Likewise.
5947 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5948 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5949 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5950 (HAS_VGA_TEXT): Likewise.
5951 (accepts_video): New variable.
5952 (grub_multiboot_set_accepts_video): New function.
5953 (grub_multiboot_get_mbi_size): Account for video structures.
5954 (set_video_mode): New function.
5955 (retrieve_video_parameters): Likewise.
5956 (grub_multiboot_make_mbi): Fill video fields.
5957
0d90e8a6
VS
59582010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 Video driver ids.
5961
5962 * include/grub/video.h (grub_video_driver_id): New type.
5963 (grub_video_adapter): New member 'id'. All users updated.
5964 (grub_video_get_driver_id): New proto.
5965 * video/video.c (grub_video_get_driver_id): New function.
5966
5c71db1b 59672010-01-14 Carles Pina i Estany <carles@pina.cat>
5968
5969 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5970 `var=val'.
5971
cca15b52 59722010-01-14 Carles Pina i Estany <carles@pina.cat>
5973
5974 * normal/cmdline.c (print_completion): Gettextizze.
5975
c586fbb2 59762001-01-14 Carles Pina i Estany <carles@pina.cat>
5977
5978 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5979
ba2f6848 59802010-01-14 Carles Pina i Estany <carles@pina.cat>
5981
5982 * gettext/gettext.c (grub_gettext_translate): Push and pop
5983 grub_errno.
5984 (grub_gettext_delete_list): Change comment style.
5985 * kern/err.c (grub_error): Gettextizze.
5986 (grub_fatal): Gettextizze.
5987
0a46429a
RM
59882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5989
5990 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5991 (grub_linux16_real_boot): ... this.
5992 * kern/i386/loader.S: Likewise.
5993 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5994 (grub_linux16_boot): New function. Switches to text mode and calls
5995 grub_linux16_real_boot().
5996
5997 * loader/i386/bsd.c: Include `<grub/video.h>'.
5998 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5999 text mode before calling grub_unix_real_boot().
6000
6001 * loader/i386/multiboot.c: Include `<grub/video.h>'.
6002 (grub_multiboot_boot): Switch to text mode before calling
6003 grub_relocator32_boot().
6004
6005 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
6006 (grub_chainloader_boot): Switch to text mode before calling
6007 grub_chainloader_real_boot().
6008
d6f93a66
RM
60092010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
60102010-01-05 Colin Watson <cjwatson@ubuntu.com>
6011
6012 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
6013 non-empty value.
6014
60152010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
60162010-01-05 Colin Watson <cjwatson@ubuntu.com>
6017
6018 * util/grub.d/00_header.in: Define a "savedefault" function for use
6019 in menu entries.
6020 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
6021
60222010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
60232010-01-05 Colin Watson <cjwatson@ubuntu.com>
6024
6025 * util/grub-mkconfig_lib.in (save_default_entry): Only set
6026 saved_entry if boot_once is unset.
6027 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
6028 previous saved entry (i.e. grub-reboot).
6029
60302009-12-08 Colin Watson <cjwatson@ubuntu.com>
6031
6032 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
6033
60342009-12-08 Colin Watson <cjwatson@ubuntu.com>
6035
6036 * util/grub.d/00_header.in: Use `set var=val' rather than plain
6037 `var=val'.
6038 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
6039
60402009-12-08 Colin Watson <cjwatson@ubuntu.com>
6041
6042 * util/grub-reboot.in: Fix --version output.
6043 * util/grub-set-default.in: Likewise.
6044
60452009-12-08 Colin Watson <cjwatson@ubuntu.com>
6046
6047 * util/grub.d/00_header.in: Silently ignore zero-sized environment
6048 blocks.
6049
60502009-12-08 Colin Watson <cjwatson@ubuntu.com>
6051
6052 * util/grub.d/00_header.in: Quote the value assigned to `default',
6053 in case it contains spaces.
6054
60552009-12-08 Colin Watson <cjwatson@ubuntu.com>
6056
6057 * util/grub.d/30_os-prober.in: Fix merge error that moved a
6058 `save_default_entry' call from the macosx case to the linux case.
6059
60602009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
60612009-10-25 Colin Watson <cjwatson@ubuntu.com>
6062
6063 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
6064 in `chosen' environment variable.
6065 * normal/menu_text.c (get_entry_number): Check if the variable
6066 matches the title of a menu entry.
6067 (run_menu): Pass menu to get_entry_number.
6068
6069 * util/grub-reboot.in: New file.
6070 * util/grub-set-default.in: New file.
6071 * conf/common.rmk (grub-reboot): New utility.
6072 (grub-set-default): New utility.
6073
6074 * util/grub-mkconfig_lib.in (save_default_entry): New function.
6075 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
6076 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
6077 move it to `saved_entry' for the next boot. Load environment on
6078 initialisation.
6079 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
6080 * util/grub.d/10_hurd.in: Likewise.
6081 * util/grub.d/10_linux.in (linux_entry): Likewise.
6082 * util/grub.d/10_windows.in: Likewise.
6083 * util/grub.d/30_os-prober.in: Likewise.
6084
6085 * util/grub-install.in: Create environment block.
6086 * util/i386/efi/grub-install.in: Likewise.
6087 * util/ieee1275/grub-install.in: Likewise.
6088 * util/sparc64/ieee1275/grub-install.in: Likewise.
6089
0934d184
BC
60902010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
6091
6092 Unit testing framework for GRUB.
6093
6094 * Makefile.in: Test framework build rules for 'make check'.
6095 * conf/tests.rmk: Build rules for individual tests and framework.
6096
6097 * include/grub/test.h: Header file for whitebox tests.
6098 * tests/lib/functional_test.c: Framework support for whitebox
6099 functional tests.
6100 * tests/lib/test.c: Common whitebox testing code for unit and
6101 functional tests.
6102 * tests/lib/unit_test.c: Framework support for whitebox unit
6103 tests.
6104
6105 * tests/util/grub-shell-tester.in: Support utility for grub-script
6106 tests.
6107 * tests/util/grub-shell.in: Utility to execute grub-script
6108 commands in a Qemu instance.
6109
6110 * tests/example_functional_test.c: Example whitebox functional
6111 test.
6112 * tests/example_grub_script_test.in: Example grub-script test.
6113 * tests/example_scripted_test.in: Example scripted test.
6114 * tests/example_unit_test.c: Example whitebox unit test.
6115
9c4ffeeb
VS
61162010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
6119 Add loader/i386/multiboot_mbi.c.
6120 (multiboot2_mod_SOURCES): Likewise.
6121 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
6122 (multiboot2_mod_SOURCES): Likewise.
6123 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
6124 (grub_multiboot_make_mbi): Likewise.
6125 (grub_multiboot_free_mbi): Likewise.
6126 (grub_multiboot_init_mbi): Likewise.
6127 (grub_multiboot_add_module): Likewise.
6128 (grub_multiboot_set_bootdev): Likewise.
6129 * loader/i386/multiboot.c (mbi): Removed.
6130 (mbi_dest): Likewise.
6131 (alloc_mbi): New variable.
6132 (grub_multiboot_payload_size): Removed. All users updated.
6133 (grub_multiboot_pure_size): New variable.
6134 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
6135 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
6136 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
6137 (grub_fill_multiboot_mmap): Likewise.
6138 (grub_multiboot_get_bootdev): Likewise.
6139 (grub_multiboot): Use multiboot_mbi functions.
6140 * loader/i386/multiboot_mbi.c: New file.
6141
17383dfe
VS
61422010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
6145 it would result in module crash.
6146
c1f28820
VS
61472010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
6150 (grub_ofconsole_getwh): Split to ...
6151 (grub_ofconsole_getwh): ... this.
6152 (grub_ofconsole_dimensions): ...and this.
6153 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
6154
58655a16
RM
61552010-01-13 Robert Millan <rmh.grub@aybabtu.com>
6156
6157 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
6158
10891398
VS
61592010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * loader/i386/pc/multiboot2.c: Removed stalled file.
6162
0b8a223c
VS
61632010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
6166 Reported by: Grégoire Sutre
6167
92ab12b0
RM
61682010-01-11 Robert Millan <rmh.grub@aybabtu.com>
6169
6170 * util/misc.c (canonicalize_file_name): New function.
6171 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
6172 instead of realpath().
6173
a788afb6
CW
61742010-01-11 Colin Watson <cjwatson@ubuntu.com>
6175
6176 * util/grub-install.in (usage): Clarify meaning of --root-directory,
6177 and make it clearer that it's optional. Based on confusion
6178 witnessed on IRC.
6179
ffa8e3d2
VS
61802010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
6183 in premature implicit newline.
6184
e9060a9d
VS
61852010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6188 which resulted in garbled command line at the end of screen.
6189
f0d0c0b7
RM
61902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6191
6192 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
6193 initialization with similar approach as with other Linux loaders.
6194
0e60bae7
RM
61952010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6196
6197 Fix i386-ieee1275 build.
6198
6199 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
6200 and grub_term_height() for video_{width,height} initialization.
6201
62022010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
6203
6204 Fix grub-emu build.
6205
6206 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
6207
cdb3f378
RM
62082010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
62092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6210
6211 Support for multiple terminals.
6212
6213 * Makefile.in (pkglib_DATA): terminal.lst.
6214 (terminal.lst): New target.
6215 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
6216 (GRUB_MOD_INIT(handler)): Likewise.
6217 (GRUB_MOD_FINI(handler)): Likewise.
6218 * commands/help.c (grub_cmd_help): Handle multiple terminals.
6219 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
6220 * commands/sleep.c (do_print): Use grub_term_restore_pos.
6221 (grub_cmd_sleep): Use grub_term_save_pos.
6222 * commands/terminal.c: New file.
6223 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
6224 commands/terminal.c and lib/charset.c.
6225 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
6226 (pkglib_MODULES): Add terminal.mod.
6227 (terminal_mod_SOURCES): New variable.
6228 (terminal_mod_CFLAGS): Likewise.
6229 (terminal_mod_LDFLAGS): Likewise.
6230 * genhandlerlist.sh: Don't handle terminals.
6231 * genmk.rb: Generate terminal-*.lst.
6232 * genterminallist.sh: New file.
6233 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
6234 (grub_is_valid_utf8): Likewise.
6235 (grub_utf8_to_ucs4_alloc): Likewise.
6236 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
6237 (grub_menu_register_viewer): Changed argument.
6238 (grub_menu_try_text): New proto.
6239 (grub_gfxmenu_try_hook): New declaration.
6240 * include/grub/normal.h (grub_normal_exit_level): New declaration.
6241 (grub_menu_init_page): Additional argument term.
6242 (grub_normal_init_page): Likewise.
6243 (grub_cmdline_get): Arguments simplified.
6244 (grub_utf8_to_ucs4_alloc): Removed.
6245 (grub_print_ucs4): Additional argument term.
6246 (grub_getstringwidth): Likewise.
6247 (grub_print_message_indented): Likewise.
6248 (grub_menu_text_register_instances): New proto.
6249 (grub_show_menu): Likewise.
6250 (read_terminal_list): Likewise.
6251 (grub_set_more): Likewise.
6252 * include/grub/parser.h: Include handler.h.
6253 * include/grub/reader.h: Rewritten.
6254 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
6255 (GRUB_TERM_WIDTH): Changed to function.
6256 (GRUB_TERM_HEIGHT): Likewise.
6257 (GRUB_TERM_BORDER_WIDTH): Likewise.
6258 (GRUB_TERM_BORDER_HEIGHT): Likewise.
6259 (GRUB_TERM_NUM_ENTRIES): Likewise.
6260 (GRUB_TERM_ENTRY_WIDTH): Likewise.
6261 (GRUB_TERM_CURSOR_X): Likewise.
6262 (grub_term_input_class): Likewise.
6263 (grub_term_output_class): Likewise.
6264 (grub_term_outputs_disabled): New declaration.
6265 (grub_term_inputs_disabled): Likewise.
6266 (grub_term_outputs): Likewise.
6267 (grub_term_inputs): Likewise.
6268 (grub_term_register_input): Rewritten.
6269 (grub_term_register_output): Likewise.
6270 (grub_term_unregister_input): Likewise.
6271 (grub_term_unregister_output): Likewise.
6272 (FOR_ACTIVE_TERM_INPUTS): New macro.
6273 (FOR_DISABLED_TERM_INPUTS): Likewise.
6274 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6275 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6276 * include/grub/terminfo.h: Add oterm argument to all protypes.
6277 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
6278 Use grub_rescue_run.
6279 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
6280 All users updated.
6281 * kern/reader.c: Removed. All users updated.
6282 * kern/rescue_reader.c (grub_rescue_init): Removed.
6283 (grub_rescue_reader): Likewise.
6284 (grub_register_rescue_reader): Likewise.
6285 (grub_rescue_run): New function based on kern/reader.c.
6286 * kern/term.c: Adapted for multiterm.
6287 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
6288 (grub_is_valid_utf8): Likewise.
6289 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
6290 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
6291 right terminal.
6292 * loader/i386/linux.c (grub_linux_boot): Likewise.
6293 * normal/auth.c (grub_username_get): New function.
6294 (grub_auth_check_authentication): Use grub_username_get.
6295 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
6296 * normal/color.c: Adapt for multiterm.
6297 * normal/main.c (read_config_file): Don't use grub_reader_loop.
6298 (grub_normal_init_page): Additional argument term.
6299 (read_lists): Call read_terminal_lists.
6300 (grub_enter_normal_mode): Call grub_cmdline_run.
6301 Handle grub_normal_exit_level.
6302 (grub_cmd_normal): Make reentrant.
6303 (grub_cmd_normal_exit): New function.
6304 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
6305 * normal/menu.c: Adapt for multiterm.
6306 * normal/menu_entry.c: Likewise.
6307 * normal/menu_text.c: Likewise.
6308 * normal/menu_viewer.c: Removed. All users updated.
6309 * normal/term.c: New file.
6310 * util/console.c: Change order of includes to workaround a bug in
6311 ncurses headers.
6312 * term/terminfo.c: New argument oterm on all exported functions.
6313 All users updated.
6314 * util/grub-editenv.c (grub_term_input_class): Removed.
6315 (grub_term_output_class): Likewise.
6316
1a064917
RM
63172010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6318
6319 Make loader output a bit more user-friendly.
6320
6321 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
6322 is being loaded. Likewise for the Hurd.
6323
6324 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
6325 that kernel of FreeBSD ${version} is being loaded.
6326
6327 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
6328 grub_dprintf().
6329 (grub_cmd_initrd): Likewise.
6330 * util/grub.d/10_linux.in (linux_entry): Print message indicating
6331 that Linux ${version} is being loaded. Likewise for initrd.
6332
5ce0a83a 63332010-01-09 Carles Pina i Estany <carles@pina.cat>
6334
6335 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
6336
809bbfeb 63372010-01-08 Carles Pina i Estany <carles@pina.cat>
6338
6339 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
6340 (GRUB_MOD_INIT): Gettextizze.
6341 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
6342 (GRUB_MOD_INIT): Gettextizze.
6343 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
6344 (grub_cmd_linux): Capitalise Linux.
6345 (GRUB_MOD_INIT): Gettextizze.
6346 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
6347 (grub_cmd_linux): Capitalise Linux.
6348 (GRUB_MOD_INIT): Gettextizze.
6349 * loader/i386/linux.c: Include `<grub/i18n.h>'.
6350 (grub_cmd_linux): Capitalise Linux.
6351 (GRUB_MOD_INIT): Gettextizze.
6352 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
6353 (GRUB_MOD_INIT): Gettextizze.
6354 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
6355 (grub_cmd_linux): Capitalise Linux.
6356 (GRUB_MOD_INIT): Gettextizze.
6357 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
6358 (grub_cpu_xnu_init): Gettextizze.
6359 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
6360 (GRUB_MOD_INIT): Gettextizze.
6361 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
6362 (GRUB_MOD_INIT): Gettextizze.
6363 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
6364 (grub_linux_load64): Capitalise Linux.
6365 (GRUB_MOD_INIT): Gettextizze.
6366 * loader/xnu.c: Include `<grub/i18n.h>'.
6367 (GRUB_MOD_INIT): Gettextizze.
6368 * po/POTFILES: Add `loader/efi/appleloader.c',
6369 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
6370 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
6371 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
6372 `loader/i386/xnu.c', `loader/multiboot_loader.c',
6373 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
6374 and `loader/xnu.c'.
6375
b394b2ca
RM
63762010-01-08 Robert Millan <rmh.grub@aybabtu.com>
6377
6378 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
6379
63802010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
6381
6382 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
6383 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
6384 * util/mkisofs/mkisofs.c (main): Readjust --version output.
6385
bc8b32b3
RM
63862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6387
6388 Reset Multiboot 2 support. New loader implements the draft in
6389 /branches/multiboot2 and shares as much code as possible with the
6390 production Multiboot 1 implementation.
6391
6392 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
6393 * loader/multiboot2.c: Likewise.
6394 * loader/i386/multiboot_helper.S: Likewise.
6395 * include/multiboot2.h: Replace with latest version from the draft
6396 in /branches/multiboot2.
6397
6398 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
6399 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
6400 and `loader/multiboot2.c'.
6401 (pkglib_MODULES): Add `multiboot2.mod'.
6402 (multiboot2_mod_SOURCES): New variable.
6403 (multiboot2_mod_LDFLAGS): Likewise.
6404 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6405
6406 * conf/i386-pc.rmk: Likewise.
6407
6408 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6409 (multiboot_mod_SOURCES): Remove variable.
6410 (multiboot_mod_LDFLAGS): Likewise.
6411 (multiboot_mod_CFLAGS): Likewise.
6412
6413 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6414 `<multiboot2.h>' instead of `<multiboot.h>'.
6415 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6416 (MULTIBOOT_HEADER_MAGIC): New macros.
6417
6418 * loader/multiboot_loader.c (module_version_status): Remove variable.
6419 (find_multi_boot2_header): Remove function.
6420 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6421 logic. Always check for the Multiboot version we're compiling for.
6422 (grub_cmd_module_loader): Likewise.
6423 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6424 command instead of `multiboot'.
6425
5d2c52b8
RM
64262010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6427
6428 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6429 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6430 all users.
6431
53108d92
RM
64322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
64332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Fix breakage introduced with previous commit.
6436
6437 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6438 commands.
6439 * normal/handler.c (read_handler_list): Revert part of previous commit
6440 affecting this file.
6441 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6442 (grub_normal_execute): ... here.
6443
e2e936b2
RM
64442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6445
6446 Merge prefix-redefinition-fix branch.
6447
6448 * normal/autofs.c (read_fs_list): Make function capable of being
6449 run multiple times, gracefuly replacing the previous data
6450 structures.
6451 * normal/dyncmd.c (read_command_list): Likewise.
6452 * normal/handler.c (read_handler_list): Likewise.
6453 * normal/main.c (read_lists): New function. Calls all the
6454 list reading functions.
6455 (grub_normal_execute): Use read_lists() instead of calling all
6456 list reading functions explicitly. Register read_lists() as a
6457 variable hook attached to ${prefix}.
6458
607a3701
VS
64592010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 Merge crypto branch.
6462
6463 * Makefile.in (pkglib_DATA): Add crypto.lst.
6464 (crypto.lst): New target.
6465 * commands/hashsum.c: New file.
6466 * commands/password.c (check_password): Use grub_crypto_memcmp.
6467 * commands/password_pbkdf2.c: New file.
6468 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6469 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6470 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6471 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6472 -I$(srcdir)/lib/libgcrypt_wrap.
6473 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6474 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6475 password_pbkdf2.mod.
6476 (crypto_mod_SOURCES): New variable.
6477 (crypto_mod_CFLAGS): Likewise.
6478 (crypto_mod_LDFLAGS): Likewise.
6479 (hashsum_mod_SOURCES): New variable.
6480 (hashsum_mod_CFLAGS): Likewise.
6481 (hashsum_mod_LDFLAGS): Likewise.
6482 (pbkdf2_mod_SOURCES): New variable.
6483 (pbkdf2_mod_CFLAGS): Likewise.
6484 (pbkdf2_mod_LDFLAGS): Likewise.
6485 (password_pbkdf2_mod_SOURCES): New variable.
6486 (password_pbkdf2_mod_CFLAGS): Likewise.
6487 (password_pbkdf2_mod_LDFLAGS): Likewise.
6488 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6489 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6490 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6491 Include conf/gcry.rmk.
6492 * include/grub/auth.h: Rewritten.
6493 * include/grub/crypto.h: New file.
6494 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6495 * include/grub/normal.h (read_crypto_list): New prototype.
6496 * lib/crypto.c: New file.
6497 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6498 * lib/pbkdf2.c: Likewise.
6499 * normal/auth.c (grub_auth_strcmp): Removed.
6500 (grub_iswordseparator): Likewise.
6501 (grub_auth_strword): Likewise.
6502 (is_authenticated): Use grub_strword.
6503 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6504 and grub_strword. Pass entered password to authentication callback.
6505 * normal/crypto.c: New file.
6506 * normal/main.c: Call read_crypto_list.
6507 * util/grub-mkpasswd-pbkdf2.c: New file.
6508 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6509
42841caa
VS
65102010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 Fix descent and ascent calculation.
6513
6514 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6515 (options): New option "asce".
6516 (usage): Likewise.
6517 (add_char): Ignore invalid glyphs for descent calculation.
6518 Calculate ascent from actual content.
6519 (print_glyphs): Use 'asce'.
6520 (write_font): Likewise. Allow ascent override.
6521 (main): Handle "asce" option.
6522
e7730de7 65232010-01-06 Carles Pina i Estany <carles@pina.cat>
6524
6525 * kern/err.c: Include `<grub/i18n.h>'.
6526 (grub_print_error): Add full stop. Gettextizze.
6527 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6528 (grub_bsd_load_elf): Capitalise ELF.
6529 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6530 (grub_cmd_freebsd_module): Likewise.
6531 (grub_cmd_freebsd_module_elf): Likewise.
6532 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6533
40e3a41f 65342010-01-06 Carles Pina i Estany <carles@pina.cat>
6535
6536 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6537 * commands/search_file.c (HELP_MESSAGE): New macro.
6538 * commands/search_label.c (HELP_MESSAGE): Likewise.
6539 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6540 * po/POTFILES: Add `commands/search_file.c',
6541 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6542 `commands/search.c'.
6543
83507e68
RM
65442010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6545
6546 * config.rpath: Update from Gnulib.
6547
465c787b
YB
65482010-01-05 Yves Blusseau <blusseau@zetam.org>
6549
6550 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6551
6581dd3a
YB
65522010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6553
6554 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6555
3bff18c5
CW
65562010-01-05 Colin Watson <cjwatson@ubuntu.com>
6557
6558 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6559 arguments to fread so that we get a return value in bytes, rather
6560 than something that will normally be rounded down to 0.
6561 Adjust error handling to avoid producing garbage when size_t is not
6562 the same size as long long.
6563
a1368118
CW
65642010-01-05 Colin Watson <cjwatson@ubuntu.com>
6565
6566 * util/mkisofs/write.c (padblock_write): Check return value of
6567 fread.
6568
7c302978
RM
65692010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6570
6571 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6572 floppy images now.
6573
6574 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6575
e33ace06
RM
65762010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6577
6578 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6579 instead of manual alignment.
6580 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6581 verbose). Avoid attempts to read past end of the device
6582 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6583 but GRUB_DISK_CACHE_SIZE may exceed that).
6584
4b856776
RM
65852010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6586
6587 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6588 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6589 it to upper layer.
6590
52c2d97f
VS
65912010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6594 New constant.
6595 (grub_efi_piwg_device_path): New structure
6596 (grub_efi_piwg_device_path_t): New type.
6597 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6598 (devpath_1): Transform to a structure. All users updated.
6599 (devpath_2): Likewise.
6600 (devpath_3): Likewise.
6601 (devpath_4): Likewise.
6602 (devpath_5): Likewise.
6603
98ff6a54
VS
66042010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * loader/efi/appleloader.c: Restored. Update all users.
6607
3a73dcb6
RM
66082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6609
6610 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6611
6612 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6613 (struct boot_blocklist): Move from here ...
6614 * include/grub/i386/pc/boot.h [ASM_FILE]
6615 (struct grub_boot_blocklist): ... to here. Update all users.
6616 (setup): Only initialize `start' member of `first_block'
6617 structure. Add assert() calls to verify the other members.
6618
6619 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6620 (generate_image): Fix broken blocklist length initialization.
6621 Add assert() call to verify blocklist `segment' field.
6622
ab0eeb0c
RM
66232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6624
6625 * loader/efi/appleloader.c: Remove. Update all users.
6626
58bc8bd5
RM
66272010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6628
6629 * boot/i386/pc/boot.S: Update copyright year.
6630 * boot/i386/pc/cdboot.S: Likewise.
6631 * boot/i386/pc/diskboot.S: Likewise.
6632 * boot/i386/pc/lnxboot.S: Likewise.
6633 * boot/i386/pc/pxeboot.S: Likewise.
6634 * bus/pci.c: Likewise.
6635 * commands/cmp.c: Likewise.
6636 * commands/help.c: Likewise.
6637 * commands/hexdump.c: Likewise.
6638 * commands/i386/pc/halt.c: Likewise.
6639 * commands/i386/pc/play.c: Likewise.
6640 * commands/i386/pc/vbeinfo.c: Likewise.
6641 * commands/ls.c: Likewise.
6642 * commands/test.c: Likewise.
6643 * disk/dmraid_nvidia.c: Likewise.
6644 * disk/i386/pc/biosdisk.c: Likewise.
6645 * disk/ieee1275/nand.c: Likewise.
6646 * disk/ieee1275/ofdisk.c: Likewise.
6647 * disk/lvm.c: Likewise.
6648 * disk/raid.c: Likewise.
6649 * disk/raid6_recover.c: Likewise.
6650 * disk/scsi.c: Likewise.
6651 * fs/affs.c: Likewise.
6652 * fs/cpio.c: Likewise.
6653 * fs/ext2.c: Likewise.
6654 * fs/hfs.c: Likewise.
6655 * fs/iso9660.c: Likewise.
6656 * fs/ntfs.c: Likewise.
6657 * fs/sfs.c: Likewise.
6658 * fs/udf.c: Likewise.
6659 * fs/ufs.c: Likewise.
6660 * fs/xfs.c: Likewise.
6661 * gencmdlist.sh: Likewise.
6662 * genmk.rb: Likewise.
6663 * include/grub/disk.h: Likewise.
6664 * include/grub/efi/api.h: Likewise.
6665 * include/grub/efi/efi.h: Likewise.
6666 * include/grub/efi/pe32.h: Likewise.
6667 * include/grub/elf.h: Likewise.
6668 * include/grub/fs.h: Likewise.
6669 * include/grub/i386/at_keyboard.h: Likewise.
6670 * include/grub/i386/pc/memory.h: Likewise.
6671 * include/grub/i386/pc/vbe.h: Likewise.
6672 * include/grub/i386/pci.h: Likewise.
6673 * include/grub/i386/tsc.h: Likewise.
6674 * include/grub/ieee1275/ieee1275.h: Likewise.
6675 * include/grub/ntfs.h: Likewise.
6676 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6677 * include/grub/sparc64/libgcc.h: Likewise.
6678 * include/grub/symbol.h: Likewise.
6679 * include/grub/types.h: Likewise.
6680 * include/multiboot2.h: Likewise.
6681 * io/gzio.c: Likewise.
6682 * kern/device.c: Likewise.
6683 * kern/disk.c: Likewise.
6684 * kern/efi/efi.c: Likewise.
6685 * kern/efi/mm.c: Likewise.
6686 * kern/elf.c: Likewise.
6687 * kern/file.c: Likewise.
6688 * kern/i386/dl.c: Likewise.
6689 * kern/i386/pc/init.c: Likewise.
6690 * kern/i386/pc/startup.S: Likewise.
6691 * kern/ieee1275/ieee1275.c: Likewise.
6692 * kern/ieee1275/init.c: Likewise.
6693 * kern/main.c: Likewise.
6694 * kern/mm.c: Likewise.
6695 * kern/powerpc/dl.c: Likewise.
6696 * kern/sparc64/dl.c: Likewise.
6697 * kern/x86_64/dl.c: Likewise.
6698 * lib/hexdump.c: Likewise.
6699 * loader/efi/appleloader.c: Likewise.
6700 * loader/i386/ieee1275/linux.c: Likewise.
6701 * loader/i386/pc/chainloader.c: Likewise.
6702 * loader/i386/pc/linux.c: Likewise.
6703 * loader/i386/pc/multiboot2.c: Likewise.
6704 * loader/ieee1275/multiboot2.c: Likewise.
6705 * loader/multiboot2.c: Likewise.
6706 * loader/multiboot_loader.c: Likewise.
6707 * loader/powerpc/ieee1275/linux.c: Likewise.
6708 * normal/completion.c: Likewise.
6709 * normal/menu_entry.c: Likewise.
6710 * partmap/apple.c: Likewise.
6711 * util/grub.d/10_hurd.in: Likewise.
6712 * util/hostfs.c: Likewise.
6713 * video/readers/png.c: Likewise.
6714
e2d70b5c
CW
67152010-01-03 Colin Watson <cjwatson@ubuntu.com>
6716
6717 * include/grub/misc.h (GNUC_PREREQ): New macro.
6718 (ATTRIBUTE_ERROR): New macro.
6719 * include/grub/list.h (grub_bad_type_cast_real): Use
6720 ATTRIBUTE_ERROR.
6721
a173283f 67222010-01-03 Carles Pina i Estany <carles@pina.cat>
6723
6724 * normal/menu_text.c (print_message): Change messages.
6725
7fa7ff74 67262010-01-03 Carles Pina i Estany <carles@pina.cat>
6727
6728 * normal/menu_entry.c (store_completion): Gettextizze.
6729
136d24f6 67302010-01-03 Carles Pina i Estany <carles@pina.cat>
6731
6732 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6733
f936862e 67342010-01-03 Carles Pina i Estany <carles@pina.cat>
6735
6736 * po/POTFILES: Sort correctly.
6737
29c44ad1 67382010-01-03 Carles Pina i Estany <carles@pina.cat>
6739
6740 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6741 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6742 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6743 full stop.
6744 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6745 summary. Gettextizze the strings.
6746 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6747 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6748 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6749 full stop.
6750 (GRUB_MOD_INIT): Remove command name from summary.
6751 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6752 summary.
6753 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6754 * term/i386/pc/serial.c (options): Add full stops.
6755 (GRUB_MOD_INIT): Remove command name from the summary.
6756
77a79592 67572010-01-03 Carles Pina i Estany <carles@pina.cat>
6758
6759 * commands/acpi.c: Gettextizze help strings and/or options. Include
6760 `grub/i18n.h' if needed.
6761 * commands/blocklist.c: Likewise.
6762 * commands/boot.c: Likewise.
6763 * commands/cat.c: Likewise.
6764 * commands/cmp.c: Likewise.
6765 * commands/configfile.c: Likewise.
6766 * commands/crc.c: Likewise.
6767 * commands/date.c: Likewise.
6768 * commands/echo.c: Likewise.
6769 * commands/efi/fixvideo.c: Likewise.
6770 * commands/efi/loadbios.c: Likewise.
6771 * commands/gptsync.c: Likewise.
6772 * commands/halt.c: Likewise.
6773 * commands/handler.c: Likewise.
6774 * commands/hdparm.c: Likewise.
6775 * commands/hexdump.c: Likewise.
6776 * commands/i386/cpuid.c: Likewise.
6777 * commands/i386/pc/drivemap.c: Likewise.
6778 * commands/i386/pc/halt.c: Likewise.
6779 * commands/i386/pc/pxecmd.c: Likewise.
6780 * commands/i386/pc/vbeinfo.c: Likewise.
6781 * commands/i386/pc/vbetest.c: Likewise.
6782 * commands/ieee1275/suspend.c: Likewise.
6783 * commands/keystatus.c: Likewise.
6784 * commands/loadenv.c: Likewise.
6785 * commands/ls.c: Likewise.
6786 * commands/lsmmap.c: Likewise.
6787 * commands/lspci.c: Likewise.
6788 * commands/memrw.c: Likewise.
6789 * commands/minicmd.c: Likewise.
6790 * commands/parttool.c: Likewise.
6791 * commands/password.c: Likewise.
6792 * commands/probe.c: Likewise.
6793 * commands/read.c: Likewise.
6794 * commands/reboot.c: Likewise.
6795 * commands/search.c: Likewise.
6796 * commands/sleep.c: Likewise.
6797 * commands/test.c: Likewise.
6798 * commands/true.c: Likewise.
6799 * commands/usbtest.c: Likewise.
6800 * commands/videotest.c: Likewise.
6801 * commands/xnu_uuid.c: Likewise.
6802 * disk/loopback.c: Likewise.
6803 * hello/hello.c: Likewise.
6804 * loader/i386/bsd.c: Likewise.
6805 * term/i386/pc/serial.c: Likewise.
6806 * po/POTFILES: Add new files.
6807
da8d5c53
CW
68082010-01-02 Colin Watson <cjwatson@ubuntu.com>
6809
6810 * term/i386/pc/at_keyboard.c
6811 (keyboard_controller_wait_untill_ready): Rename to ...
6812 (keyboard_controller_wait_until_ready): ... this. Update all users.
6813
33937904 68142010-01-01 Carles Pina i Estany <carles@pina.cat>
6815
6816 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6817 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6818 string using string width.
6819 * normal/menu_text.c (grub_print_message_indented): Use
6820 grub_print_spaces and not print_spaces.
6821 (print_timeout): Likewise.
6822 (print_spaces): Move to...
6823 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6824
3fd3b8d8
RM
68252010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6826
6827 Import from Gnulib.
6828
6829 * gnulib/getdelim.c: New file.
6830 * gnulib/getline.c: Likewise.
6831
33433555
VS
68322009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6833
6834 * include/grub/list.h (grub_assert_fail): Removed.
6835 (grub_bad_type_cast_real): New function.
6836 (grub_bad_type_cast): New macro.
6837 (GRUB_AS_LIST): Use grub_bad_type_cast.
6838 (GRUB_AS_LIST_P): Likewise.
e44721e8 6839 (GRUB_AS_NAMED_LIST): Likewise.
33433555 6840 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 6841 (GRUB_AS_PRIO_LIST): Likewise.
33433555 6842 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 6843 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 6844
f5a51306
VS
68452009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6848 Fix syntax error.
6849
90d1e879
RM
68502009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6851
6852 * configure.ac: Check for TARGET_CFLAGS initialization before we
6853 initialize it ourselves (sigh).
6854 Move a few modifications to TARGET_CFLAGS to be unconditional
6855 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6856 eh_frame)
6857
6858 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6859 * term/i386/pc/at_keyboard.c
6860 (keyboard_controller_wait_untill_ready): Likewise.
6861 (keyboard_controller_led): Rename `led_status' paramter to avoid
6862 name conflict.
6863
465b5a81 68642009-12-28 Carles Pina i Estany <carles@pina.cat>
6865
6866 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6867 quotes.
6868
c181849b
VS
68692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6872
9c8739a4
VS
68732009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * normal/menu_text.c (grub_print_message_indented): Prevent
6876 past-the-end-of-array dereference.
6877
3e74249c
VS
68782009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6881 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6882
64fd18ed 68832009-12-27 Carles Pina i Estany <carles@pina.cat>
6884
6885 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6886 * normal/main.c (grub_normal_read_line): Remove a space from the
6887 default prompt.
6888
714af9b9 68892009-12-27 Carles Pina i Estany <carles@pina.cat>
6890
6891 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6892 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6893 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6894 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6895 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6896 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6897 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6898
82f3e412 68992009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 6900
6901 * video/readers/jpeg.c (cmd): Declare.
6902 (grub_cmd_jpegtest): Use `grub_command_t' type.
6903 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6904 Assign to `cmd'.
6905 (GRUB_MOD_FINI): Use `cmd' to unregister.
6906 * video/readers/png.c (cmd): Declare.
6907 (grub_cmd_pngtest): Use `grub_command_t' type.
6908 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6909 Assign to `cmd'.
6910 (GRUB_MOD_FINI): Use `cmd' to unregister.
6911 * video/readers/tga.c (cmd): Declare.
6912 (grub_cmd_tgatest): Use `grub_command_t' type.
6913 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6914 Assign to `cmd'.
6915 (GRUB_MOD_FINI): Use `cmd' to unregister.
6916
82f3e412 69172009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 6918
6919 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6920 stops.
6921 * kern/corecmd.c (grub_register_core_commands): Likewise.
6922 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6923 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6924 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6925 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6926 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6927 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6928 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6929 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6930 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6931 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6932 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6933 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6934 * normal/handler.c (insert_handler): Likewise.
6935 * normal/main.c (GRUB_MOD_INIT): Likewise.
6936 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6937
fdcdbb66 69382009-12-26 Carles Pina i Estany <carles@pina.cat>
6939
6940 * commands/help.c (grub_cmd_help): Print the command name before the
6941 summary.
6942 (GRUB_MOD_INIT): Remove command name from the summary.
6943 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 6944 string as summary.
fdcdbb66 6945 * lib/arg.c (find_long): Print the command name before the summary.
6946 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6947 summary.
6948 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6949 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6950 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6951 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6952 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6953 * commands/date.c (GRUB_MOD_INIT): Likewise.
6954 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6955 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6956 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6957 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6958 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6959 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6960 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6961 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6962 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6963 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6964 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6965 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6966 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6967 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6968 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6969 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6970 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6971 * commands/password.c (GRUB_MOD_INIT): Likewise.
6972 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6973 * commands/read.c (GRUB_MOD_INIT): Likewise.
6974 * commands/search.c (GRUB_MOD_INIT): Likewise.
6975 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6976 * commands/test.c (GRUB_MOD_INIT): Likewise.
6977 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6978 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6979 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6980 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6981 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6982 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6983 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6984 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6985 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6986 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6987 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6988 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6989 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6990 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6991
9c288be2
VS
69922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Use search command for preliminar UUID search.
6995
6996 * commands/search.c: Split into ...
6997 * commands/search_wrap.c: ...this
6998 * commands/search.c: ...and this.
6999 * commands/search_file.c: New file.
7000 * commands/search_label.c: New file.
7001 * commands/search_uuid.c: New file.
7002 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
7003 Add commands/search_wrap.c, commands/search_file.c,
7004 commands/search_label.c and commands/search_uuid.c.
7005 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
7006 (search_mod_SOURCES): Set to commands/search_wrap.c.
7007 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
7008 search_label.mod.
7009 (search_fs_file_mod_SOURCES): New variable.
7010 (search_fs_file_mod_CFLAGS): Likewise.
7011 (search_fs_file_mod_LDFLAGS): Likewise.
7012 (search_label_mod_SOURCES): Likewise.
7013 (search_label_mod_CFLAGS): Likewise.
7014 (search_label_mod_LDFLAGS): Likewise.
7015 (search_fs_uuid_mod_SOURCES): New variable.
7016 (search_fs_uuid_mod_CFLAGS): Likewise.
7017 (search_fs_uuid_mod_LDFLAGS): Likewise.
7018 (fs_file_mod_SOURCES): Removed.
7019 (fs_file_mod_CFLAGS): Likewise.
7020 (fs_file_mod_LDFLAGS): Likewise.
7021 (fs_uuid_mod_SOURCES): Removed.
7022 (fs_uuid_mod_CFLAGS): Likewise.
7023 (fs_uuid_mod_LDFLAGS): Likewise.
7024 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
7025 Set to util/grub-install.in.
7026 * disk/fs_file.c: Removed.
7027 * disk/fs_uuid.c: Likewise.
7028 * include/grub/search.h: New file.
7029 * util/grub-install.in: Handle sparc64.
7030 Create and use load.cfg.
7031 * util/sparc64/ieee1275/grub-install.in: Removed.
7032
db943399
VS
70332009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
7036 Ignore return status if CF is cleared.
7037 (grub_biosdisk_get_diskinfo_standard): Likewise.
7038
3fdae612
RM
70392009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7040
7041 * term/i386/pc/at_keyboard.c
7042 (keyboard_controller_wait_untill_ready): New function.
7043 (grub_keyboard_controller_write, grub_keyboard_controller_read)
7044 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
7045 for keyboard polling, rather than duplicate the same loop. This
7046 saves a few bytes in code size.
7047
7ebaa2b4
VS
70482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 Support for (pxe[:server[:gateway]]) syntax and
7051 use environment variable for PXE.
7052
7053 * commands/i386/pc/pxecmd.c (options): Removed.
7054 (print_ip): Removed.
7055 (grub_cmd_pxe): Removed
7056 (grub_cmd_pxe_unload): New function.
7057 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
7058 (grub_pxe_your_ip): Made static.
7059 (grub_pxe_default_server_ip): Likewise.
7060 (grub_pxe_default_gateway_ip): Likewise.
7061 (grub_pxe_blksize): Likewise.
7062 (parse_ip): New function.
7063 (grub_pxe_open): Support server and gateway specification.
7064 (grub_pxe_close): Free disk->data.
7065 (grub_pxefs_open): Use disk->data.
7066 (grub_pxefs_read): Likewise.
7067 (grub_env_write_readonly): New function.
7068 (set_mac_env): Likewise.
7069 (set_env_limn_ro): Likewise.
7070 (parse_dhcp_vendor): Likewise.
7071 (grub_pxe_detect): Set the environment variables.
7072 (set_ip_env): New function.
7073 (write_ip_env): Likewise.
7074 (grub_env_write_pxe_default_server): Likewise.
7075 (grub_env_write_pxe_default_gateway): Likewise.
7076 (grub_env_write_pxe_blocksize): Likewise.
7077 (GRUB_MOD_INIT(pxe)): Set environment variables.
7078 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
7079 (grub_pxe_mac_addr_t): ... this. All users updated.
7080 (grub_pxe_your_ip): Removed.
7081 (grub_pxe_server_ip): Likewise.
7082 (grub_pxe_gateway_ip): Likewise.
7083 (grub_pxe_blksize): Likewise.
7084
ec5f98ab 70852009-12-25 Carles Pina i Estany <carles@pina.cat>
7086
7087 * commands/help.c: Include `<grub/i18n.h>'.
7088 (grub_cmd_help): Gettextizze.
7089 (GRUB_MOD_INIT): Likewise.
7090 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
7091 (GRUB_MOD_INIT): Gettextizze.
7092 * commands/search.c: Include `<grub/i18n.h>'.
7093 (options): Gettextizze.
7094 (GRUB_MOD_INIT): Gettextizze.
7095 * lib/arg.c: Include `<grub/i18n.h>'.
7096 (help_options): Gettextizze.
7097 (find_long): Likewise.
7098 (grub_arg_show_help): Likewise.
7099 * normal/dyncmd.c: Include `<grub/i18n.h>'.
7100 (read_command_list): Gettextizze.
7101 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 7102 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 7103
22815526
RM
71042009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7105
7106 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
7107 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
7108 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
7109 (led_status): New variable.
7110 (keyboard_controller_led): New function.
7111 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
7112 update led status for caps lock, num lock and scroll lock.
7113
0ad46fd7
FZ
71142009-12-25 Felix Zielcke <fzielcke@z-51.de>
7115
7116 * util/hostdisk.c (open_device): Fix a comment.
7117
d0e158c2
RM
71182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7119
7120 * util/grub-install.in (host_os): New variable.
7121 * util/i386/efi/grub-install.in (host_os): Likewise.
7122
401c0ad6
RM
71232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7124
7125 * util/mkisofs/write.c (padblock_write): Abort when given an
7126 excedingly large embed image, instead of silently truncating it.
7127
d14d3370
RM
71282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7129
7130 * include/multiboot.h: Indentation fixes.
7131
eeed10b4
RM
71322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7133
7134 * include/multiboot.h (struct multiboot_aout_symbol_table)
7135 (struct multiboot_elf_section_header_table): New structure
7136 declarations (stolen from GRUB Legacy).
7137 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
7138 table information.
7139
7140 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
7141 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
7142 type aliases.
7143
681c70ab
RM
71442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7145
7146 * include/multiboot.h: Make comments src2texi-friendly.
7147
e4d47d8d
RM
71482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7149
7150 For consistency with [multiboot]/docs/boot.S.
7151
7152 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
7153 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
7154 (MULTIBOOT_MAGIC2): Rename from this ...
7155 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
7156
a0b70bda
RM
71572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7158
7159 * include/multiboot.h: Remove `<grub/types.h>'.
7160 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
7161 types. Update all users.
7162
61ba42be 71632009-12-25 Carles Pina i Estany <carles@pina.cat>
7164
7165 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
7166 `couldn't' and `can not' by `cannot'.
7167 * commands/i386/pc/drivemap.c: Likewise.
7168 * disk/ata.c: Likewise.
7169 * disk/ieee1275/nand.c: Likewise.
7170 * fs/affs.c: Likewise.
7171 * fs/fat.c: Likewise.
7172 * fs/hfs.c: Likewise.
7173 * fs/hfsplus.c: Likewise.
7174 * fs/iso9660.c: Likewise.
7175 * fs/jfs.c: Likewise.
7176 * fs/minix.c: Likewise.
7177 * fs/reiserfs.c: Likewise.
7178 * fs/sfs.c: Likewise.
7179 * fs/udf.c: Likewise.
7180 * fs/ufs.c: Likewise.
7181 * fs/xfs.c: Likewise.
7182 * loader/powerpc/ieee1275/linux.c: Likewise.
7183 * loader/sparc64/ieee1275/linux.c: Likewise.
7184 * util/grub-probe.c: Likewise.
7185 * util/misc.c: Likewise.
7186
7fd0baee 71872009-12-24 Carles Pina i Estany <carles@pina.cat>
7188
7189 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
7190 grub_errno calls.
7191 * commands/acpi.c: Likewise.
7192 * commands/blocklist.c: Likewise.
7193 * commands/efi/loadbios.c: Likewise.
7194 * commands/i386/pc/drivemap.c: Likewise.
7195 * commands/loadenv.c: Likewise.
7196 * commands/memrw.c: Likewise.
7197 * commands/password.c: Likewise.
7198 * commands/videotest.c: Likewise.
7199 * disk/ata.c: Likewise.
7200 * disk/ata_pthru.c: Likewise.
7201 * disk/dmraid_nvidia.c: Likewise.
7202 * disk/ieee1275/nand.c: Likewise.
7203 * disk/ieee1275/ofdisk.c: Likewise.
7204 * disk/loopback.c: Likewise.
7205 * disk/lvm.c: Likewise.
7206 * disk/mdraid_linux.c: Likewise.
7207 * disk/raid.c: Likewise.
7208 * disk/raid6_recover.c: Likewise.
7209 * disk/scsi.c: Likewise.
7210 * efiemu/main.c: Likewise.
7211 * efiemu/mm.c: Likewise.
7212 * efiemu/pnvram.c: Likewise.
7213 * efiemu/symbols.c: Likewise.
7214 * font/font.c: Likewise.
7215 * fs/cpio.c: Likewise.
7216 * fs/hfsplus.c: Likewise.
7217 * fs/iso9660.c: Likewise.
7218 * fs/jfs.c: Likewise.
7219 * fs/minix.c: Likewise.
7220 * fs/ntfs.c: Likewise.
7221 * fs/ntfscomp.c: Likewise.
7222 * fs/reiserfs.c: Likewise.
7223 * fs/ufs.c: Likewise.
7224 * fs/xfs.c: Likewise.
7225 * gettext/gettext.c: Likewise.
7226 * include/grub/auth.h: Likewise.
7227 * kern/elf.c: Likewise.
7228 * kern/file.c: Likewise.
7229 * kern/ieee1275/init.c: Likewise.
7230 * kern/ieee1275/mmap.c: Likewise.
7231 * kern/ieee1275/openfw.c: Likewise.
7232 * kern/powerpc/dl.c: Likewise.
7233 * kern/sparc64/dl.c: Likewise.
7234 * lib/arg.c: Likewise.
7235 * loader/i386/bsd.c: Likewise.
7236 * loader/i386/bsdXX.c: Likewise.
7237 * loader/i386/efi/linux.c: Likewise.
7238 * loader/i386/efi/xnu.c: Likewise.
7239 * loader/i386/ieee1275/linux.c: Likewise.
7240 * loader/i386/linux.c: Likewise.
7241 * loader/i386/multiboot.c: Likewise.
7242 * loader/i386/pc/linux.c: Likewise.
7243 * loader/i386/pc/multiboot2.c: Likewise.
7244 * loader/i386/xnu.c: Likewise.
7245 * loader/ieee1275/multiboot2.c: Likewise.
7246 * loader/macho.c: Likewise.
7247 * loader/machoXX.c: Likewise.
7248 * loader/multiboot2.c: Likewise.
7249 * loader/multiboot_loader.c: Likewise.
7250 * loader/powerpc/ieee1275/linux.c: Likewise.
7251 * loader/sparc64/ieee1275/linux.c: Likewise.
7252 * loader/xnu.c: Likewise.
7253 * loader/xnu_resume.c: Likewise.
7254 * mmap/i386/pc/mmap.c: Likewise.
7255 * normal/menu_viewer.c: Likewise.
7256 * partmap/acorn.c: Likewise.
7257 * partmap/amiga.c: Likewise.
7258 * partmap/apple.c: Likewise.
7259 * script/lexer.c: Likewise.
7260 * term/gfxterm.c: Likewise.
7261 * term/i386/pc/serial.c: Likewise.
7262 * term/i386/pc/vga.c: Likewise.
7263 * term/ieee1275/ofconsole.c: Likewise.
7264 * term/terminfo.c: Likewise.
7265 * video/bitmap.c: Likewise.
7266 * video/efi_gop.c: Likewise.
7267 * video/efi_uga.c: Likewise.
7268 * video/fb/video_fb.c: Likewise.
7269 * video/i386/pc/vbe.c: Likewise.
7270 * video/readers/tga.c: Likewise.
7271 * video/video.c: Likewise.
7272
0ad46fd7 72732009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
7274
7275 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
7276 * commands/lspci.c: Likewise.
7277 * commands/probe.c: Likewise.
7278 * commands/xnu_uuid.c: Likewise.
7279 * conf/i386-coreboot.rmk: Likewise.
7280 * conf/i386-efi.rmk: Likewise.
7281 * conf/i386-ieee1275.rmk: Likewise.
7282 * conf/i386-pc.rmk: Likewise.
7283 * conf/powerpc-ieee1275.rmk: Likewise.
7284 * conf/sparc64-ieee1275.rmk: Likewise.
7285 * conf/x86_64-efi.rmk: Likewise.
7286 * fs/i386/pc/pxe.c: Likewise.
7287 * gettext/gettext.c: Likewise.
7288 * include/grub/efi/graphics_output.h: Likewise.
7289 * include/grub/i386/pc/memory.h: Likewise.
7290 * kern/env.c: Likewise.
7291 * kern/i386/qemu/startup.S: Likewise.
7292 * lib/i386/pc/biosnum.c: Likewise.
7293 * lib/i386/relocator.c: Likewise.
7294 * lib/i386/relocator_asm.S: Likewise.
7295 * lib/relocator.c: Likewise.
7296 * loader/i386/bsd.c: Likewise.
7297 * loader/i386/multiboot.c: Likewise.
7298 * loader/i386/pc/chainloader.c: Likewise.
7299 * loader/i386/xnu.c: Likewise.
7300 * loader/xnu.c: Likewise.
7301 * normal/main.c: Likewise.
7302 * normal/menu_text.c: Likewise.
7303 * util/getroot.c: Likewise.
7304 * util/grub-mkconfig_lib.in: Likewise.
7305 * util/grub.d/00_header.in: Likewise.
7306 * util/i386/pc/grub-mkimage.c: Likewise.
7307 * util/mkisofs/eltorito.c: Likewise.
7308 * util/mkisofs/exclude.h: Likewise.
7309 * util/mkisofs/hash.c: Likewise.
7310 * util/mkisofs/iso9660.h: Likewise.
7311 * util/mkisofs/joliet.c: Likewise.
7312 * util/mkisofs/mkisofs.c: Likewise.
7313 * util/mkisofs/mkisofs.h: Likewise.
7314 * util/mkisofs/multi.c: Likewise.
7315 * util/mkisofs/name.c: Likewise.
7316 * util/mkisofs/rock.c: Likewise.
7317 * util/mkisofs/tree.c: Likewise.
7318 * util/mkisofs/write.c: Likewise.
7319 * video/efi_gop.c: Likewise.
7320
009ec743
VS
73212009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
7324 size counting.
7325
0ad46fd7 73262009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
7327
7328 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
7329 * genmk.rb (class SCRIPT): Modify the target file instead of source.
7330
d3d30ea0
VS
73312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
7334 (GRUB_MOD_INIT(memrw)): Update help line.
7335
a34f5c70
VS
73362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
7339 Use grub_extcmd_t. All users updated.
7340 (options): New variable.
7341 (grub_cmd_read): Restructure for readability. Support "-v" option.
7342 (grub_cmd_write): Restructure for readability.
7343
0ad46fd7 73442009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
7345
7346 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
7347
0ad46fd7 73482009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
7349
7350 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
7351 with the actual contents of the correspondending make variable.
7352 * util/grub-mkrescue.in (pkglib_DATA): New variable.
7353 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
7354 specifying `*.lst' and `efiemu??.o'
7355
0ad46fd7 73562009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
7357
7358 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
7359 after function name.
7360 Noticed by Rene Engelhard <rene@debian.org>.
7361
dc77a799
VS
73622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
7365 (options): New variable.
7366 (iospace): Likewise.
7367 (grub_lspci_iter): List IO spaces if "-i" was given.
7368 (grub_cmd_lspci): Parse options.
7369 (GRUB_MOD_INIT(lspci)): Use extcmd.
7370 (GRUB_MOD_FINI(lspci)): Likewise.
7371
0ad46fd7 73722009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
7373
7374 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
7375 `function' keyword.
7376 Patch by Tony Mancill <tmancill@debian.org>.
7377
b5d5993b
VS
73782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
7381 (grub_uhci_portstatus): Likewise.
7382 (grub_uhci_portstatus): Add necessary delay.
11d18281 7383 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 7384
941903f2 73852009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 7386
941903f2 7387 * commands/acpi.c (options): Fix capitalizations and/or full stops.
7388 (GRUB_MOD_INIT): Likewise.
7389 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 7390 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
7391 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 7392 * commands/efi/loadbios.c (enable_rom_area): Likewise.
7393 (enable_rom_area): Likewise.
7394 (GRUB_MOD_INIT): Likewise.
7395 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7396 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
7397 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7398 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
7399 * commands/hexdump.c (options): Likewise.
7400 * commands/i386/cpuid.c (options): Likewise.
7401 (GRUB_MOD_INIT): Likewise.
7402 * commands/i386/pc/drivemap.c (options): Likewise.
7403 (GRUB_MOD_INIT): Likewise.
7404 * commands/i386/pc/halt (options): Likewise.
7405 (GRUB_MOD_INIT): Likewise.
7406 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7407 * commands/i386/pc/pxecmd.c (options): Likewise.
7408 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7409 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7410 * commands/keystatus.c (options): Likewise.
7411 (GRUB_MOD_INIT): Likewise.
7412 * commands/loadenv.c (options): Likewise.
7413 * commands/ls.c (options): Likewise.
7414 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7415 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7416 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7417 * commands/parttool.c (helpmsg): Likewise.
7418 * commands/probe.c (options): Likewise.
7419 * commands/read.c (GRUB_MOD_INIT): Likewise.
7420 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7421 * commands/search.c (options): Likewise.
7422 * commands/sleep.c (options): Likewise.
7423 * commands/test.c (GRUB_MOD_INIT): Likewise.
7424 * commands/true.c (GRUB_MOD_INIT): Likewise.
7425 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7426 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7427 * lib/arg.c (help_options): Likewise.
e9bbb4e7 7428 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7429 `$(XGETTEXT)'.
98a50553 7430 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 7431
0ad46fd7 74322009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 7433
ef3c2c3a 7434 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
7435 instead of specifying them explicit.
7436
7922f68b
RM
74372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7438
7439 * NEWS: Add grub-probe support for GNU/Hurd.
7440
537ce47f
RM
74412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7442
7443 * NEWS: gettext was added after 1.97.
7444
9b214e3a
RM
74452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7446
7447 * util/mkisofs/msdos_partition.h: New file (based on
7448 include/grub/msdos_partition.h).
7449 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7450 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7451 (ld_options, main): Recognize --protective-msdos-label.
7452 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7453 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7454 (padblock_write): If `use_protective_msdos_label' is set, patch a
7455 protective DOS-style label in the output image.
7456
7457 * util/grub-mkrescue.in: Use --protective-msdos-label.
7458
e9309813
RM
74592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7460
7461 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7462 boot.
7463
0ae56929
RM
74642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7465
7466 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7467 variables.
7468 (ld_options, main): Recognize `--embedded-boot'.
7469 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7470 declarations.
7471 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7472 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7473 (padblock_write): Likewise. Rewrite to support embedded boot image.
7474
7475 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7476 for BIOS-based disk boot instead of only ElTorito.
7477
b15937b1
RM
74782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7479
7480 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7481 build (not needed for bootstrap).
7482
52cc3ce0
RM
74832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7484
7485 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7486 from i386-pc build (not needed for bootstrap).
7487 Rewrite a pair of strings.
7488
36f5ff04
RM
74892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7490
7491 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7492
973c6c85 74932009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
7494
7495 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7496
05d21547
AB
74972009-12-21 Andreas Born <futur.andy@googlemail.com>
7498
7499 * kern/env.c (grub_env_context_open): Mark exported variable for
7500 reexport.
7501
0175d51f
AB
75022009-12-21 Andreas Born <futur.andy@googlemail.com>
7503
7504 * kern/env.c (grub_env_export): Create nonexistent variables before
7505 exporting.
7506
7f39d92f 75072009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 7508
7f39d92f 7509 * include/grub/auth.h: Include `<grub/i18n.h>'.
7510 (GRUB_GET_PASSWORD): Gettextizze string.
7511 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7512 menu_text.c.
7513 (grub_utf8_to_ucs4_alloc): Fix indentation.
7514 (grub_print_ucs4): Likewise.
7515 (grub_getstringwidth): Likewise.
7516 (print_message_indented): New declaration.
7517 * normal/auth.c: Include `<grub/i18n.h>'.
7518 (grub_auth_check_authentication): Gettexttize string.
7519 * normal/cmdline.c: Include `<grub/i18n.h>'.
7520 (grub_cmdline_get): Gettextizze.
7521 * normal/color.c: Include `<grub/i18n.h>'.
7522 (grub_parse_color_name_pair): Gettexttize strings.
7523 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7524 string (use `print_message_indented').
7525 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7526 `include/grub/normal.h'.
7527 (print_message_indented): Renamed to ...
7528 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7529 used in normal/main.c).
7530 (print_message): Use `grub_print_message_indented' instead of
7531 `print_message_indented'.
7532 (print_timeout): Likewise.
7533 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7534 (grub_normal_print_device_info): Gettexttize strings.
7535 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7536
3041d898
VS
75372009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7540 of arguments. Return number of tokens and not arguments. All users
7541 updated.
7542
de15bf8e
VS
75432009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7546 non-MSDOS paritions.
7547
e0a6ca52
VS
75482009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * include/grub/types.h (UNUSED): Removed since it conflicts with
7551 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7552 Reported by Grégoire Sutre.
7553
b99518d1 75542009-12-19 Carles Pina i Estany <carles@pina.cat>
7555
7556 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7557 (grub_print_ucs4_alloc): Likewise.
7558 (grub_getstringwidth): Likewise.
7559 * normal/main.c (grub_normal_init_page): Gettextize version string.
7560 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7561 (getstringwidth): Renamed to ...
7562 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7563 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7564 (grub_print_ucs4): Remove `static' qualifer (now used in
7565 normal/main.c).
7566 * po/POTFILES: Add normal/main.c.
7567
bfd5e52b 75682009-12-19 Carles Pina i Estany <carles@pina.cat>
7569
7570 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7571 (print_message_indented): Add `margin_left' and `margin_right'
7572 parameters.
7573 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7574 strings.
7575 (print_timeout): Use `print_message_indented' to print the message.
7576 Deletes `second_stage' parameter.
7577 (run_menu): Update `print_timeout' calls.
7578
5a1ad2b9
VS
75792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 Fix console palette on OpenFirmware.
7582
7583 * term/ieee1275/ofconsole.c (MAX): Removed.
7584 (colors): Redone based on VGA palette.
7585 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7586 colors are supported.
7587 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7588
b045f00a
VS
75892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 Fix potential EfiEmu double prepare.
7592
7593 * efiemu/main.c (prepared): New variable
7594 (grub_efiemu_unload): Set prepare to '0'.
7595 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7596
7597 set_virtual_address_map support.
7598
7599 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7600 prototype.
7601 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7602 prototype.
7603 (grub_efiemu_crc32): Likewise.
7604 (grub_efiemu_crc64): Likewise.
7605 (grub_efiemu_set_virtual_address_map): Likewise.
7606 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7607 New definition.
7608 (grub_autoefi_set_virtual_address_map): Likewise.
7609 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7610 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7611 Restructure flow to accomodate it.
7612 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7613 (grub_efiemu_crc): Recompute CRC32.
7614 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7615 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7616 * efiemu/symbols.c (relocated_handle): New variable.
7617 (grub_efiemu_free_syms): Free relocated_handle.
7618 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7619 (grub_efiemu_write_sym_markers): New function.
7620 (grub_efiemu_set_virtual_address_map): Likewise.
7621
7622 Newer XNU parameters.
7623
7624 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7625 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7626 (grub_xnu_fill_devicetree): New prototype.
7627 (grub_xnu_heap_real_start): New variable.
7628 * loader/xnu.c (get_name_ptr): New function.
7629 (grub_xnu_load_driver): Fill namelen and name.
7630
7631 64-bit xnu support.
7632
7633 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7634 and 'loader/macho64.c'.
7635 * conf/i386-pc.rmk: Likewise.
7636 * conf/x86_64-efi.rmk: Likewise.
7637 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7638 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7639 * include/grub/macho.h (grub_macho_segment64): New structure.
7640 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7641 (grub_macho_size32): ... to this.
7642 (grub_macho32_get_entry_point): Renamed from ...
7643 (grub_macho_get_entry_point32): ... to this.
7644 (grub_macho_contains_macho64): New prototype.
7645 (grub_macho_size64): Likewise.
7646 (grub_macho_get_entry_point64): Likewise.
7647 (grub_macho32_load): Renamed from ...
7648 (grub_macho_load32): ... to this.
7649 (grub_macho32_filesize): Renamed from ...
7650 (grub_macho_filesize32): ... to this.
7651 (grub_macho32_readfile): Renamed from ...
7652 (grub_macho_readfile32): ... to this.
7653 (grub_macho_filesize64): New prototype.
7654 (grub_macho_readfile64): Likewise.
7655 (grub_macho_parse32): Likewise.
7656 (grub_macho_parse64): Likewise.
7657 * loader/macho.c: Split into ...
7658 * loader/machoXX.c: ... and this. Replace 32 with XX.
7659 * loader/macho32.c: New file.
7660 * loader/macho64.c: Likewise.
7661 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7662 (grub_cmd_xnu_kernel): Make 32-bit only.
7663 (grub_cmd_xnu_kernel64): New function.
7664 (grub_xnu_load_driver): Support Mach-O 64.
7665 (grub_cmd_xnu_mkext): Likewise.
7666 * util/grub.d/30_os-prober.in (osx_entry): New function.
7667 Generate entries for 64-bit boot too.
7668
7669 Eliminate ad-hoc tree format in XNU and EfiEmu.
7670
7671 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7672 * efiemu/pnvram.c: Rewritten to use environment variables.
7673 All users updated.
7674
7675 Inline utf16_to_utf8.
7676
7677 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7678 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7679 All users updated.
7680 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7681
7682 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7683 * commands/usbtest.c (grub_usb_get_string): ... move here.
7684 (usb_print_str): Fix error handling.
7685 * include/grub/usb.h (grub_usb_get_string): Remove.
7686
7687 UTF-8 to UTF-16 transformation.
7688
7689 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7690 (charset_mod_SOURCES): New variable.
7691 (charset_mod_CFLAGS): Likewise.
7692 (charset_mod_LDFLAGS): Likewise.
7693 * include/grub/utf.h: New file.
7694 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7695
7696 Support for device properties.
7697
7698 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7699 (grub_xnu_devprop_device_header): Likewise.
7700 (grub_xnu_devprop_device_descriptor): Likewise.
7701 (grub_xnu_devprop_add_device): New prototype.
7702 (grub_xnu_devprop_remove_device): Likewise.
7703 (grub_xnu_devprop_remove_property): Likewise.
7704 (grub_xnu_devprop_add_property_utf8): Likewise.
7705 (grub_xnu_devprop_add_property_utf16): Likewise.
7706 (grub_cpu_xnu_init): Likewise.
7707 (grub_cpu_xnu_fini): Likewise.
7708 (grub_cpu_xnu_unload): Likewise.
7709 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7710 (property_descriptor): Likewise.
7711 (devices): New variable.
7712 (grub_xnu_devprop_remove_property): New function.
7713 (grub_xnu_devprop_add_device): Likewise.
7714 (grub_xnu_devprop_remove_device): Likewise.
7715 (grub_xnu_devprop_add_property): Likewise.
7716 (grub_xnu_devprop_add_property_utf8): Likewise.
7717 (grub_xnu_devprop_add_property_utf16): Likewise.
7718 (hextoval): Likewise.
7719 (grub_cpu_xnu_fill_devprop): Likewise.
7720 (grub_cmd_devprop_load): Likewise.
7721 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7722 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7723 (cmd_devprop_load): New variable.
7724 (grub_cpu_xnu_init): New function.
7725 (grub_cpu_xnu_fini): Likewise.
7726 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7727 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7728 (grub_cmd_xnu_devtree): Likewise.
7729 (hextoval): New function.
7730 (unescape): Likewise.
7731 (grub_xnu_fill_devicetree): Likewise.
7732
7733 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7734 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7735
0945f181
VS
77362009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 Workaround for broken ATI VBE.
7739
7740 * video/i386/pc/vbe.c (last_set_mode): New variable.
7741 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7742 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7743 (grub_video_vbe_setup): Don't check for reserved flag.
7744
0ad46fd7 77452009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
7746
7747 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7748 the `find' command.
7749
c179ebe4
VS
77502009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 UUID support for HFS.
7753
7754 * fs/hfs.c (grub_hfs_uuid): New function.
7755 (grub_hfs_fs): New value .uuid.
7756 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7757
0ad46fd7 77582009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
7759
7760 Fix a segfault with parsing unknown long options.
7761
7762 * util/grub-mkrelpath.c (options): Zero terminate it.
7763
c4a3e41a
CPE
77642009-12-13 Carles Pina i Estany <carles@pina.cat>
7765
7766 * include/grub/misc.h (grub_puts): New declaration.
7767 (grub_puts_): Likewise.
a22008a6 7768 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
7769 (grub_puts_): Likewise.
7770
2e8a7602
RM
77712009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7772
7773 * util/grub-probe.c (probe): Improve error message.
7774
b50b77b9
RM
77752009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7776
7777 * loader/i386/multiboot_elfxx.c
7778 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7779 initialization.
7780
77812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 Relocator framework
7784
7785 * loader/i386/xnu_helper.S: Removed. All users updated.
7786 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7787 (relocator_mod_SOURCES): New variable.
7788 (relocator_mod_CFLAGS): Likewise.
7789 (relocator_mod_LDFLAGS): Likewise.
7790 (relocator_mod_ASFLAGS): Likewise.
7791 * conf/x86_64.rmk: Likewise.
7792 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7793 (grub_multiboot_payload_entry_offset): Likewise.
7794 (grub_multiboot_forward_relocator): Likewise.
7795 (grub_multiboot_forward_relocator_end): Likewise.
7796 (grub_multiboot_backward_relocator): Likewise.
7797 (grub_multiboot_backward_relocator_end): Likewise.
7798 (grub_multiboot_payload_eip): New variable.
7799 (grub_multiboot_payload_orig): Likewise.
7800 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7801 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7802 * include/grub/i386/memory.h
7803 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7804 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7805 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7806 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7807 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7808 * include/grub/i386/relocator.h: New file.
7809 * include/grub/x86_64/relocator.h: Likewise.
7810 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7811 (XNU_RELOCATOR): New macro.
7812 (grub_xnu_launcher_start): Remove.
7813 (grub_xnu_launcher_end): Likewise.
7814 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7815 (grub_xnu_heap_real_start): Remove.
7816 (grub_xnu_heap_start): Change to void *. All users updated.
7817 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7818 * lib/i386/relocator.c: New file.
7819 * lib/i386/relocator_asm.S: Likewise.
7820 * lib/i386/relocator_backward.S: Likewise.
7821 * lib/mips/relocator.c: Likewise.
7822 * lib/mips/relocator_asm.S: Likewise.
7823 * lib/relocator.c: Likewise.
7824 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7825 (entry): Removed.
7826 (playground): Likewise.
7827 (grub_multiboot_payload_orig): New variable.
7828 (grub_multiboot_payload_dest): Likewise.
7829 (grub_multiboot_payload_size): Likewise.
7830 (grub_multiboot_payload_eip): Likewise.
7831 (grub_multiboot_payload_esp): Likewise.
7832 (grub_multiboot_boot): Use grub_relocator32_boot.
7833 (grub_multiboot_unload): Free relocators.
7834 (grub_multiboot): Setup stack. Use relocators.
7835 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7836 (grub_multiboot_load_elfXX): Use relocators.
7837 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7838 (grub_multiboot_payload_size): Likewise.
7839 (grub_multiboot_payload_dest): Likewise.
7840 (grub_multiboot_payload_entry_offset): Likewise.
7841 (grub_multiboot_forward_relocator): Likewise.
7842 (grub_multiboot_backward_relocator): Likewise.
7843 (grub_multiboot_real_boot): Likewise.
7844 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7845 (grub_xnu_entry_point): Likewise.
7846 (grub_xnu_arg1): Likewise.
7847 (grub_xnu_stack): Likewise.
7848 (grub_xnu_launch): Removed.
7849 (grub_xnu_boot_resume): New function.
7850 (grub_xnu_boot): Use relocators.
7851 * loader/i386/xnu_helper.S: Removed.
7852 * loader/xnu.c (grub_xnu_heap_start): New variable.
7853 (grub_xnu_heap_size): Likewise.
7854 (grub_xnu_heap_malloc): Use relocators.
7855 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7856
29eb90c6
VS
78572009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7860 anything.
7861
31027430
CPE
78622009-12-13 Carles Pina i Estany <carles@pina.cat>
7863
7864 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7865 GRUB_ERR_NONE before calling grub_env_set.
7866
dc0c71d9
RM
78672009-12-12 Robert Millan <rmh@aybabtu.com>
7868
7869 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7870 * genmk.rb (video): New variable.
7871 (CLEANFILES, VIDEOFILES): Add #{video}.
7872 (#{video}): New target rule.
7873 * genvideolist.sh: New file.
7874 * Makefile.in (pkglib_DATA): Add video.lst.
7875 (video.lst): New target rule.
7876 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7877 `video.lst'.
7878 * util/grub.d/30_os-prober.in: Replace `vbe' with
7879 ${GRUB_VIDEO_BACKEND}.
7880
2a4bfcf0
RM
78812009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7882
7883 * THANKS: Add David Miller.
7884
2a3aa4d5
RM
78852009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 libpciaccess support.
7888
7889 * Makefile.in (LIBPCIACCESS): New variable.
7890 (enable_grub_emu_pci): Likewise.
7891 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7892 util/pci.c and commands/lspci.c.
7893 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7894 * configure.ac (grub-emu-pci): New option.
7895 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7896 (grub_pci_device_unmap_range): Likewise.
7897 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7898 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7899 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7900 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7901 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7902 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7903 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7904 * include/grub/pciutils.h: New file.
7905 * util/pci.c: Likewise.
7906
0ad46fd7 79072009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
7908
7909 * util/misc.c: Don't include <errno.h> twice.
7910
0ad46fd7 79112009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
7912
7913 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7914 name in an error message.
7915 (grub_biosdisk_rw): Likewise.
7916
2e59983c
VS
79172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 Eliminate NTFS 4Gib barrier.
7920
7921 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7922 (read_run_data): Likewise.
7923 (grub_ntfs_read_run_list): Likewise.
7924 (grub_ntfs_read_block): Likewise.
7925 (grub_ntfs_iterate_dir): Likewise.
7926 (read_mft): Likewise.
7927 (read_data): Likewise.
7928 Use COM_LOG_LEN.
7929 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7930 to avoid 64-bit division
7931 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7932 (grub_ntfs_rlst): Use grub_disk_addr_t.
7933
71ee178a
VS
79342009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 Eliminate grub-fstest 4Gib barrier.
7937
7938 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7939 (read_file): Fix error reporting.
7940
2520d4b8
VS
79412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 Eliminate hexdump 4Gib barrier.
7944
7945 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7946 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7947
e1f27065
VS
79482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7951 Fixes amarsh bug.
7952
1a0f7f45
RM
79532009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7954
7955 Remove miscellaneous files in distclean target.
7956
7957 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7958
c631d9fb
CW
79592009-12-09 Colin Watson <cjwatson@ubuntu.com>
7960
7961 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7962 if they're already set. This resolves the conflict between my
7963 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7964 fixing the --grub-probe option again.
7965 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7966 change on 2009-10-06, so that we now once again source
7967 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7968
7c7b6106
RM
79692009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7970
7971 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7972 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7973 `util/devicemap.c'.
7974
e3069ec1
CPE
79752009-12-08 Carles Pina i Estany <carles@pina.cat>
7976
7977 * include/grub/misc.h (grub_printf_): New declaration.
7978 * kern/misc.c (grub_printf_): New definition.
7979 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7980 instead of `grub_printf' and `_'.
7981 * normal/menu_entry.c (store_completion): Likewise.
7982 (run): Likewise.
7983 (grub_menu_entry_run): Likewise.
7984 * normal/menu_text.c (grub_wait_after_message): Likewise.
7985 (notify_booting): Likewise.
7986 (notify_fallback): Likewise.
7987 (notify_execution_failure): Likewise.
7988
d6ceebf1
CW
79892009-12-07 Colin Watson <cjwatson@ubuntu.com>
7990
7991 * configure.ac: Check for vasprintf.
7992 * util/misc.c (asprintf): Move allocation from here ...
7993 (vasprintf): ... to here. New function.
7994 (xasprintf): New function.
7995 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7996 prototypes.
7997 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7998 * util/grub-mkfont.c (write_font): Likewise.
7999 * util/grub-probe.c (probe): Likewise.
8000 * util/hostdisk.c (make_device_name): Likewise.
8001
de6daa8b
DM
80022009-12-06 David S. Miller <davem@sunset.davemloft.net>
8003
8004 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
8005 anything even prefixed with 'cdrom' as a cdrom.
8006
0ad46fd7 80072009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
8008
8009 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
8010 mount points.
8011
98d3dc02
CPE
80122009-12-05 Carles Pina i Estany <carles@pina.cat>
8013
8014 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
8015 grub_gettext_msg_list.
8016 (grub_gettext_gettranslation_from_position): Return const char *
8017 and not char *.
a2c1332b 8018 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
8019 returns from the list if existing there.
8020 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
8021 (grub_gettext_delete_list): Delete the list.
8022 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
8023 lang environment variable is changed.
8024 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
8025
b283f108
VS
80262009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 Rename kernel.mod to kernel.img.
8029
8030 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
8031 (kernel_mod_EXPORTS): Rename to ...
8032 (kernel_img_EXPORTS): ... this.
8033 (kernel_mod_SOURCES): Rename to ...
8034 (kernel_img_SOURCES): ... this.
8035 (kernel_mod_HEADERS): Rename to ...
8036 (kernel_img_HEADERS): ... this. All users updated.
8037 (kernel_mod_CFLAGS): Rename to ...
8038 (kernel_img_CFLAGS): ... this.
8039 (kernel_mod_ASFLAGS): Rename to ...
8040 (kernel_img_ASFLAGS): ... this.
8041 (kernel_mod_LDFLAGS): Rename to ...
8042 (kernel_img_LDFLAGS): ... this.
8043 * conf/x86_64-efi.rmk: Likewise.
8044 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
8045 (read_kernel_image): ... this. All users updated.
8046 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
8047
69055f8a
CPE
80482009-12-05 Carles Pina i Estany <carles@pina.cat>
8049
8050 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
8051 (print_spaces): New function.
8052 (grub_print_ucs4): New function.
8053 (getstringwidth): New function.
8054 (print_message_indented): New function.
8055 (print_message): Gettexttize strings using print_message_indented.
8056 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
8057 width.
8058 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 8059 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
8060 Gettextize.
8061 * normal/menu_entry.c (store_completion): Cleanup the gettextized
8062 string.
8063 (run): Likewise.
8064 (grub_menu_entry_run): Likewise.
8065 * PO/POTFILES: Add normal/menu_entry.c.
8066
f616f51c
VS
80672009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
8070
57bbe3be
CPE
80712009-12-05 Carles Pina i Estany <carles@pina.cat>
8072
8073 * util/grub-install.in: Install gettext .mo files.
8074 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
8075
013d67a1
CPE
80762009-12-05 Carles Pina i Estany <carles@pina.cat>
8077
8078 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
8079 grub_dprintf.
8080
fb954db0
RM
80812009-12-05 Robert Millan <rmh.grub@aybabtu.com>
8082
8083 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
8084 non-firmware-dependant one in realmode.S takes precedence.
8085
6b8474f8
RM
80862009-12-04 Robert Millan <rmh.grub@aybabtu.com>
8087
8088 * commands/halt.c: Replace misc arch-specific headers with
8089 `<grub/misc.h>'.
8090 * commands/reboot.c: Likewise.
8091 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
8092 `<grub/misc.h>'.
8093 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
8094 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
8095 (kernel_img_SOURCES): ... to here.
8096
8097 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
8098 * include/grub/i386/pc/init.h: Likewise.
8099 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8100 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8101
8102 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
8103
8104 * include/grub/i386/halt.h: Remove.
8105 * include/grub/i386/reboot.h: Likewise.
8106
8107 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
8108
4b2e6ca2
DM
81092009-12-03 David S. Miller <davem@sunset.davemloft.net>
8110
8111 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
8112 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
8113 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
8114 "progname.h"
8115 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8116 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8117 (usage): Add missing comma in printf.
8118
5239348f
RM
81192009-12-02 Robert Millan <rmh.grub@aybabtu.com>
8120
8121 Use the same reboot approach on i386 coreboot and qemu as we do on
8122 BIOS.
8123
8124 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
8125 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
8126 * kern/i386/reboot.c: Remove.
8127 * include/grub/i386/reboot.h (grub_reboot): Export function.
8128 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
8129 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
8130 0xf000:0xfff0 instead of 0xffff:0x0000.
8131 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
8132 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
8133
ef34cbd4
RM
81342009-11-30 Robert Millan <rmh.grub@aybabtu.com>
8135
8136 Fix $srcdir != $objdir build.
8137
8138 * Makefile.in (po/%.po): Rewrite as ...
8139 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
8140
dc9837ea
ST
81412009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
8142
8143 Fix GNU/Hurd grub-install crash.
8144 * util/grub-probe.c (probe): Try to access `path' only when it is not
8145 NULL.
8146
2f857f98
VS
81472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 Correct module naming.
8150
8151 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8152 (GRUB_MOD_INIT(efi_uga)): ... to this
8153 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8154 (GRUB_MOD_FINI(efi_uga)): ... to this
8155 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8156 (GRUB_MOD_INIT(efi_gop)): ... to this
8157 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8158 (GRUB_MOD_FINI(efi_gop)): ... to this
8159
c5448046
RM
81602009-11-28 Robert Millan <rmh.grub@aybabtu.com>
8161
8162 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
8163 translatable.
8164 (usage): Translate `arg' strings using gettext().
8165 Thanks to Jordi Mallach for the suggestion.
8166
c85184ad
VS
81672009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 GOP support. Based on patch from Bean
8170 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8171
8172 * video/efi_gop.c: New file.
8173 * include/grub/efi/graphics_output.h: Likewise.
8174 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
8175 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8176 variables.
8177 * conf/x86_64-efi.rmk: Likewise.
8178
8a4c48d8
VS
81792009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 Rename efi_fb to efi_uga.
8182
8183 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8184 'efi_uga.mod'.
8185 (efi_fb_mod_SOURCES): Rename this ...
8186 (efi_uga_mod_SOURCES): ... to this.
8187 (efi_fb_mod_CFLAGS): Rename this ...
8188 (efi_uga_mod_CFLAGS): ... to this.
8189 (efi_fb_mod_LDFLAGS): Rename this ...
8190 (efi_uga_mod_LDFLAGS): ... to this.
8191 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8192 'efi_uga.mod'.
8193 (efi_fb_mod_SOURCES): Rename this ...
8194 (efi_uga_mod_SOURCES): ... to this.
8195 (efi_fb_mod_CFLAGS): Rename this ...
8196 (efi_uga_mod_CFLAGS): ... to this.
8197 (efi_fb_mod_LDFLAGS): Rename this ...
8198 (efi_uga_mod_LDFLAGS): ... to this.
8199 * video/efi_fb.c: Move this ...
8200 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
8201
fb6c1a7b
RM
82022009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8203
8204 * po/README: New file. Explain our PO file workflow.
8205
3bc7896c
RM
82062009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8207
8208 * po/ChangeLog: Remove. Move relevant entries back to ...
8209 * ChangeLog: ... here.
8210 * po/ca.po: Remove (now handled by TLP).
8211 * po/id.po: Likewise.
8212 * po/zh_CN.po: Likewise.
8213 * Makefile.in (LINGUAS): Initialize in a way that supports
8214 empty set.
8215
9ed4841d
RM
82162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8217
8218 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
8219 reliing on po/LINGUAS.
8220 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
8221 (po/%.po): ... this.
8222
0ad46fd7 82232009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
8224
8225 * util/i386/efi/grub-mkimage.c: Include "progname.h".
8226 (main): Use `program_name' instead of nonexistent `progname'.
8227
e30dd392
FZ
82282009-11-26 Felix Zielcke <fzielcke@z-51.de>
8229
8230 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8231 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
8232
7656de4f
RM
82332009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8234
8235 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
8236 commit.
8237 * conf/i386-efi.rmk: Likewise.
8238 * conf/i386-ieee1275.rmk: Likewise.
8239 * conf/powerpc-ieee1275.rmk: Likewise.
8240 * conf/sparc64-ieee1275.rmk: Likewise.
8241 * conf/x86_64-efi.rmk: Likewise.
8242
db77c4d4
FZ
82432009-11-26 Felix Zielcke <fzielcke@z-51.de>
8244
8245 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
8246
a755bb04
FZ
82472009-11-26 Felix Zielcke <fzielcke@z-51.de>
8248
8249 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
8250
8a4c07fd
RM
82512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8252
8253 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
8254 (grub_mkdevicemap_SOURCES): New variable.
8255 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
8256 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
8257 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
8258 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
8259 (grub_mkdevicemap_SOURCES): Remove.
8260 * conf/i386-efi.rmk: Likewise.
8261 * conf/i386-ieee1275.rmk: Likewise.
8262 * conf/i386-pc.rmk: Likewise.
8263 * conf/powerpc-ieee1275.rmk: Likewise.
8264 * conf/sparc64-ieee1275.rmk: Likewise.
8265 * conf/x86_64-efi.rmk: Likewise.
8266 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
8267 (usage): Fix strings to use `program_name'.
8268 (main): Initialize gettext.
8269 * util/grub-editenv.c: Likewise.
8270 * util/grub-emu.c: Likewise.
8271 * util/grub-fstest.c: Likewise.
8272 * util/grub-mkdevicemap.c: Likewise.
8273 * util/grub-mkfont.c: Likewise.
8274 * util/grub-mkrelpath.c: Likewise.
8275 * util/grub-pe2elf.c: Likewise.
8276 * util/grub-probe.c: Likewise.
8277 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
8278 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8279 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8280
8281 * util/misc.c: Include `"progname.h"'.
8282 (progname): Remove variable.
8283 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
8284
6f61ed55
FZ
82852009-11-25 Felix Zielcke <fzielcke@z-51.de>
8286
8287 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
8288 printf and print a newline after the menuentry header line.
8289 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8290
f022876b
FZ
82912009-11-25 Felix Zielcke <fzielcke@z-51.de>
8292
8293 autoconf >= 2.60 support $(localedir).
8294
8295 * INSTALL: Note that autoconf 2.60 is required.
8296 * configure.ac (AC_PREREQ): Bump to 2.60.
8297 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
8298 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8299
6717926e
YB
83002009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
8301
8302 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
8303 aclocal is run.
8304
08806a54
RM
83052009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8306
8307 * normal/main.c (grub_normal_read_line): Fix off-by-one
8308 buffer overflow.
8309
13b33fba
RM
83102009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8311
8312 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
8313 "parser.grub" in grub_command_execute() call.
8314
4a8572e9
CPE
83152009-11-24 Carles Pina i Estany <carles@pina.cat>
8316
8317 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
8318 * conf/i386-efi.rmk: Likewise.
8319 * conf/i386-ieee1275.rmk: Likewise.
8320 * conf/i386-pc.rmk: Likewise.
8321 * conf/powerpc-ieee1275.rmk: Likewise.
8322 * conf/sparc64-ieee1275.rmk: Likewise.
8323 * conf/x86_64-efi.rmk: Likewise.
8324 * gettext/gettex.c: Include <grub/i18n.h>.
8325 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
8326 here ...
8327 * include/grub/i18n.h: ... to here
8328 * include/grub/i18n.h: ... to here.
8329 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 8330 (grub_gettext_dummy): Move above user.
4a8572e9 8331
bee48093
FZ
83322009-11-24 Felix Zielcke <fzielcke@z-51.de>
8333
8334 * util/Makefile.in (install-local): Convert a `for' into a normal
8335 shell expansion.
8336
a031e91c
RM
83372009-11-24 Robert Millan <rmh.grub@aybabtu.com>
8338
8339 * autogen.sh: Add automake call.
8340 * config.guess: Remove.
8341 * config.sub: Likewise.
8342 * install-sh: Likewise.
8343
26bec39d
FZ
83442009-11-24 Felix Zielcke <fzielcke@z-51.de>
8345
8346 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
8347
8e2532fd
FZ
83482009-11-24 Felix Zielcke <fzielcke@z-51.de>
8349
8350 * util/Makefile.in (install-local): Convert a make `$(foreach)'
8351 function to a normal shell `for'.
8352
fefa1b7d
FZ
83532009-11-24 Felix Zielcke <fzielcke@z-51.de>
8354
8355 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8356
4501250b
FZ
83572009-11-24 Felix Zielcke <fzielcke@z-51.de>
8358
8359 * util/grub-mkrelpath.c: New file.
8360 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
8361 (grub_mkrelpath_SOURCES): New variable.
8362 * include/grub/util/misc.h: New function prototype.
8363 * util/misc.c (make_system_path_relative_to_its_root): New function.
8364
8365 * util/grub-mkconfig_lib.in (bindir): New variable.
8366 (grub_mkrelpath): Likewise.
8367 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
8368
8369 * util/probe.c (probe): Make the file path relative to its root.
8370 Change a info message to use the GRUB path. Enable again the
8371 check if we can read the file with GRUB facilities.
8372
8373 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
8374 to its root.
8375
11d9778b
FZ
83762009-11-24 Felix Zielcke <fzielcke@z-51.de>
8377
8378 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
8379 platform.
8380
4465287d
FZ
83812009-11-24 Felix Zielcke <fzielcke@z-51.de>
8382
8383 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
8384 strncmp().
8385
62b47f22
FZ
83862009-11-24 Felix Zielcke <fzielcke@z-51.de>
8387
8388 * util/getroot.c (grub_util_is_dmraid): New function.
8389 (grub_util_get_dev_abstraction): Treat dmraid and multipath
8390 devices as normal ones, not as LVM.
8391
1eafb9b9 83922009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
8393
8394 * conf/common.rmk: Add grub-gettext_lib target and updates
8395 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
8396 LDFLAGS.
8397 * gettext/gettext.c: New file. (Reads mo files).
8398 * include/grub/file.h (grub_file_pread): New prototype.
8399 * include/grub/i18n.h (_): New prototype.
8400 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
8401 prototypes.
8402 * kern/misc.c (grub_gettext_dummy): New function.
8403 * normal/menu_text.c: Include <grub/i18n.h>.
8404 * normal/menu_text.c (print_timeout): Gettexttize string.
8405 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
8406 * po/POTFILES: Add `normal/menu_text.c'.
8407 * po/ca.po: Add new translations.
c3ea6bd4
CPE
8408 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8409 gettext module and defines locale_dir and lang in grub.cfg.
8410 * NEWS: Add gettext support.
8411
0fdb2568
RM
84122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8413
8414 * util/hostdisk.c: Include `<grub/i18n.h>'.
8415 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8416 (make_device_name): Rewrite using asprintf.
8417 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8418 (find_system_device): If a device is not found, generate one just
8419 by reusing the OS path name.
8420 (read_device_map): Make it permissible for device.map not to exist.
8421
f515aa62
RM
84222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8423
8424 * script/sh/execute.c: Move from here ...
8425 * script/execute.c: ... to here. Update all users.
8426 * script/sh/function.c: Move from here ...
8427 * script/function.c: ... to here. Update all users.
8428 * script/sh/lexer.c: Move from here ...
8429 * script/lexer.c: ... to here. Update all users.
8430 * script/sh/main.c: Move from here ...
8431 * script/main.c: ... to here. Update all users.
8432 * script/sh/parser.y: Move from here ...
8433 * script/parser.y: ... to here. Update all users.
8434 * script/sh/script.c: Move from here ...
8435 * script/script.c: ... to here. Update all users.
8436
f84b481b
RM
84372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8438
8439 * configure.ac: Detect all `emu' platforms. Define
8440 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8441 --enable-grub-emu logic. Disable include/grub/machine
8442 symlink on `emu' platforms.
8443
8444 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8445 * gensymlist.sh.in: Likewise.
8446
8447 * include/grub/i386/coreboot/machine.h: Remove file.
8448 * include/grub/i386/efi/machine.h: Likewise.
8449 * include/grub/i386/ieee1275/machine.h: Likewise.
8450 * include/grub/i386/pc/machine.h: Likewise.
8451 * include/grub/i386/qemu/machine.h: Likewise.
8452 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8453 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8454 * include/grub/x86_64/efi/machine.h: Likewise.
8455
8456 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8457 * commands/halt.c: Likewise.
8458 * commands/reboot.c: Likewise.
8459 * include/grub/autoefi.h: Likewise.
8460 * include/grub/i386/at_keyboard.h: Likewise.
8461 * include/grub/i386/kernel.h: Likewise.
8462 * include/grub/i386/loader.h: Likewise.
8463 * include/grub/i386/pc/memory.h: Likewise.
8464 * kern/dl.c: Likewise.
8465 * kern/i386/coreboot/init.c: Likewise.
8466 * loader/i386/bsd.c: Likewise.
8467 * loader/i386/linux.c: Likewise.
8468 * loader/multiboot_loader.c: Likewise.
8469 * term/i386/pc/serial.c: Likewise.
8470 * term/usb_keyboard.c: Likewise.
8471
8472 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8473 `<grub/machine/machine.h>'
8474 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8475 * util/misc.c: Remove `<grub/machine/machine.h>' and
8476 `<grub/machine/time.h>'.
8477
8478 * Makefile.in (enable_grub_emu): Remove variable.
8479 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8480
8481 * conf/any-emu.rmk: New file.
8482 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8483 (grub_emu_init.c): Move from here ...
8484 * conf/any-emu.rmk: ... to here.
8485
8486 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8487 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8488 * conf/any-emu.rmk: ... to here.
8489
4efeab03
RM
84902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8491
8492 * include/grub/parser.h (grub_parser_register): Document need
8493 of `name' parameter.
8494 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8495 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8496 "sh" to "grub".
8497
ea1dd8bf
RM
84982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8499
8500 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8501 `$(XGETTEXT)'.
8502 * include/grub/i18n.h (N_): New macro.
8503 * util/mkisofs/mkisofs.h: Likewise.
8504 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8505 around N_().
8506 (usage): Use gettext() to translate help strings when printing them.
8507
0c140626
RM
85082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8509
8510 Based on patch from Bean
8511 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8512
8513 * video/efi_fb.c: New file.
8514 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8515 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8516 variables.
8517 * conf/x86_64-efi.rmk: Likewise.
8518
87d58298
RM
85192009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8520
8521 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8522 * util/i386/pc/grub-setup.c: Likewise.
8523
994cc3a3
ST
85242009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8525
8526 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8527 <hurd/fs.h>
8528 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8529 file_get_storage_info to implement grub_guess_root_device.
8530
26a61d6a
FZ
85312009-11-21 Felix Zielcke <fzielcke@z-51.de>
8532
8533 * Makefile.in (target): Use make's builtin $(shell) function
8534 instead of calling directly $(SHELL) to create the locale directories,
8535 inside the $(foreach) function.
8536
74ff1dd5
FZ
85372009-11-21 Felix Zielcke <fzielcke@z-51.de>
8538
8539 * util/grub-mkrescue.in: Print an error and usage if output option
8540 has not been given.
8541
0b787d0e
FZ
85422009-11-21 Felix Zielcke <fzielcke@z-51.de>
8543
8544 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8545 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8546 root and /boot are on different devices.
8547
1164b270
RM
85482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8549
8550 Fix build for srcdir != objdir.
8551
8552 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8553 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8554 $(srcdir).
8555 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8556 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8557 reference for input.
8558
13774a2f
RM
85592009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8560
8561 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8562 or hardlinking it). Remove -J option, Joliet is not compatible with
8563 multiple source directories.
8564
efda854e
RM
85652009-11-21 Carles Pina i Estany <carles@pina.cat>
85662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8567
8568 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8569 (process_input_dir): New function. Process an arbitrary input
8570 directory.
8571 Misc adjustments to support both "override mode" and system-wide mode.
8572
6c09890c
FZ
85732009-11-20 Felix Zielcke <fzielcke@z-51.de>
8574
8575 * configure.ac (UNIFONT_BDF): Rename to ...
8576 (FONT_SOURCE): ... this. Update all users.
8577
a797824f
FZ
85782009-11-20 Felix Zielcke <fzielcke@z-51.de>
8579
8580 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8581 to the list of unifont files to look for.
8582
cd4f42b0
RM
85832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8584
8585 Patch from Joe Auricchio <jauricchio@gmail.com>
8586 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8587 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8588 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8589
393c783d
FZ
85902009-11-19 Felix Zielcke <fzielcke@z-51.de>
8591
8592 * Makefile.in (install-local): Add a missing backslash.
8593
b2f1e327
FZ
85942009-11-19 Felix Zielcke <fzielcke@z-51.de>
8595
8596 * include/grub/x86_64/io.h: New file.
8597
f577f7a0
RM
85982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8599
8600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8601 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8602 Include `"progname.h"'.
8603 (main): Initialize gettext.
8604 * util/i386/pc/grub-setup.c: Gettexttize.
8605 * util/i386/pc/grub-mkimage.c: Likewise.
8606
8607 * Makefile.in (po/*.po): Redefine as ...
8608 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8609
3bc7896c
RM
8610 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8611
c37943b6
RM
86122009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8613
8614 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8615 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8616 (program_name): Remove.
8617 (main): Initialize gettext support.
6323f705
RM
8618 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8619 Include `<libintl.h>'.
8620 (_): New macro.
c37943b6
RM
8621
8622 * util/mkisofs/eltorito.c: Gettexttize.
8623 * util/mkisofs/joliet.c: Likewise.
8624 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
8625 * util/mkisofs/multi.c: Likewise.
8626 * util/mkisofs/rock.c: Likewise.
8627 * util/mkisofs/tree.c: Likewise.
8628 * util/mkisofs/write.c: Likewise.
8629
3bc7896c
RM
8630 * po/POTFILES: Update with new files.
8631
5ce77c6e
RM
86322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8633
8634 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8635 * util/mkisofs/iso9660.h: Likewise.
8636 * util/mkisofs/joliet.c: Likewise.
8637 * util/mkisofs/mkisofs.c: Likewise.
8638 * util/mkisofs/mkisofs.h: Likewise.
8639 * util/mkisofs/rock.c: Likewise.
8640 * util/mkisofs/tree.c: Likewise.
8641 * util/mkisofs/write.c: Likewise.
8642
8643 * util/mkisofs/eltorito.c (rcsid): Remove.
8644 * util/mkisofs/hash.c: Likewise.
8645 * util/mkisofs/joliet.c: Likewise.
8646 * util/mkisofs/name.c: Likewise.
8647 * util/mkisofs/rock.c: Likewise.
8648 * util/mkisofs/tree.c: Likewise.
8649 * util/mkisofs/write.c: Likewise.
8650
1dabbc77
RM
86512009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8652
8653 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8654 instead of static allocation.
8655 * util/mkisofs/match.h: Likewise.
8656
633877cb
RM
86572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8658
3bc7896c
RM
8659 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8660 and `util/grub.d/10_linux.in'.
633877cb
RM
8661 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8662 translatable Shell files.
8663
af1c0c85
RM
86642009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8665
8666 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8667
769ae37b
RM
86682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8669
8670 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 8671 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
8672 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8673 Add gettext initialization.
8674 (kfreebsd_entry): Make menuentry output translatable.
8675
86762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8677
8678 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8679 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8680 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8681 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8682 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 8683 * po/LINGUAS: New file.
769ae37b
RM
8684
86852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8686
8687 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8688 other things).
8689 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8690 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8691 bindtextdomain() calls for gettext initialization.
8692
86932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8694
8695 * gnulib/progname.c: New file (imported from Gnulib).
8696 * gnulib/progname.h: Likewise.
8697 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8698 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8699 (usage): Replace `progname' with `program_name'.
8700 (main): Use set_program_name() for program name initialization.
8701
87022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8703
8704 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8705 from here ...
8706 * Makefile.in (CPPFLAGS): ... to here.
8707
87082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8709
8710 * aclocal.m4: Move from here ...
8711 * acinclude.m4: ... to here.
8712 * autogen.sh: Add call to `aclocal'.
8713 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8714
87152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8716
8717 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8718 (LINGUAS): New variable.
8719 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8720 (install-local): Install MO files.
8721 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8722 * include/grub/i18n.h: New file.
3bc7896c
RM
8723 * po/POTFILES: New file.
8724 * po/ca.po: New file.
769ae37b
RM
8725 * util/grub.d/10_linux.in (bindir): New variable.
8726 Add gettext initialization.
8727 (linux_entry): Make menuentry output translatable.
8728 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8729 (usage): Make --help output translatable.
8730 (main): Initialize gettext.
8731
02c0a6ad
RM
87322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8733
8734 * import_gcry.py: New file (written by Vladimir with minor
8735 adjustments).
8736 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8737 ciphers.
8738 * INSTALL: Document that Python is required for bootstrap.
8739
87402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8741
8742 Import ciphers from libgcrypt 1.4.4.
8743
8744 * lib/libgcrypt/cipher/ChangeLog
8745 * lib/libgcrypt/cipher/ac.c
8746 * lib/libgcrypt/cipher/arcfour.c
8747 * lib/libgcrypt/cipher/bithelp.h
8748 * lib/libgcrypt/cipher/blowfish.c
8749 * lib/libgcrypt/cipher/camellia-glue.c
8750 * lib/libgcrypt/cipher/camellia.c
8751 * lib/libgcrypt/cipher/camellia.h
8752 * lib/libgcrypt/cipher/cast5.c
8753 * lib/libgcrypt/cipher/cipher.c
8754 * lib/libgcrypt/cipher/crc.c
8755 * lib/libgcrypt/cipher/des.c
8756 * lib/libgcrypt/cipher/dsa.c
8757 * lib/libgcrypt/cipher/ecc.c
8758 * lib/libgcrypt/cipher/elgamal.c
8759 * lib/libgcrypt/cipher/hash-common.c
8760 * lib/libgcrypt/cipher/hash-common.h
8761 * lib/libgcrypt/cipher/hmac-tests.c
8762 * lib/libgcrypt/cipher/md.c
8763 * lib/libgcrypt/cipher/md4.c
8764 * lib/libgcrypt/cipher/md5.c
8765 * lib/libgcrypt/cipher/primegen.c
8766 * lib/libgcrypt/cipher/pubkey.c
8767 * lib/libgcrypt/cipher/rfc2268.c
8768 * lib/libgcrypt/cipher/rijndael-tables.h
8769 * lib/libgcrypt/cipher/rijndael.c
8770 * lib/libgcrypt/cipher/rmd.h
8771 * lib/libgcrypt/cipher/rmd160.c
8772 * lib/libgcrypt/cipher/rsa.c
8773 * lib/libgcrypt/cipher/seed.c
8774 * lib/libgcrypt/cipher/serpent.c
8775 * lib/libgcrypt/cipher/sha1.c
8776 * lib/libgcrypt/cipher/sha256.c
8777 * lib/libgcrypt/cipher/sha512.c
8778 * lib/libgcrypt/cipher/tiger.c
8779 * lib/libgcrypt/cipher/twofish.c
8780 * lib/libgcrypt/cipher/whirlpool.c
8781
af2f93ac
RM
87822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8783
8784 Fix build for systems without error().
8785
8786 * gnulib/error.c: New file (imported from Gnulib).
8787 * gnulib/error.h: Likewise.
8788 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8789 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8790 (this variable is now used by error()).
8791
73fb3dd5
FZ
87922009-11-16 Felix Zielcke <fzielcke@z-51.de>
8793
814f5e96
FZ
8794 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8795 instead of relying that char is signed.
73fb3dd5 8796
a691ca33
VS
87972009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8800 blocksize different from specified.
8801 (grub_pxefs_read): Likewise.
8802
2af8f0f4
FZ
88032009-11-16 Felix Zielcke <fzielcke@z-51.de>
8804
8805 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8806
8807 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8808 (grub_ata_readwrite): Likewise. Update 2 format strings.
8809 (grub_atapi_read): Likewise.
8810
8811 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8812 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8813 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8814 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8815 (ata_mod_LDFLAGS): Move from here ...
8816 * conf/i386.rmk: ... to here ...
8817 * conf/x86_64-efi.rmk: ... and here.
8818 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8819 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8820
83bdecaf
RM
88212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8822
8823 Relicense multiboot.h, with RMS' blessing.
8824
8825 * include/multiboot.h: Change to X11 license.
8826
fd6fd3d7
RM
88272009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8828
8829 Support --version in grub-mkisofs.
8830
8831 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8832 (OPTION_VERSION): New macro.
8833 (ld_options): Recognize --version.
8834 (usage): Move `program_name' from here ...
8835 (program_name): ... to here. Add `static' qualifier.
8836 (main): Recognize `OPTION_VERSION'.
8837
16a88c49
FZ
88382009-11-15 Felix Zielcke <fzielcke@z-51.de>
8839
8840 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8841 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8842
a4158476
RM
88432009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8844
8845 Fix help2man generation for mkisofs.
8846
8847 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8848 (usage): Send output to stdout (rather than stderr).
8849
fc2208b0
RM
88502009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8851
8852 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8853 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8854 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8855 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8856 (bin_SCRIPTS): Add `grub-mkfloppy'.
8857 (grub_mkfloppy_SOURCES): New variable.
8858
8859 * util/grub-mkrescue.in: New file.
8860 * util/i386/pc/grub-mkfloppy.in: New file.
8861
8862 * util/i386/coreboot/grub-mkrescue.in: Remove.
8863 * util/i386/pc/grub-mkrescue.in: Remove.
8864
8d0edf4a
RM
88652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8866
8867 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8868 from here ...
8869 * include/multiboot.h (struct multiboot_header): ... to here. Update
8870 all users.
8871 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8872 from here ...
8873 * include/multiboot.h (struct multiboot_info): ... to here. Update
8874 all users.
8875 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8876 from here ...
8877 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8878 Update all users.
8879 * include/grub/multiboot.h (struct grub_mod_list): Move
8880 from here ...
8881 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8882 Update all users.
8883
a73f5969
RM
88842009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8885
8886 * include/multiboot2.h (multiboot_word): Rename from this ...
8887 (multiboot2_word): ... to this. Update all users.
8888 (multiboot_header): Rename from this ...
8889 (multiboot2_header): ... to this. Update all users.
8890 (multiboot_tag_header): Rename from this ...
8891 (multiboot2_tag_header): ... to this. Update all users.
8892 (multiboot_tag_start): Rename from this ...
8893 (multiboot2_tag_start): ... to this. Update all users.
8894 (multiboot_tag_name): Rename from this ...
8895 (multiboot2_tag_name): ... to this. Update all users.
8896 (multiboot_tag_module): Rename from this ...
8897 (multiboot2_tag_module): ... to this. Update all users.
8898 (multiboot_tag_memory): Rename from this ...
8899 (multiboot2_tag_memory): ... to this. Update all users.
8900 (multiboot_tag_unused): Rename from this ...
8901 (multiboot2_tag_unused): ... to this. Update all users.
8902 (multiboot_tag_end): Rename from this ...
8903 (multiboot2_tag_end): ... to this. Update all users.
8904
1c8927f0
RM
89052009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8906
8907 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8908 this platform we should support Multiboot1 first.
8909
8910 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8911 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8912 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8913
6e1e0d89
RM
89142009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8915
8916 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8917 of write calls (converting them to fwrite() if they aren't already).
8918 (get_torito_desc): Likewise.
8919 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8920
7f2b34d8
RM
89212009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8922
8923 * util/i386/pc/grub-install.in: Move from here ...
8924 * util/grub-install.in: ... to here. Update all users.
8925
c0ef3311
CW
89262009-11-11 Colin Watson <cjwatson@ubuntu.com>
8927
8928 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8929
e1f240ff
RM
89302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8931
8932 Support for El Torito without floppy emulation.
8933
8934 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8935 (init_boot_catalog): Improve error handling.
8936 (get_torito_desc): Don't use floppy emulation unless requested by
8937 user. Patch boot information table when requested via
8938 `-boot-info-table'.
8939 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8940 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8941 (use_boot_info_table): New variables.
8942 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8943 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8944 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8945 `--eltorito-emul-floppy'.
8946 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8947 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8948 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8949 (use_boot_info_table, get_731): New prototypes.
8950 * util/mkisofs/write.c (get_731): New function.
8951
af7d4de5
FZ
89522009-11-11 Felix Zielcke <fzielcke@z-51.de>
8953
8954 Fix the generation of the man page.
8955
8956 * util/pc/i386/grub-install.in: Source
8957 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8958
2c55dbc0
RM
89592009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8960
8961 Large file support for grub-mkisofs.
8962
8963 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8964 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8965 (session_start): Upgrade type to `uint64_t'. Update all users.
8966 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8967 (struct directory_entry): Upgrade type of `starting_block' and
8968 `size' to `uint64_t'. Update all users.
8969 (struct deferred): Remove unused structure.
8970 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8971 Update all users.
8972 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8973 file is larger than `UINT32_MAX'.
8974 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8975 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8976 return value.
8977 (struct deferred_write): Upgrade type of `extent' and `size' to
8978 `uint64_t'. Update all users.
8979 (last_extent_written): Upgrade type to `uint64_t'. Update all
8980 users.
8981 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8982 Update all users. Upgrade type of `remain' to `int64_t' and
8983 `use' to `size_t'. Use error() to handle fread() errors.
8984 (write_files): Rely on write_one_file() rather than calling
8985 xfwrite() directly.
8986
6a9cead5
FZ
89872009-11-09 Felix Zielcke <fzielcke@z-51.de>
8988
8989 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8990
4825d790
RM
89912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8992
8993 * util/mkisofs/fnmatch.c: Remove.
8994 * util/mkisofs/getopt1.c: Likewise.
8995 * util/mkisofs/getopt.c: Likewise.
8996 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8997 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8998 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8999 `gnulib/getopt1.c' and `gnulib/getopt.c'.
9000 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
9001
9002 * configure.ac: Detect `mingw32msvc' host_os.
9003 Check for lstat(), getuid() and getgid().
9004
9005 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
9006 instances of `u_char' with `uint8_t'.
9007
9008 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
9009 [!HAVE_GETUID] (getuid): New function (stub).
9010 [!HAVE_GETGID] (getgid): Likewise.
9011 [!HAVE_LSTAT] (lstat): Likewise.
9012 [!S_IROTH] (S_IROTH): New macro (dummy).
9013 [!S_IRGRP] (S_IRGRP): Likewise.
9014
84b860d8
RM
90152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9016
9017 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
9018 conditional expression).
9019
66e9b712
RM
90202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9021
9022 Import from Gnulib.
9023
9024 * gnulib/fnmatch.c: New file.
9025 * gnulib/fnmatch.h: Likewise.
9026 * gnulib/fnmatch_loop.c: Likewise.
9027 * gnulib/getopt.c: Likewise.
9028 * gnulib/getopt.h: Likewise.
9029 * gnulib/getopt1.c: Likewise.
9030 * gnulib/getopt_int.h: Likewise.
9031 * gnulib/gettext.h: Likewise.
9032
34f4a5b0
RM
90332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9034
9035 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
9036 * normal/handler.c (read_handler_list): Likewise.
9037
ac451143
RM
90382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9039
9040 Misc cleanup.
9041
9042 * kern/command.c (grub_register_command_prio): Use
9043 grub_zalloc() instead of explicitly zeroing data.
9044 * kern/list.c: Include `<grub/mm.h>'.
9045 (grub_named_list_find): Replace `0' with `NULL'.
9046 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
9047 (fs_module_list): Change type to `grub_named_list_t'. Update all
9048 users.
9049 * normal/dyncmd.c (read_command_list): Add space between function
9050 call and parenthesis.
9051 * normal/handler.c (read_handler_list): Likewise.
9052
4089b167
RM
90532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9054
9055 * normal/auth.c (punishment_delay): Moved from here ...
9056 (grub_auth_strcmp): ... to here (inside function).
9057
325f5037
RM
90582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9059
9060 * include/grub/list.h (struct grub_named_list): Remove `const'
9061 qualifier from `name'.
9062 (struct grub_prio_list): Likewise.
9063
7aea29a3
RM
90642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9065
9066 * normal/auth.c: Include `<grub/time.h>'.
9067 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
9068
3fd6f044
RM
90692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9070
9071 * normal/auth.c (punishment_delay): New variable.
9072 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
9073 (grub_auth_check_authentication): Punish failed login attempts with
9074 an incremental (2^N) delay.
9075
a4cd68e4
RM
90762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9077
9078 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
9079 path with $(srcdir).
9080
7ad12f43
VS
90812009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
9084
c1129f03
RM
90852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9086
9087 * util/i386/coreboot/grub-mkrescue.in: New file.
9088 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
9089 variables.
9090
9091 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
9092 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
9093 * configure.ac: Add header and function checks to satisfy grub-mkisofs
9094 requirements.
9095 * util/mkisofs/defaults.h: New file.
9096 * util/mkisofs/eltorito.c: Likewise.
9097 * util/mkisofs/exclude.h: Likewise.
9098 * util/mkisofs/fnmatch.c: Likewise.
9099 * util/mkisofs/getopt.c: Likewise.
9100 * util/mkisofs/getopt1.c: Likewise.
9101 * util/mkisofs/hash.c: Likewise.
9102 * util/mkisofs/include/fctldefs.h: Likewise.
9103 * util/mkisofs/include/mconfig.h: Likewise.
9104 * util/mkisofs/include/prototyp.h: Likewise.
9105 * util/mkisofs/include/statdefs.h: Likewise.
9106 * util/mkisofs/iso9660.h: Likewise.
9107 * util/mkisofs/joliet.c: Likewise.
9108 * util/mkisofs/match.c: Likewise.
9109 * util/mkisofs/match.h: Likewise.
9110 * util/mkisofs/mkisofs.c: Likewise.
9111 * util/mkisofs/mkisofs.h: Likewise.
9112 * util/mkisofs/multi.c: Likewise.
9113 * util/mkisofs/name.c: Likewise.
9114 * util/mkisofs/rock.c: Likewise.
9115 * util/mkisofs/tree.c: Likewise.
9116 * util/mkisofs/write.c: Likewise.
9117
ec8bb77d
VS
91182009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
9121 being insecure.
9122
3716b12c
RM
91232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9124
9125 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
9126 `grub-mkimage' (and use $0 when possible).
9127
b97b7b91
RM
91282009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9129
9130 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
9131 error message for excessively large memory map.
9132
04114812
RM
91332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9134
9135 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
9136 executable bit.
9137
e4eb2373
RM
91382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9139
9140 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
9141 message for coreboot users.
9142
c926e1d5 91432009-11-07 Robert Millan <rmh.grub@aybabtu.com>
9144
9145 Fix build with GNU gold.
9146
9147 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
9148 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
9149 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
9150 link addresses.
9151 * aclocal.m4: Likewise.
9152
86e5b1db 91532009-11-04 Felix Zielcke <fzielcke@z-51.de>
9154
9155 * configure.ac (AC_PREREQ): Bump to 2.59d.
9156 * INSTALL: Make it more clear when Autoconf and Ruby are
9157 needed and when to run `./autogen.sh'.
9158
246cd78f 91592009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9160
9161 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
9162 OSes.
9163
4f9dfb37 91642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9165
9166 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
9167
b82bd5e1 91682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9169
9170 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
9171 giving it to GNU Mach.
9172
ff1a9bca 91732009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9174
9175 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
9176 GNU partition number to get internal GRUB partition number.
9177
61697d9c 91782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9179
9180 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
9181 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
9182
a50569e1 91832009-11-01 Robert Millan <rmh.grub@aybabtu.com>
9184
9185 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
9186 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
9187 case.
9188
5b153867 91892009-11-01 Felix Zielcke <fzielcke@z-51.de>
9190
9191 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
9192
d9e2cd70 91932009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9194
9195 Fix build problem.
9196
9197 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
9198 `-isystem=$(srcdir)/include'.
9199
805111a4 92002009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9201
9202 * util/i386/pc/grub-install.in: Remove hint that device.map should be
9203 checked (grub-install doesn't currently rely on it).
9204
fa6e945f 92052009-10-29 Robert Millan <rmh.grub@aybabtu.com>
9206
9207 Revert SVN r2660.
9208
9209 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
9210 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9211 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
9212 * conf/i386-ieee1275.rmk: Likewise.
9213 * conf/i386-pc.rmk: Likewise.
9214 * conf/powerpc-ieee1275.rmk: Likewise.
9215 * conf/sparc64-ieee1275.rmk: Likewise.
9216 * conf/x86_64-efi.rmk: Likewise.
9217
cee15086 92182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9219
9220 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
9221
95b9239e 92222009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9223
9224 * include/grub/misc.h: Stop checking for APPLE_CC.
9225
2ed19dfd 92262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9227
9228 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
9229 doesn't cause an infinite call loop.
9230
fdcdde19 92312009-10-28 Felix Zielcke <fzielcke@z-51.de>
9232
9233 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
9234 strings.
9235
cefabfe1 92362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9237
9238 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
9239 variable.
9240 * Makefile.in: Likewise.
9241
ed96ab6d 92422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9243
9244 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
9245
0579b753 92462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9247
9248 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
9249
478df409 92502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9251
9252 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
9253
083d1679 92542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9255
9256 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
9257 from here ...
9258 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
9259
5947ae32 92602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9261
9262 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
9263 in $(MAKEINFO) invocation. This makes it clear in output that
9264 errors are being ignored.
9265
94180ff6 92662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9267
9268 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
9269 from here ...
9270 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9271 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
9272 * conf/i386-ieee1275.rmk: Likewise.
9273 * conf/i386-pc.rmk: Likewise.
9274 * conf/powerpc-ieee1275.rmk: Likewise.
9275 * conf/sparc64-ieee1275.rmk: Likewise.
9276 * conf/x86_64-efi.rmk: Likewise.
9277
9031b03a 92782009-10-26 Colin Watson <cjwatson@ubuntu.com>
9279
9280 * util/grub-editenv.c (main): If only a command is given, use
9281 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
9282 (usage): FILENAME is now optional and has a default.
9283
e4f6809b 92842009-10-26 Colin Watson <cjwatson@ubuntu.com>
9285
9286 Improve grub-mkconfig performance when there are several menu
9287 entries on a single filesystem.
9288
9289 * util/grub.d/10_linux.in (linux_entry): Cache the output of
9290 prepare_grub_to_access_device.
9291 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9292 * util/grub.d/30_os-prober.in: Likewise.
9293
67937d4d 92942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9295
9296 * util/grub.d/10_freebsd.in: Remove.
9297 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
9298 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
9299
ee3756cc 93002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9301
5c35048e 9302 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 9303
4dea1c6f 93042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9305
9306 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
9307 grub_util_error() call.
9308
042484d7 93092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9310
9311 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
9312 `reserved_first_sector' member.
9313 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
9314 `reserved_first_sector' to 1.
9315 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
9316 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
9317 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
9318 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
9319 filesystems which begin at first sector.
9320 (options): New option --skip-fs-probe.
9321 (main): Handle --skip-fs-probe and pass it to setup().
9322
d64448a7 93232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9324
9325 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
9326 (memset): Fix function prototype.
9327
508d42ec 93282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
93292009-10-25 Vasily Averin <vvs@parallels.com>
9330
9331 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
9332 `dirent.direntlen == 0'.
9333
b240e30c 93342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9335
9336 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
9337 `cpio'.
9338 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
9339
346e7fbe 93402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9341
9342 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
9343 `__trampoline_setup' and `__ucmpdi2'.
9344 * include/grub/powerpc/libgcc.h: Only export symbols for functions
9345 that libgcc provides.
9346
cdb308b0 93472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9348
9349 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
9350 * include/grub/sparc64/libgcc.h (memset): Likewise.
9351 * include/grub/misc.h (memset, memcmp): New function prototypes.
9352
fb26abc2 93532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9354
9355 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
9356 `cpio'.
9357 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
9358
f6693890 93592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9360
9361 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
9362 * docs/grub.cfg: Compensate for recent change in multiboot
9363 loader (since 2009-08-14 it won't pass filename to payload).
9364 * util/grub.d/10_hurd.in: Likewise.
9365
0933cdc0 93662009-10-21 Felix Zielcke <fzielcke@z-51.de>
9367
9368 * config.guess: Update to latest version from config git
9369 repository.
9370 * config.sub: Likewise.
9371
3b2fe8c2 93722009-10-20 Robert Millan <rmh.grub@aybabtu.com>
9373
9374 Fix build on sparc64.
9375
9376 * configure.ac: Perform checks for libgcc symbols before
9377 adding `-nostdlib' to LDFLAGS.
9378
46695a62 93792009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 Let user specify OpenBSD root device.
9382
9383 * loader/i386/bsd.c (openbsd_root): New variable.
9384 (openbsd_opts): New option 'root'.
9385 (OPENBSD_ROOT_ARG): New macro.
9386 (grub_openbsd_boot): Use 'openbsd_root'.
9387 (grub_cmd_openbsd): Fill 'openbsd_root'.
9388
d2b6b7fc 93892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9390
9391 * NEWS: Misc adjustments.
9392
421bd7ac 93932009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
9396
f1d29d87 93972009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9398
9399 * configure.ac: Bump version to 1.97.
9400
6f3cd880 94012009-10-16 Colin Watson <cjwatson@ubuntu.com>
9402
9403 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
9404 -mno-3dnow on x86 architectures. Some toolchains enable these
9405 features by default, but they rely on registers that aren't enabled
9406 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9407
035f7122 94082009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9409
9410 Make entry text a bit more readable.
9411
9412 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9413
44998e58 94142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9417
cd2851b3 94182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9421 operations.
9422
c6f3b249 94232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * configure.ac: Add missing dollar.
9426
6b5886ba 94272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9430
9431 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9432 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9433 exports.
9434 * include/grub/sparc64/libgcc.h: Likewise. Use
9435 preprocessor conditionals.
9436
e9d66f6d 94372009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9438
9439 * conf/common.rmk (grub-dumpbios): Remove rule.
9440 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9441 * util/grub-dumpbios.in: Remove file.
9442
9155bc17 94432009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9444
9445 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9446 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9447
9448 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9449 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9450 users.
9451
9452 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9453 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9454 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9455 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9456 users.
9457
bf7f7a18 94582009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9459
9460 * term/tparm.c: Switch to GPLv3.
9461
86564c26 94622009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9463
9464 * include/grub/i386/cpuid.h: Add header protection.
9465
5c936493 94662009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9467
9468 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9469
9470 * include/grub/i386/cpuid.h: New file.
9471 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9472 (has_longmode): Rename to ...
9473 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9474 `static' attribute.
9475 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9476 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9477 on a CPU that doesn't implement AMD64 instruction set.
9478
186e7cf2 94792009-10-06 Colin Watson <cjwatson@ubuntu.com>
9480
9481 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9482 that version.texi is rebuilt on version number changes.
9483
83b65c4a 94842009-10-06 Colin Watson <cjwatson@ubuntu.com>
9485
9486 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9487 Fixes bug #27602.
9488
d244281c 94892009-10-06 Colin Watson <cjwatson@ubuntu.com>
9490
9491 * util/i386/pc/grub-install.in: Source
9492 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9493 that the --grub-probe option will work.
9494 * util/sparc64/ieee1275/grub-install.in: Likewise.
9495
da25306d 94962009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9497
9498 * configure.ac: Bump version to 1.97~beta4.
9499
e8ee83c0 95002009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9501
9502 Resync grub-mkdevicemap in x86_64-efi.
9503
9504 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9505 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9506 `util/devicemap.c'.
9507
50dcabcf 95082009-10-01 Colin Watson <cjwatson@ubuntu.com>
9509
9510 * util/grub-editenv.c (create_envblk_file): Write new block with a
9511 .new suffix and then rename it into place, to ensure atomic
9512 creation.
9513
0e51c3a7 95142009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9515
9516 Do not automatically install headers.
9517
9518 * Makefile.in (include_DATA): Remove. Update all users.
9519
31299a95 95202009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9521
9522 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9523 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9524
9525 * util/osdetect.lua: Remove.
9526 * script/lua/lauxlib.c: Likewise.
9527 * script/lua/ldebug.c: Likewise.
9528 * script/lua/grub_main.c: Likewise.
9529 * script/lua/lauxlib.h: Likewise.
9530 * script/lua/ldebug.h: Likewise.
9531 * script/lua/ltablib.c: Likewise.
9532 * script/lua/liolib.c: Likewise.
9533 * script/lua/lstrlib.c: Likewise.
9534 * script/lua/lualib.h: Likewise.
9535 * script/lua/ldo.c: Likewise.
9536 * script/lua/ldump.c: Likewise.
9537 * script/lua/ldo.h: Likewise.
9538 * script/lua/loslib.c: Likewise.
9539 * script/lua/lundump.c: Likewise.
9540 * script/lua/grub_lib.c: Likewise.
9541 * script/lua/ldblib.c: Likewise.
9542 * script/lua/lundump.h: Likewise.
9543 * script/lua/lmem.c: Likewise.
9544 * script/lua/grub_lib.h: Likewise.
9545 * script/lua/lmathlib.c: Likewise.
9546 * script/lua/lstate.c: Likewise.
9547 * script/lua/ltm.c: Likewise.
9548 * script/lua/lvm.c: Likewise.
9549 * script/lua/lmem.h: Likewise.
9550 * script/lua/lstate.h: Likewise.
9551 * script/lua/ltm.h: Likewise.
9552 * script/lua/ltable.c: Likewise.
9553 * script/lua/lvm.h: Likewise.
9554 * script/lua/llex.c: Likewise.
9555 * script/lua/lgc.c: Likewise.
9556 * script/lua/grub_lua.h: Likewise.
9557 * script/lua/loadlib.c: Likewise.
9558 * script/lua/lfunc.c: Likewise.
9559 * script/lua/lopcodes.c: Likewise.
9560 * script/lua/lparser.c: Likewise.
9561 * script/lua/ltable.h: Likewise.
9562 * script/lua/llex.h: Likewise.
9563 * script/lua/lgc.h: Likewise.
9564 * script/lua/lfunc.h: Likewise.
9565 * script/lua/lbaselib.c: Likewise.
9566 * script/lua/lopcodes.h: Likewise.
9567 * script/lua/lparser.h: Likewise.
9568 * script/lua/lzio.c: Likewise.
9569 * script/lua/linit.c: Likewise.
9570 * script/lua/lobject.c: Likewise.
9571 * script/lua/llimits.h: Likewise.
9572 * script/lua/lstring.c: Likewise.
9573 * script/lua/lzio.h: Likewise.
9574 * script/lua/lapi.c: Likewise.
9575 * script/lua/lcode.c: Likewise.
9576 * script/lua/lua.h: Likewise.
9577 * script/lua/lobject.h: Likewise.
9578 * script/lua/lstring.h: Likewise.
9579 * script/lua/lapi.h: Likewise.
9580 * script/lua/lcode.h: Likewise.
9581 * script/lua/luaconf.h: Likewise.
9582
cb8a2c38 95832009-09-26 Colin Watson <cjwatson@ubuntu.com>
9584
9585 * docs/grub.texi (Command-line and menu entry commands): Document
9586 date and echo commands.
9587
6b9b6276 95882009-09-24 Pavel Roskin <proski@gnu.org>
9589
9590 * include/grub/kernel.h (struct grub_module_header): Remove
9591 `grub_module_header_types'. Make `type' unsigned. Make `size'
9592 32-bit on all platforms.
9593 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9594 8-bit field. Use grub_host_to_target32() for `size'.
9595 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9596 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9597 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9598
4e5a02a7 95992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9600
9601 Fix "lost keypress" bug in at_keyboard.
9602
9603 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9604 Checks for readyness of input buffer (without flushing it).
9605 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9606 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9607
c6dcedf6 96082009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9609
9610 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9611 size check within GRUB_MACHINE_PCBIOS section.
9612
74c958b1 96132009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9614
9615 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9616 return value.
9617 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9618 KEYBOARD_ISREADY check.
9619 (grub_at_keyboard_checkkey): Rename to ...
9620 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9621 Remove gratuitous cast.
9622
ff420223 96232009-09-23 Colin Watson <cjwatson@ubuntu.com>
9624
9625 * configure.ac: Call AC_PROG_MKDIR_P.
9626 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9627 version.texi in $(builddir) rather than $(srcdir).
9628 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9629 to makeinfo's @include search path.
9630
d96875df 96312009-09-23 Felix Zielcke <fzielcke@z-51.de>
9632
9633 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9634
9b3f8365 96352009-09-23 Felix Zielcke <fzielcke@z-51.de>
9636
9637 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9638 for `*.dpkg-new'.
9639
c44c90db 96402009-09-21 Colin Watson <cjwatson@ubuntu.com>
9641
9642 Build info documentation. Some code borrowed from Automake.
9643
9644 * configure.ac: Check for makeinfo.
9645 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9646 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9647 docs/version.texi.
9648 (MOSTLYCLEANFILES): Add vti.tmp.
9649 (docs/version.texi, docs/stamp-vti): Update automatically.
9650 (docs/grub.info): Build info documentation. Use --force and ignore
9651 errors for now.
9652 (all-local): Add $(INFOS).
9653 (install-local): Install info files.
9654 (uninstall): Uninstall info files.
9655 * docs/version.texi: Remove from revision control. This file is
9656 automatically generated on build now.
9657 * gendistlist.sh: Add `*.info'.
9658
e0b37bb5 96592009-09-21 Felix Zielcke <fzielcke@z-51.de>
9660
9661 * kern/term.c: Fix indentation.
9662
5a78865b 96632009-09-21 Felix Zielcke <fzielcke@z-51.de>
9664
9665 * util/hostdisk.c: Fix a comment.
9666
dace7e8a 96672009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9668
9669 Fix regression introduced in r2539.
9670
9671 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9672 to 0xA1.
9673
a83d079b 96742009-09-19 Colin Watson <cjwatson@ubuntu.com>
9675
9676 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 9677 os-prober. Under normal operation, it does not print anything to
9678 stderr; if it does, we need to debug it, and throwing away stderr
9679 makes that excessively difficult.
a83d079b 9680
be94a509 96812009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9684
63f745e8 96852009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9686
9687 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9688 AC_LANG_PROGRAM from autoconf.
9689 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9690 prototypes (fixes warning).
9691
9692 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9693 `--disable-werror' was used.
9694
bbb2a70f 96952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9696
9697 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9698 uninitialized `lastaddr'.
9699
77c24f1d 97002009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9701
0f0b8c87 9702 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 9703
07197f23 97042009-09-14 Colin Watson <cjwatson@ubuntu.com>
9705
9706 * commands/test.c (get_fileinfo): Return immediately if
9707 grub_fs_probe fails.
9708
dabf1798 97092009-09-14 José Martínez <xosemp@gmail.com>
9710
9711 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9712
d52109a7 97132009-09-14 Colin Watson <cjwatson@ubuntu.com>
9714
9715 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9716 output.
9717
56532179 97182009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9719
9720 * configure.ac: Remove --enable-grub-pe2elf. Only build
9721 grub-pe2elf when needed by the build system itself.
9722 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9723
8ef070f5 97242009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9725
9726 * configure.ac: Bump version to 1.97~beta3.
9727 * docs/version.texi: Likewise.
9728
61229557 97292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9730
9731 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9732 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9733 from here ...
9734 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9735 (grub_linux_setup_video): ... to here (with some adjustments).
9736
5c9f8d84 97372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9738
9739 Fix memory corruption issue (spotted by Colin Watson).
9740
9741 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9742 causing returned size to be stored in an incorrect memory location.
9743 Fix use of uninitialized value when storing the returned size.
9744
e8f5d6e9 97452009-09-12 Yves Blusseau <blusseau@zetam.org>
9746
9747 Change clean rules to properly remove files
9748
9749 * genmk.rb: add new clean rules
9750 * Makefile.in (clean): add the new targets
9751 (mostlyclean): likewise
9752
cda2a409 97532009-09-11 Colin Watson <cjwatson@ubuntu.com>
9754
9755 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9756 to grub_uint64_t.
9757 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9758 non-resident files.
9759
86695375 97602009-09-11 Colin Watson <cjwatson@ubuntu.com>
9761
9762 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9763 part of bug #27349.
9764
8aa1541a 97652009-09-10 Felix Zielcke <fzielcke@z-51.de>
9766
9767 * util/grub-mkconfig.in: Make the created config mode 400 and
9768 print a warning if it fails.
9769
48d9bb0a 97702009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9771
9772 * util/grub.d/40_custom.in: Ask user to type custom entries below
9773 comment, rather than below 'exec tail' line.
9774
3b0521be 97752009-09-10 Colin Watson <cjwatson@ubuntu.com>
9776
9777 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9778 visible in grub.cfg.
9779
50051d55 97802009-09-10 Colin Watson <cjwatson@ubuntu.com>
9781
9782 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9783 file.
9784
c0d34387 97852009-09-10 Felix Zielcke <fzielcke@z-51.de>
9786
9787 * docs/grub.cfg: Add an example menu entry for memtest86+.
9788
80a608f3 97892009-09-09 Felix Zielcke <fzielcke@z-51.de>
9790
a2094832 9791 * config.guess: Update to latest version from config git.
80a608f3 9792 * config.sub: Likewise.
9793
99423078 97942009-09-08 Colin Watson <cjwatson@ubuntu.com>
9795
9796 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9797 unknown-command case. Fixes bug #27320.
9798
44454e4c 97992009-09-08 Felix Zielcke <fzielcke@z-51.de>
9800
9801 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9802 `help' if the command exists.
9803
e30d87ad 98042009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9805
9806 * INSTALL: Require GCC 4.1.3 or later.
9807
9a86f1ec 98082009-09-06 Yves Blusseau <blusseau@zetam.org>
9809
9810 * Makefile.in (RMKFILES): add i386-qemu.rmk
9811 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9812 $(srcdir)/stamp-h.in
9813
7f26d466 98142009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9815
9816 * util/grub-probe.c (probe): Comment out buggy codepath, which
9817 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9818 should be re-enabled after 1.97.
9819
3a613259 98202009-09-05 Felix Zielcke <fzielcke@z-51.de>
9821
9822 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9823 find searches for.
9824
197f76c7 98252009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9828 unnecessary calls to grub_error.
9829
70ba68ce 98302009-09-04 Colin Watson <cjwatson@ubuntu.com>
9831
9832 * NEWS: Mention `keystatus' and Unicode fonts.
9833
4ff0d7a4 98342009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9835
9836 * configure.ac: Bump version to 1.97~beta2.
9837 * docs/version.texi: Likewise.
9838
77c55a87 98392009-09-03 Colin Watson <cjwatson@ubuntu.com>
9840
9841 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9842 containing unwind information in some cases where it previously did
9843 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9844 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9845 discussion.
9846
f79572cd 98472009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9848
9849 Embedding loadenv module into grub-emu
9850
9851 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9852 commands/loadenv.c
9853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9854 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9855 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9857 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9858 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9859
93a81088 98602009-09-03 Magnus Granberg <zorry@ume.nu>
9861
9862 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9863 include -fPIE in the default specs.
9864 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9865 to TARGET_CFLAGS.
9866
160034b2 98672009-09-03 Felix Zielcke <fzielcke@z-51.de>
9868
9869 * INSTALL: Note that GNU Bison 2.3 or later is required.
9870
087c07c4 98712009-09-03 Colin Watson <cjwatson@ubuntu.com>
9872
9873 * kern/i386/pc/startup.S: Fix typo.
9874
cbf978c0 98752009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9878 according to GCS.
9879
98802009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 9881
9882 * docs/grub.texi (Naming convention): Describe one-based partition
9883 numbering.
9884 (Device syntax): Likewise.
9885 (File name syntax): Likewise.
9886 (Block list syntax): Likewise.
9887 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9888 menu.lst.
9889 (File name syntax): Likewise.
9890 (Command-line and menu entry commands): Document acpi, blocklist,
9891 crc, export, insmod, keystatus, ls, set, and unset commands.
9892
f3e8cdfd 98932009-09-02 Colin Watson <cjwatson@ubuntu.com>
9894
9895 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9896 to avoid implying that only one of --shift, --ctrl, or --alt may be
9897 used.
9898
c0bc232b 98992009-09-02 Colin Watson <cjwatson@ubuntu.com>
9900
9901 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9902 rather than comparing against S_IFREG, which will almost never work.
9903
aa0f752d 99042009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9907 (write_blocklists): Likewise.
9908
ecb3166a 99092009-09-01 Colin Watson <cjwatson@ubuntu.com>
9910
9911 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9912 argument to grub_printf.
9913
c403a125 99142009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 9915
9916 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 9917 non GNU test.
31aba781 9918
b5e7312c 99192009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * kern/file.c (grub_file_read): Spelling fix
9922
fe00f472 99232009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9926 loading of headers in some cases.
9927
cc55302e 99282009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9929
9930 * configure.ac: Bump version to 1.97~beta1.
9931 * docs/version.texi: Likewise.
9932
5c90cdd2 99332009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 9934
9935 * include/grub/i386/xnu.h: Add license header.
9936 include grub/err.h explicitly.
9937
c90edae4 99382009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9939
9940 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9941 to `ufs' in the vfs.root.mountfrom kernel parameter.
9942
d8888b5c 99432009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9944
9945 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9946
9947 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9948 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9949
9950 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9951 `ARRAY_SIZE' macro.
9952
6f07b921 99532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * kern/file.c (grub_file_read): Check offset.
9956 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9957 * fs/jfs.c (grub_jfs_read_file): Likewise.
9958 * fs/ntfs.c (grub_ntfs_read): Likewise.
9959 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9960 * fs/minix.c (grub_minix_read_file): Correct offset check.
9961 * fs/ufs.c (grub_ufs_read_file): Likewise.
9962
b4f34077 99632009-08-28 Colin Watson <cjwatson@ubuntu.com>
9964
9965 * term/i386/pc/console.c (bios_data_area): Cast
9966 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9967
e7c69859 99682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 1-bit optimised blitters.
9971
9972 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9973 prototype.
9974 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9975 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9976 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9977 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9978 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9979 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9980 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9981 function.
9982 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9983 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9984 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9985 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9986 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9987 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9988 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9989 when possible.
9990 * video/video.c (grub_video_get_blit_format): Return
9991 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9992
a57da43f 99932009-08-28 Colin Watson <cjwatson@ubuntu.com>
9994
9995 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9996 the first argument to grub_printf.
9997
4cbe67e5 99982009-08-28 Colin Watson <cjwatson@ubuntu.com>
99992009-08-28 Robert Millan <rmh.grub@aybabtu.com>
10000
10001 Add `getkeystatus' terminal method. Add a new `keystatus' command
10002 to query it.
10003
10004 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
10005 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
10006 modifier key bitmasks.
10007 (struct grub_term_input): Add `getkeystatus' member.
10008 (grub_getkeystatus): Add prototype.
10009 * kern/term.c (grub_getkeystatus): New function.
10010
10011 * include/grub/i386/pc/memory.h
10012 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
10013 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
10014 Data Area layout.
10015 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
10016 (grub_console_term_input): Set `getkeystatus' member.
10017 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
10018 constants.
10019 (grub_usb_keyboard_getreport): Likewise.
10020 (grub_usb_keyboard_checkkey): Likewise.
10021 (grub_usb_keyboard_getkeystatus): New function.
10022 (grub_usb_keyboard_term): Set `getkeystatus' member.
10023
10024 * commands/keystatus.c: New file.
10025 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
10026 (keystatus_mod_SOURCES): New variable.
10027 (keystatus_mod_CFLAGS): Likewise.
10028 (keystatus_mod_LDFLAGS): Likewise.
10029 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
10030 commands/keystatus.c.
10031 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10032 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10033 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10035 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10036 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 10037
6e2a9085 100382009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 Split befs.mod and afs.mod into *_be.mod and *.mod
10041
10042 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
10043 (grub_fstest_SOURCES): Likewise.
10044 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
10045 (afs_be_mod_SOURCES): New variable.
10046 (afs_be_mod_CFLAGS): Likewise.
10047 (afs_be_mod_LDFLAGS): Likewise.
10048 (befs_be_mod_SOURCES): Likewise.
10049 (befs_be_mod_CFLAGS): Likewise.
10050 (befs_be_mod_LDFLAGS): Likewise.
10051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
10052 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10053 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10054 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10055 (grub_emu_SOURCES): Likewise.
10056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10057 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10058 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10059 * fs/afs_be.c: New file.
10060 * fs/befs_be.c: New file.
10061 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
10062 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
10063 (U16): Replaced with ...
10064 (grub_afs_to_cpu16): ...this. All users updated.
10065 (U32): Replaced with ...
10066 (grub_afs_to_cpu32): ...this. All users updated.
10067 (U64): Replaced with ...
10068 (grub_afs_to_cpu64): ...this. All users updated.
10069 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
10070 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 10071 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 10072 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10073 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10074 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10075 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10076 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10077 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10078 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10079 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10080
32a71655 100812009-08-26 Bean <bean123ch@gmail.com>
10082
10083 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
10084 64-bit number.
10085 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10086 (grub_xfs_inode_block): Change return type to grub_uint64_t.
10087 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
10088
552bf6c5 100892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 NetBSD memory map support.
10092
10093 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
10094 (grub_netbsd_btinfo_mmap_header): New structure.
10095 (grub_netbsd_btinfo_mmap_entry): Likewise.
10096 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
10097
1ae2078c 100982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 Enable bsd.mod on coreboot.
10101
10102 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
10103 (bsd_mod_SOURCES): New variable.
10104 (bsd_mod_CFLAGS): Likewise.
10105 (bsd_mod_LDFLAGS): Likewise.
10106 (bsd_mod_ASFLAGS): Likewise.
10107 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
10108 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
10109
beefc598 101102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 Cleanup NetBSD root support.
10113
10114 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
10115 grub_bsd_get_device.
10116 Fix typo.
10117
3b76e68b 101182009-08-25 Felix Zielcke <fzielcke@z-51.de>
10119
10120 * util/grub.d/00_header.in: Move check for the video backend of
10121 gfxterm from here ...
10122 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
10123 a suitable video backend.
10124
aea664ea 101252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 Fix breakage in grub-setup.
10128
10129 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
10130 "msdos_partition_map".
10131
ff747d50 101322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 Fix breakage in normal/auth.c.
10135
10136 * normal/auth.c (grub_iswordseparator): New function.
10137
e7e1f93f 101382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 Authentication support.
10141
10142 * commands/password.c: New file.
10143 * conf/common.rmk (pkglib_MODULES): Add password.mod.
10144 (password_mod_SOURCES): New variable.
10145 (password_mod_CFLAGS): Likewise.
10146 (password_mod_LDFLAGS): Likewise.
10147 (normal_mod_SOURCES): Add normal/auth.c.
10148 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
10149 normal/auth.c.
10150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10151 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10152 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10155 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10156 * include/grub/auth.h: New file.
10157 * include/grub/err.h (grub_err_t): New enum value
10158 GRUB_ERR_ACCESS_DENIED.
10159 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
10160 'users'.
10161 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
10162 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
10163 users updated.
10164 * normal/auth.c: New file.
10165 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
10166 (grub_cmdline_run): Don't allow to go to command line without
10167 authentication.
10168 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
10169 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
10170 menuentry without superuser rights.
10171 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
10172 user isn't a superuser.
10173
70f1161d 101742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 Save space by inlining misc.c functions.
10177
10178 * kern/misc.c (grub_iswordseparator): Made static.
10179 * kern/misc.c (grub_strcat): Moved from here ...
10180 * include/grub/misc.h (grub_strcat): ... here. Inlined.
10181 * kern/misc.c (grub_strncat): Moved from here ...
10182 * include/grub/misc.h (grub_strncat): ... here. Inlined.
10183 * kern/misc.c (grub_strcasecmp): Moved from here ...
10184 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
10185 * kern/misc.c (grub_strncasecmp): Moved from here ...
10186 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
10187 * kern/misc.c (grub_isalpha): Moved from here ...
10188 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
10189 * kern/misc.c (grub_isdigit): Moved from here ...
10190 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
10191 * kern/misc.c (grub_isgraph): Moved from here ...
10192 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
10193 * kern/misc.c (grub_tolower): Moved from here ...
10194 * include/grub/misc.h (grub_tolower): ... here. Inlined.
10195
48e40bff 101962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * script/sh/function.c (grub_script_function_find): Cut error message
10199 not to flood terminal.
10200 * script/sh/lexer.c (grub_script_yylex): Remove command line length
10201 limit.
10202 * script/sh/script.c (grub_script_arg_add): Duplicate string.
10203
c385bfc3 102042009-08-24 Colin Watson <cjwatson@ubuntu.com>
10205
10206 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
10207 `report' grub_uint8_t *.
10208 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
10209 Use a 50-millisecond timeout rather than just repeating
10210 grub_usb_keyboard_getreport 50 times.
10211 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
10212
2d21e3e8 102132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 Rename *_partition_map to part_*
10216
10217 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
10218 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
10219 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
10220 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
10221 All users updated.
10222 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
10223 All users updated.
10224 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
10225 * util/grub-probe.c (probe_partmap): Don't transform partition name
10226 to get module name.
10227
dd103c4e 102282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 Fix OpenBSD and NetBSD support.
10231
10232 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
10233 memory address conflict.
10234 (OPENBSD_MMAP_ACPI): New definition.
10235 (OPENBSD_MMAP_NVS): Likewise.
10236 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
10237 and OPENBSD_MMAP_NVS.
10238 Add memory map terminator
10239 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 10240 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 10241
16c84d74 102422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 Let user specify NetBSD root device.
10245
10246 * loader/i386/bsd.c (netbsd_root): New variable.
10247 (netbsd_opts): New option 'root'.
10248 (NETBSD_ROOT_ARG): New macro.
10249 (grub_netbsd_boot): Use 'netbsd_root'.
10250 (grub_bsd_unload): Free 'netbsd_root'.
10251 (grub_cmd_netbsd): Fill 'netbsd_root'.
10252
adb29902 102532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 Support for 64-bit NetBSD.
10256
10257 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
10258 point when booting non-FreeBSD.
10259
f5ae9f74 102602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 Support --no-smp and --no-acpi for NetBSD.
10263
10264 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
10265 (NETBSD_AB_NOACPI): Likewise.
10266 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
10267 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
10268
de74f136 102692009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
10272 errors.
10273 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
10274 errors. Call grub_error when needed.
10275
e9a925da 102762009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * commands/search.c (search_fs): Try searching without autoload first.
10279 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10280 filesystem module explicitly for faster booting.
10281
5174302b 102822009-08-23 Colin Watson <cjwatson@ubuntu.com>
10283
10284 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
10285
c8c80635 102862009-08-23 Colin Watson <cjwatson@ubuntu.com>
10287
10288 * util/grub.d/30_os-prober.in: Disable os-prober if
10289 `GRUB_DISABLE_OS_PROBER' was set to true.
10290
71acf5e5 102912009-08-23 Robert Millan <rmh.grub@aybabtu.com>
10292
10293 * partmap/pc.c: Rename to ...
10294 * partmap/msdos.c: ... this. Update all users.
10295 (grub_pc_partition_map): Rename to ...
10296 (grub_msdos_partition_map): ... this. Update all users.
10297
10298 * parttool/pcpart.c: Rename to ...
10299 * parttool/msdospart.c: ... this. Update all users.
10300
10301 * include/grub/pc_partition.h: Rename to ...
10302 * include/grub/msdos_partition.h: ... this. Update all users.
10303 (grub_pc_partition_bsd_entry): Rename to ...
10304 (grub_msdos_partition_bsd_entry): ... this. Update all users.
10305 (grub_pc_partition_disk_label): Rename to ...
10306 (grub_msdos_partition_disk_label): ... this. Update all users.
10307 (grub_pc_partition_entry): Rename to ...
10308 (grub_msdos_partition_entry): ... this. Update all users.
10309 (grub_pc_partition_mbr): Rename to ...
10310 (grub_msdos_partition_mbr): ... this. Update all users.
10311 (grub_pc_partition): Rename to ...
10312 (grub_msdos_partition): ... this. Update all users.
10313 (grub_pc_partition_is_empty): Rename to ...
10314 (grub_msdos_partition_is_empty): ... this. Update all users.
10315 (grub_pc_partition_is_extended): Rename to ...
10316 (grub_msdos_partition_is_extended): ... this. Update all users.
10317 (grub_pc_partition_is_bsd): Rename to ...
10318 (grub_msdos_partition_is_bsd): ... this. Update all users.
10319
10320 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
10321 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
10322 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
10323 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
10324 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
10325 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
10326 (gpt_mod_LDFLAGS): Rename to ...
10327 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
10328 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
10329 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
10330 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
10331 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
10332 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
10333 (part_gpt_mod_LDFLAGS): ... this.
10334 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
10335 `pcpart.mod' to `msdospart.mod'.
10336 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
10337 to ...
10338 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
10339 (msdospart_mod_LDFLAGS): ... this.
10340
c11fded5 103412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
10344 (openbsd_opts): Likewise.
10345 (netbsd_opts): Likewise.
10346 (freebsd_flags): Added 0 terminator.
10347 (openbsd_flags): Likewise.
10348 (netbsd_flags): Likewise.
10349 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
10350 (grub_cmd_freebsd): Transformed into extended command.
10351 (grub_cmd_openbsd): Likewise.
10352 (grub_cmd_netbsd): Likewise.
10353 (cmd_freebsd): Changed type to grub_extcmd_t.
10354 (cmd_openbsd): Likewise.
10355 (cmd_netbsd): Likewise.
10356 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
10357 grub_cmd_openbsd as extended commands.
10358 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
10359 cmd_netbsd and cmd_openbsd
10360
11d1c769 103612009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
10364
7a9094e5 103652009-08-21 Pavel Roskin <proski@gnu.org>
10366
5496c37e 10367 * Makefile.in (install-local): When checking if a file is in the
10368 build directory, use "test -e" to detect symlinks.
10369
7a9094e5 10370 * Makefile.in (install-local): Remove all files in
10371 $(DESTDIR)$(pkglibdir) before installing new files there.
10372
e53cea11 103732009-08-18 Felix Zielcke <fzielcke@z-51.de>
10374
10375 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
10376 grub-mkelfimage.
10377
9aced544 103782009-08-18 Felix Zielcke <fzielcke@z-51.de>
10379
10380 * util/grub-mkconfig.in: Don't use gfxterm by default if not
10381 explicitly specified by the user.
10382
b7da6bab 103832009-08-18 Pavel Roskin <proski@gnu.org>
10384
10385 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
10386 grub_uint8_t pointer for data.
10387 * include/grub/fbutil.h (struct grub_video_fbblit_info):
10388 Likewise.
10389 * video/fb/fbutil.c: Remove unnecessary casts.
10390
19f1b335 103912009-08-17 Michal Suchanek <hramrach@centrum.cz>
10392
10393 VBE cleanup.
10394
10395 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
10396 (grub_vbe_set_video_mode): Save active mode info
10397 only after setting the mode.
10398 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
10399 second argument.
10400
2f467aa9 104012009-08-17 Michal Suchanek <hramrach@centrum.cz>
10402
10403 Rename variables for clarity.
10404
10405 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10406 (active_vbe_mode_info): ... this. All users updated.
10407 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10408 All users updated.
10409 (initial_mode): Rename to ...
10410 (initial_vbe_mode): ... this. All users updated.
10411 (mode_in_use): Rename to ..
10412 (vbe_mode_in_use): ... this. All users updated.
10413 (mode_list): Rename to ..
10414 (vbe_mode_list): ... this. All users updated.
10415 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10416 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10417 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10418 'mode_list_size' to 'vbe_mode_list_size'.
10419 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10420 'best_mode_info' to 'best_vbe_mode_info' and
10421 'best_mode' to 'best_vbe_mode'
10422
6025fcd7 104232009-08-17 Michal Suchanek <hramrach@centrum.cz>
10424
10425 Remove duplicate grub_video_fb_get_video_ptr.
10426
10427 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10428 (grub_video_fb_get_video_ptr): ... this.
10429 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10430 * video/fb/fbutil.c: Add comment about addressing.
10431 (get_data_ptr): Rename to ...
10432 (grub_video_fb_get_video_ptr): ... this. All users updated.
10433 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10434
cc8c6faf 104352009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10436
10437 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10438 grub_dprintf() that was just added.
10439
08aa61f0 104402009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10441
10442 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10443 (DEFAULT_VIDEO_MODE): Remove macros.
10444 (grub_linux_boot): Remove assumption that Linux has FB support,
10445 and use "text" as default video mode.
10446
7cef4f75 104472009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10450 grub_dprintf.
10451 * fs/fat.c (grub_fat_read_data): Likewise.
10452
e1f39873 104532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10456 payload.
10457 (grub_module): Likewise.
10458
c166d79e 104592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10462 mbi->cmdline but free playground.
10463
c60cee8e 104642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 Handle group offset on UFS1.
10467
10468 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10469 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10470
c0d8b5d4 104712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 Split ufs.mod into ufs1.mod and ufs2.mod.
10474
10475 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10476 (grub_fstest_SOURCES): Likewise.
10477 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10478 (ufs_mod_SOURCES): Remove.
10479 (ufs_mod_CFLAGS): Likewise.
10480 (ufs_mod_LDFLAGS): Likewise.
10481 (ufs1_mod_SOURCES): New variable.
10482 (ufs1_mod_CFLAGS): Likewise.
10483 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 10484 (ufs2_mod_SOURCES): New variable.
10485 (ufs2_mod_CFLAGS): Likewise.
10486 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 10487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10488 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10489 Likewise.
10490 (grub_emu_SOURCES): Likewise.
10491 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10492 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10493 (grub_setup_SOURCES): Likewise.
10494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10495 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10496 (grub_setup_SOURCES): Likewise.
10497 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10498 Likewise.
10499 * fs/ufs2.c: New file.
10500 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10501
d3539132 105022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 Framebuffer split.
10505
10506 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10507 subsystem at the end.
10508 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10509 (video_fb_mod_SOURCES): New variable.
10510 (video_fb_mod_CFLAGS): Likewise.
10511 (video_fb_mod_LDFLAGS): Likewise.
10512 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10513 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10514 * video/i386/pc/vbeblit.c: Moved from here ...
10515 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10516 * video/i386/pc/vbefill.c: Moved from here ...
10517 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10518 * video/i386/pc/vbeutil.c: Moved from here ...
10519 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10520 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10521 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10522 * include/grub/i386/pc/vbefill.h: Moved from here ...
10523 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10524 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10525 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10526 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10527 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10528 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10529 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10530 (grub_video_adapter): Added 'get_info_and_fini'.
10531 (grub_video_get_info_and_fini): New prototype.
10532 (grub_video_set_mode): make modestring const char *.
10533 * loader/i386/linux.c (grub_linux_setup_video): Use
10534 grub_video_get_info_and_fini.
10535 (grub_linux_boot): Move modesetting just before booting.
10536 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10537 grub_video_get_info_and_fini.
10538 * video/i386/pc/vbe.c: Moved framebuffer part ...
10539 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10540 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10541 grub_video_fbstd_colors and grub_video_fb_set_palette.
10542 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10543 grub_video_fb_init.
10544 (grub_video_vbe_fini): Use grub_video_fb_fini.
10545 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10546 render_target and use grub_video_fb_set_active_render_target and
10547 grub_video_fb_set_palette.
10548 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10549 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10550 (grub_video_vbe_adapter): Use framebuffer.
10551 * video/video.c (grub_video_get_info_and_fini): New function.
10552 (grub_video_set_mode): Make modestring const char *.
10553 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10554 values are already initialised.
10555
d404ee56 105562009-08-14 Pavel Roskin <proski@gnu.org>
10557
10558 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10559 ABS and APPLE_CC.
10560 * boot/i386/pc/diskboot.S: Likewise.
10561 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10562 sectors allow compilation on MacOSX.
10563 * conf/i386-pc.rmk: Enable unconditional compilation of
10564 lnxboot.img.
10565
9a10df16 105662009-08-13 Colin Watson <cjwatson@ubuntu.com>
10567
10568 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10569 * util/grub.d/00_header.in: Enter interruptible sleep if
10570 GRUB_HIDDEN_TIMEOUT is set.
10571
be3c9ca7 105722009-08-13 Yves Blusseau <blusseau@zetam.org>
10573
10574 * include/grub/symbol.h: Add the LOCAL macro.
10575 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10576 starting with "L_".
10577
1f9e557e 105782009-08-13 Pavel Roskin <proski@gnu.org>
10579
9ca62843 10580 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10581 any modern compilers we support.
10582
1f9e557e 10583 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10584 Use local labels starting with "L_" so that Apple assembler
10585 knows they are local.
10586
81623db6 105872009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10588
10589 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10590 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10591 (bsd_kernel_types): ... this enum.
10592
10593 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10594 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10595 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10596
10597 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10598 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10599 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10600 messages.
10601
f5d35e7a 106022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10603
10604 * util/grub-dumpdevtree: Moved from here ...
10605 * util/i386/efi/grub-dumpdevtree: ... to here.
10606 (hexify): New function. Converts a string to its hex version.
10607 Generate hex versions of "efi" and "device-properties" by calling
10608 hexify() on the ASCII strings rather than by hardcoding numbers.
10609
d1e1d527 106102009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10611
10612 * fs/jfs.c: Update copyright year.
10613
1ebbe064 106142009-08-08 Felix Zielcke <fzielcke@z-51.de>
10615
10616 * util/grub.d/00_header.in: Fix a comment.
10617 * util/grub.d/10_linux.in: Likewise.
10618 * util/grub.d/10_windows.in: Likewise.
10619 * util/grub.d/10_hurd.in: Likewise.
10620
a78c8d24 106212009-08-08 Felix Zielcke <fzielcke@z-51.de>
10622
10623 * util/grub-mkconfig.in: Allow the user to specify the used font
10624 with GRUB_FONT.
10625
29a6b9e8 106262009-08-08 Pavel Roskin <proski@gnu.org>
10627
b5f16cc4 10628 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10629 available, xfs.mod needs it now.
10630
2f5cb827 10631 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10632 the "g" modifier in sed when the intention is to strip something
10633 once. This fixes comparison of kernels with multiple dashes.
10634
29a6b9e8 10635 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10636 on it. Add missing space before closing bracket. Fix
10637 misleading formatting.
10638
892a3d98 106392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10640
10641 * docs/grub.texi: Major overhaul. Remove all sections that are
10642 specific to GRUB Legacy, or mostly composed of Legacy-specific
10643 information.
10644
ed94253f 106452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10646
10647 * docs/version.texi: New file. Provides version information for
10648 grub.texi.
10649
126d6628 106502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10651
10652 * docs/grub.texi: Update CVS information to SVN.
10653 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10654
998b5aa9 106552009-08-07 Felix Zielcke <fzielcke@z-51.de>
10656
10657 * util/grub-mkconfig.in: Remove a wrong `fi'.
10658
818e094a 106592009-08-07 Felix Zielcke <fzielcke@z-51.de>
10660
10661 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10662 (grub_jfs_uuid): New function.
10663 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10664
b969c52f 106652009-08-07 Felix Zielcke <fzielcke@z-51.de>
10666
10667 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10668 of it to ...
10669 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10670 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10671
7a4894cc 106722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10673
10674 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10675 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10676 Update all users.
10677
10678 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10679 not just "vmlinu[zx]".
10680 Moved from here ...
10681 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10682 all users.
10683
10684 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10685 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10686 all users.
10687
4e2171f8 106882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10689
10690 * util/grub.d/10_freebsd.in: Use an absolute device path for
10691 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10692
6dcfcb32 106932009-08-06 Felix Zielcke <fzielcke@z-51.de>
10694
10695 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10696 handling of multiple abstraction modules.
10697
f56a8756 106982009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10699
10700 Fix a bug resulting in black screen when loading Linux using a
10701 packed video mode.
10702
10703 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10704 function.
10705
10706 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10707 (grub_vbe_bios_getset_dac_palette_width): New function.
10708 (grub_vbe_bios_get_dac_palette_width)
10709 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10710 grub_vbe_bios_getset_dac_palette_width()).
10711
10712 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10713 check for return status.
10714 (grub_vbe_get_video_mode_info): When getting information for a packed
10715 mode (<= 8 bpp), obtain DAC palette width using
10716 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10717 {red,green,blue}_mark_size.
10718
222671b2 107192009-08-04 Felix Zielcke <fzielcke@z-51.de>
10720
ecb1a6d9 10721 * commands/search.c (options): Fix help output to match actual code.
222671b2 10722
f84114f5 107232009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10726 of homegrown code.
10727
bd288a20 107282009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 10729
10730 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10731 on XFS or ReiserFS.
10732
8aab5e25 107332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 Support Apple partition map with sector size different from 512 bytes.
10736
10737 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10738 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10739 and 'apart.partmap_size'.
10740
6ad6258a 107412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
107422009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10743
10744 Fix cpuid command.
10745
10746 * commands/i386/cpuid.c (options): New variable.
10747 (grub_cmd_cpuid): Return real error.
10748 (GRUB_MOD_INIT(cpuid)): Declare options.
10749
67459bc6 107502009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10753 valid.
10754
fbc6ab54 107552009-07-31 Bean <bean123ch@gmail.com>
10756
10757 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10758 log2_inode.
10759 (grub_fshelp_node): Move inode field to the end.
10760 (grub_xfs_data): Remove inode field.
10761 (grub_xfs_inode_block): Calculate inode size using sblock.
10762 (grub_xfs_inode_offset): Likewise.
10763 (grub_xfs_read_inode): Calculate inode size using sblock.
10764 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10765 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10766 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10767 to match inode size.
10768 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10769 not accessible when data is null.
10770 (grub_xfs_open): Likewise.
10771
f45d6cfc 107722009-07-31 Bean <bean123ch@gmail.com>
10773
10774 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10775 Don't change pv->disk if it's already set.
10776
10777 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10778 (grub_raid_register): ... here.
10779 (grub_raid_rescan): Removed.
10780
10781 * include/grub/raid.h (grub_raid_rescan): Removed.
10782
10783 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10784 (fstest): Replace grub_raid_rescan with module fini function followed
10785 by init function.
10786
10787 * util/grub-probe.c: Add include file <grub/raid.h>.
10788 (probe_raid_level): New function.
10789 (probe): Detect abstraction by walking the disk device, support two
10790 level of abstraction (LVM on RAID) when detecting partition map.
10791
24443b5a 107922009-07-31 Pavel Roskin <proski@gnu.org>
10793
10794 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10795 to grub_zalloc(), it was erroneous.
10796 Reported by Bean <bean123ch@gmail.com>
10797
a275d9e7 107982009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 10801 embedding zone, not only the first one.
a275d9e7 10802
56c5a47f 108032009-07-29 Joe Auricchio <jauricchio@gmail.com>
10804
10805 * term/gfxterm.c (clear_char): New function.
10806 (grub_virtual_screen_setup): Use clear_char.
10807 (scroll_up): Likewise.
10808 (grub_virtual_screen_cls): Likewise.
10809
67bb323a 108102009-07-29 Felix Zielcke <fzielcke@z-51.de>
10811
10812 * util/deviceiter.c (get_acceleraid_disk_name): New static
10813 function.
10814 (grub_util_iterate_devices): Handle Accelraid devices.
10815 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10816
388a7c75 108172009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10818
10819 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10820 separator for the suggested gfxpayload string (';' collides with the
10821 parser and needs escaping).
10822
3bb7abcf 108232009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10826 Clear direction flag before jumping to OS.
10827 (grub_multiboot2_real_boot): Likewise.
10828
2ddd36d7 108292009-07-28 Felix Zielcke <fzielcke@z-51.de>
10830
10831 * util/i386/pc/grub-install: Fix parsing of --disk-module
10832 option.
10833
c521b62b 108342009-07-28 Felix Zielcke <fzielcke@z-51.de>
10835
10836 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10837 when embedding.
10838
880e0a0c 108392009-07-26 Felix Zielcke <fzielcke@z-51.de>
10840
10841 * util/grub-mkconfig.in (package_version): New variable.
10842 Use it do display the version.
10843
2366e356 108442009-07-25 Felix Zielcke <fzielcke@z-51.de>
10845
10846 * kern/file.c (grub_file_open): Revert to previous check with
10847 grub_errno.
10848
7ad8c80e 108492009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10852 from help line. It's out of sync with code.
10853
72b9658b 108542009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10857 entries on failed boot.
10858
77435277 108592009-07-25 Felix Zielcke <fzielcke@z-51.de>
10860
10861 * kern/file.c (grub_file_open): Fix an error check.
10862
fcaa8b21 108632009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10864
35d16c74 10865 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10866 partition map couldn't be identified.
fcaa8b21 10867
48904cd1 108682009-07-23 Pavel Roskin <proski@gnu.org>
10869
ef3c317f 10870 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10871 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10872 case of little endian words becomes just an optimization.
10873 Respect const modifier.
ad8ea1f4 10874 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 10875
48904cd1 10876 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10877 to avoid loss of upper bits if align is unsigned and shorter
10878 than addr.
10879
260c9a89 108802009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 UUID support for UFS
10883
10884 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10885 (grub_ufs_uuid): New function.
10886 (grub_ufs_fs): add .uuid
10887
f76ce889 108882009-07-21 Pavel Roskin <proski@gnu.org>
10889
10890 * kern/dl.c (grub_dl_check_header): Make static.
10891
6a6cbcaf 108922009-07-21 Felix Zielcke <fzielcke@z-51.de>
10893
10894 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10895 add drivemap for Vista. It breaks Windows 7.
10896
cffcddb2 108972009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10900 128 bytes
10901
1ef44b80 109022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 Add BFS support
10905
10906 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10907 (grub_fstest_SOURCES): Likewise.
10908 (pkglib_MODULES): Add befs.mod.
10909 (befs_mod_SOURCES): New variable.
10910 (befs_mod_CFLAGS): Likewise.
10911 (befs_mod_LDFLAGS): Likewise.
10912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10913 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10914 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10915 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10916 (grub_setup_SOURCES): Likewise.
10917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10918 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10919 (grub_setup_SOURCES): Likewise.
10920 * fs/befs.c: New file.
10921 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10922 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10923 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10924 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10925 (B_KEY_INDEX_ALIGN): New declaration.
10926 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10927 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10928 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10929 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10930 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10931 (grub_afs_mount) [MODE_BFS]: Likewise.
10932 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10933 (grub_afs_fs): Use GRUB_AFS_FSNAME
10934 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10935 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10936 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10937 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10938
4f253044 109392009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10940
10941 * util/getroot.c (find_root_device): Add support for MacOSX.
10942 * util/hostdisk.c: Likewise.
10943
57a55913 109442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * font/font.c (find_glyph): Check whether a font is present to avoid
10947 segmentation fault.
75421ca9 10948
109492009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 10950
10951 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10952
e98cd0c2 109532009-07-20 Pavel Roskin <proski@gnu.org>
10954
10955 * configure.ac: Trim excessively wordy excuses.
10956
1d2d169a 109572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 Add symlink, mtime and label support to AtheFS.
10960
10961 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10962 (grub_afs_iterate_dir): Handle symlinks.
10963 (grub_afs_open): Use grub_afs_read_symlink.
10964 (grub_afs_dir): Likewise.
10965 Pass mtime.
10966 (grub_afs_label): New function.
10967 (grub_afs_fs): Add grub_afs_label.
10968 (grub_afs_read_symlink): New function.
10969
186f3189 109702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 Fix AtheFS support.
10973
10974 * fs/afs.c: Fix comments style.
10975 (grub_afs_blockrun): Declare as packed.
10976 (grub_afs_datastream): Likewise.
10977 (grub_afs_bnode): Likewise.
10978 (grub_afs_btree): Likewise.
10979 (grub_afs_sblock): Likewise.
10980 Declare `name' as char.
10981 (grub_afs_inode): Declare as packed.
10982 Change void *vnode to grub_uint32_t unused.
10983 (grub_afs_iterate_dir): Check that key_size is positive.
10984 (grub_afs_mount): Don't read superblock twice.
75421ca9 10985 (grub_afs_dir): Don't free node in case of error,
186f3189 10986 grub_fshelp_find_file already handles this.
10987 (grub_afs_open): Likewise.
10988
5680109e 109892009-07-19 Pavel Roskin <proski@gnu.org>
10990
10991 * Makefile.in: Remove LIBLZO and enable_lzo.
10992 * conf/i386-pc.rmk: Remove lzo support.
10993 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10994 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10995 support.
10996 * kern/i386/pc/lzo1x.S: Remove.
10997 * kern/i386/pc/startup.S: Remove lzo support.
10998 * util/i386/pc/grub-mkimage.c: Likewise.
10999
ac70fa32 110002009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
11003 * fs/xfs.c (grub_xfs_dir): Likewise.
11004 * fs/afs.c (grub_afs_dir): Likewise.
11005 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11006 (grub_iso9660_open): Likewise.
11007 * fs/jfs.c (grub_jfs_open): Likewise.
11008 * fs/ext2.c (grub_ext2_dir): Likewise.
11009 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
11010 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 11011
eab58da2 110122009-07-16 Pavel Roskin <proski@gnu.org>
11013
d2838156 11014 * configure.ac: Never add "-c" to CFLAGS.
11015
55c70904 11016 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
11017
43e6200c 11018 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
11019 grub_cv_cc_efiemu should be used.
11020
ce7a733d 11021 * configure.ac: Typo fixes.
11022
eab58da2 11023 * kern/mm.c (grub_zalloc): New function.
11024 (grub_debug_zalloc): Likewise.
11025 * include/grub/mm.h: Declare grub_zalloc() and
11026 grub_debug_zalloc().
11027 * util/misc.c (grub_zalloc): New function.
11028 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
11029 instead of grub_malloc(), remove unneeded initializations.
11030 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
11031 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
11032 * commands/parttool.c (grub_cmd_parttool): Likewise.
11033 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11034 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
11035 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
11036 * disk/usbms.c (grub_usbms_finddevs): Likewise.
11037 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
11038 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
11039 (grub_cmd_efiemu_pnvram): Likewise.
11040 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
11041 * fs/iso9660.c (grub_iso9660_mount): Likewise.
11042 (grub_iso9660_iterate_dir): Likewise.
11043 * fs/jfs.c (grub_jfs_opendir): Likewise.
11044 * fs/ntfs.c (list_file): Likewise.
11045 (grub_ntfs_mount): Likewise.
11046 * kern/disk.c (grub_disk_open): Likewise.
11047 * kern/dl.c (grub_dl_load_core): Likewise.
11048 * kern/elf.c (grub_elf_file): Likewise.
11049 * kern/env.c (grub_env_context_open): Likewise.
11050 (grub_env_set): Likewise.
11051 (grub_env_set_data_slot): Likewise.
11052 * kern/file.c (grub_file_open): Likewise.
11053 * kern/fs.c (grub_fs_blocklist_open): Likewise.
11054 * loader/i386/multiboot.c (grub_module): Likewise.
11055 * loader/xnu.c (grub_xnu_create_key): Likewise.
11056 (grub_xnu_create_value): Likewise.
11057 * normal/main.c (grub_normal_add_menu_entry): Likewise.
11058 (read_config_file): Likewise.
11059 * normal/menu_entry.c (make_screen): Likewise.
11060 * partmap/sun.c (sun_partition_map_iterate): Likewise.
11061 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
11062 * script/sh/script.c (grub_script_parse): Likewise.
11063 * video/bitmap.c (grub_video_bitmap_create): Likewise.
11064 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11065 * video/readers/png.c (grub_png_output_byte): Likewise.
11066 (grub_video_reader_png): Likewise.
11067
830afef7 110682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 11069
11070 Enable all targets that can be built by default
11071
830afef7 11072 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 11073 grub-mkfont and grub-fstest if they can be built
11074
ee293aee 110752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 Fix hang and segmentation fault in grub-emu-usb
11078
11079 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
11080 * util/usb.c (grub_libusb_devices): likewise
11081 (grub_libusb_init): rename to ...
11082 (GRUB_MOD_INIT (libusb)):...this
11083 (grub_libusb_fini): rename to ..
11084 (GRUB_MOD_FINI (libusb)):...this
11085 * disk/usbms.c (grub_usbms_transfer): fix retry logic
11086 * include/grub/disk.h (grub_raid_init): removed, it's useless
11087 (grub_raid_fini): likewise
11088 (grub_lvm_init): likewise
11089 (grub_lvm_fini): likewise
11090 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
11091 by grub_init_all
11092
94414221 110932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 Fix libusb
11096
11097 * Makefile.in (LIBUSB): new macro
11098 * genmk.rb (Utility/print_tail): new method
11099 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
11100 (top level): call util.print_tail at the end.
11101
59ade63d 111022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 Make FreeBSD accept zpool.cache
11105
11106 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
11107 type is /boot/zfs/zpool.cache
11108
a58da8c7 111092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 Fix 64-bit efiemu
11112
11113 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
11114 correct wrong typedef
11115 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
11116
20591577 111172009-07-15 Pavel Roskin <proski@gnu.org>
11118
560ca572 11119 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
11120 * kern/disk.c (struct grub_disk_cache): Likewise.
11121
e8e8e4fd 11122 * commands/probe.c (options): Typo fix.
11123
fde24e10 11124 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
11125 Increase to 0x5a to accommodate FAT32. Adjust other offsets
11126 accordingly.
11127 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
11128
379c54c1 11129 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
11130 the end of "Error" to make the message more readable.
11131
7bd8f5bf 11132 * boot/i386/pc/boot.S (kernel_segment): Remove.
11133 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
11134 for destination.
11135
40b132c5 11136 * boot/i386/pc/boot.S (boot_version): Remove.
11137 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11138 Remove.
11139
20591577 11140 * include/grub/i386/pc/boot.h: Sort all offsets.
11141 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
11142 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
11143 * boot/i386/pc/boot.S: Assert location of every offset listed in
11144 include/grub/i386/pc/boot.h.
11145
2df32b2c 111462009-07-13 Pavel Roskin <proski@gnu.org>
11147
44b5d879 11148 * include/grub/i386/coreboot/machine.h: Rename
11149 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
11150 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
11151 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
11152
17dc3751 11153 * kern/dl.c: Force native word size to suppress warnings when
11154 compiling grub-emu.
11155
2df32b2c 11156 * kern/device.c (grub_device_iterate): Change struct part_ent to
11157 hold the name, not a pointer to it. Use one grub_malloc() per
11158 partition, not two. Free partition_name if grub_malloc() fails.
11159 Set ents to NULL only before grub_partition_iterate() is called.
11160
75c59f59 111612009-07-11 Bean <bean123ch@gmail.com>
11162
11163 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
11164 childname.
11165
0ae1bf88 111662009-07-10 Bean <bean123ch@gmail.com>
111672009-07-10 Robert Millan <rmh.grub@aybabtu.com>
11168
11169 * kern/ieee1275/openfw.c (grub_children_iterate)
11170 (grub_devalias_iterate): Fix size evaluation for property or path
11171 strings, which was broken since r2132.
11172
8279cade 111732009-07-07 Pavel Roskin <proski@gnu.org>
11174
7d8a52d3 11175 * commands/search.c (search_file): Merge into ...
11176 (search_fs): ... this. Accept search type as argument.
11177 (grub_cmd_search): Pass search type to search_fs().
11178
25f9a05a 11179 * include/grub/util/console.h: New file.
11180 * util/console.c: Use it instead of grub/machine/console.h.
11181 * util/grub-emu.c: Likewise.
11182
8279cade 11183 * lib/arg.c (find_long_option): Remove.
11184 (find_long): Add `len' argument, make `s' const char *.
11185 (grub_arg_parse): Parse long options in place, not in a
11186 temporary buffer.
11187
4a11b60f 111882009-07-06 Pavel Roskin <proski@gnu.org>
11189
99f68041 11190 * commands/search.c (search_fs): Fix potential NULL pointer
11191 dereference.
11192
4a11b60f 11193 * commands/search.c (search_fs): Replace QUID macro with quid_fn
11194 function pointer.
11195
e110f4de 111962009-07-06 Daniel Mierswa <impulze@impulze.org>
11197
11198 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
11199 comparison.
11200
46eeb6a2 112012009-07-05 Pavel Roskin <proski@gnu.org>
11202
bab74958 11203 * include/grub/i386/linux.h (struct linux_kernel_params):
11204 Restore padding3, it's still needed.
11205
46eeb6a2 11206 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
11207 FreeBSD.
11208 * util/osdetect.lua: Likewise.
11209
b4a1dc79 112102009-07-05 Bean <bean123ch@gmail.com>
11211
11212 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
11213
11214 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
11215 (grub_lua_getenv): Likewise.
11216 (grub_lua_setenv): Likewise.
11217 (save_errno): New function.
11218 (push_result): Likewise.
11219 (grub_lua_enum_device): Likewise.
11220 (grub_lua_enum_file): Likewise.
11221 (grub_lua_file_open): Likewise.
11222 (grub_lua_file_close): Likewise.
11223 (grub_lua_file_seek): Likewise.
11224 (grub_lua_file_read): Likewise.
11225 (grub_lua_file_getline): Likewise.
11226 (grub_lua_file_getsize): Likewise.
11227 (grub_lua_file_getpos): Likewise.
11228 (grub_lua_file_eof): Likewise.
11229 (grub_lua_file_exist): Likewise.
11230 (grub_lua_add_menu): Likewise.
11231
11232 * script/lua/grub_lua.h (isupper): New inline function.
11233 (islower): Likewise.
11234 (ispunct): Likewise.
11235 (isxdigit): Likewise.
11236 (strcspn): Change to normal function.
11237 (strpbkr): New function declaration.
11238 (memchr): Likewise.
11239
11240 * script/lua/grub_main.c (scan_str): New function.
11241 (strcspn): Likewise.
11242 (strpbrk): Likewise.
11243 (memchr): Likewise.
11244
11245 * script/lua/linit.c (lualibs): Enable the string library.
11246
11247 * util/osdetect.lua: New file.
11248
2da92295 112492009-07-04 Robert Millan <rmh.grub@aybabtu.com>
11250
11251 * include/grub/i386/linux.h (struct linux_kernel_params): Add
11252 `capabilities' member.
11253
b2582ec9 112542009-07-02 Pavel Roskin <proski@gnu.org>
11255
11256 * genparttoollist.sh: Add missing newline at the end.
11257
32622956 112582009-07-01 Pavel Roskin <proski@gnu.org>
11259
87a7339e 11260 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
11261
d23af54e 11262 * util/hostdisk.c (open_device): Remove `const' from
11263 `sysctl_size', as sysctlbyname() can change it (in this case it
11264 doesn't actually happen).
11265
c94b18a9 11266 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
11267 using signed long int constants.
11268
c6cd3ef0 11269 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
11270 constant to avoid a warning on FreeBSD.
11271
0df63420 11272 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
11273 where it's needed.
11274
999577f1 11275 * Makefile.in: Install include/grub/machine symlink.
11276
6f41557f 11277 * Makefile.in: When installing symlinks, use "cp -fR", which
11278 works on FreeBSD and MacOSX.
11279 From Yves Blusseau <cl7m42e02@sneakemail.com>
11280
c8d22988 11281 * kern/dl.c (grub_dl_resolve_symbol): Make static.
11282 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
11283
1b96e952 11284 * util/misc.c: Move grub_reboot() and grub_halt() ...
11285 * util/grub-emu.c: ... here. Make main_env static.
11286 * include/grub/util/misc.h: Remove main_env.
11287
2ef0084d 11288 * kern/mm.c: Use correct format to print size_t.
11289
32622956 11290 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
11291 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
11292 * kern/powerpc/dl.c: Likewise.
11293 * kern/sparc64/dl.c: Likewise.
11294 * kern/x86_64/dl.c: Likewise.
11295
3f7f0cd0 112962009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11297
11298 Fix grub-emu build on sparc64-ieee1275.
11299
75421ca9 11300 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 11301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
11302
211d06b5 113032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11304
11305 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
11306 (grub_reboot, grub_halt): New functions.
11307
11308 * util/i386/pc/misc.c: Delete. Update all users.
11309 * util/sparc64/ieee1275/misc.c: Likewise.
11310 * util/powerpc/ieee1275/misc.c: Likewise.
11311
aaf53e3c 113122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11313
11314 * conf/i386.rmk (setjmp_mod_SOURCES)
11315 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
11316 * conf/common.rmk (setjmp_mod_SOURCES)
11317 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
11318 to use $(target_cpu).
11319 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
11320 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
11321 * conf/powerpc-ieee1275.rmk: Likewise.
11322 * conf/sparc64-ieee1275.rmk: Likewise.
11323
11324 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
11325 $(target_cpu) for kern/$(target_cpu)/dl.c.
11326 * conf/i386-efi.rmk: Likewise.
11327 * conf/i386-ieee1275.rmk: Likewise.
11328 * conf/x86_64-efi.rmk: Likewise.
11329 * conf/i386-coreboot.rmk: Likewise.
11330 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
11331 $(target_cpu) for kern/$(target_cpu)/dl.c and for
11332 kern/$(target_cpu)/cache.S.
11333 * conf/sparc64-ieee1275.rmk: Likewise.
11334
a337130b 113352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11336
11337 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
11338 type to `grub_uint8_t', and adjust `padding9' accordingly.
11339
c6fe4d53 113402009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11341
b09db61d 11342 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
11343
c6fe4d53 11344 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
11345 assembly in final jump, using register constraints.
11346
b09db61d 11347 (grub_linux_boot): For text mode, initialize `have_vga' using
11348 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
11349
11350 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
11351 right before the final jump.
11352
11353 Set `video_mode' to 0x3.
11354
11355 Document initialization of `video_page', `video_mode' and
11356 `video_ega_bx'.
11357
28333ad0 113582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11359
11360 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
11361 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 11362 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 11363
02164e1b 113642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11365
11366 Fix build on Debian / sparc.
11367
11368 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
11369
18b6c557 113702009-06-28 Pavel Roskin <proski@gnu.org>
11371
85f2aab6 11372 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
11373 fix a warning.
11374
18b6c557 11375 * util/grub.d/10_linux.in: Match SUSE style initrd names.
11376
ad760f81 113772009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11378
11379 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
11380 `err'.
11381
87a4623b 113822009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11383
11384 Revert r2338.
11385
11386 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
11387 file can't be opened. grub_file_open() is already supposed to set
75421ca9 11388 grub_errno / grub_errmsg appropriately.
87a4623b 11389 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11390
8231fb77 113912009-06-27 Pavel Roskin <proski@gnu.org>
113922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11393
11394 * include/grub/dl.h: Include grub/elf.h.
11395 (struct grub_dl): Add symtab field.
11396 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
11397 GRUB_MODULES_MACHINE_READONLY.
11398 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
11399 of the header for read-only modules.
11400 (grub_dl_unload): Free mod->symtab for read-only modules.
11401 * kern/i386/dl.c: Use mod->symtab.
11402 * kern/powerpc/dl.c: Likewise.
11403 * kern/sparc64/dl.c: Likewise.
11404 * kern/x86_64/dl.c: Likewise.
11405
11406 * conf/i386-qemu.rmk: New file.
11407 * kern/i386/qemu/startup.S: Likewise.
11408 * kern/i386/qemu/mmap.c: Likewise.
11409 * boot/i386/qemu/boot.S: Likewise.
11410 * include/grub/i386/qemu/time.h: Likewise.
11411 * include/grub/i386/qemu/serial.h: Likewise.
11412 * include/grub/i386/qemu/kernel.h: Likewise.
11413 * include/grub/i386/qemu/console.h: Likewise.
11414 * include/grub/i386/qemu/boot.h: Likewise.
11415 * include/grub/i386/qemu/init.h: Likewise.
11416 * include/grub/i386/qemu/machine.h: Likewise.
11417 * include/grub/i386/qemu/loader.h: Likewise.
11418 * include/grub/i386/qemu/memory.h: Likewise.
11419
11420 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11421 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11422 [qemu] (pkglib_IMAGES): Add `boot.img'.
11423 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11424 [qemu] (boot_img_FORMAT): New variables.
11425 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11426 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11427 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11428 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11429 [qemu] (kernel_img_FORMAT): New variables.
11430
11431 * configure.ac: Recognise `i386-qemu'.
11432
11433 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11434 (for no compression).
11435 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11436 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11437 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11438 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11439 ifdefs).
11440
97fe384e 114412009-06-27 Pavel Roskin <proski@gnu.org>
11442
11443 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11444 read.
11445 * efiemu/prepare32.c: Likewise.
11446 * efiemu/prepare64.c: Likewise.
11447
c402ab17 114482009-06-26 Pavel Roskin <proski@gnu.org>
11449
11450 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11451 * include/grub/elf.h: Define symbols without "32" or "64" based
11452 on GRUB_TARGET_WORDSIZE.
11453 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11454 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11455 ELF definitions.
11456 * efiemu/loadcore64.c: Likewise.
11457 * loader/i386/bsd32.c: Likewise.
11458 * loader/i386/bsd64.c: Likewise.
11459 * kern/dl.c: Remove own ELF definitions.
11460 * util/i386/efi/grub-mkimage.c: Likewise.
11461
9bbdfd4d 114622009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11463
11464 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11465 segment 0x0 unconditionally, because the reference generated by
11466 GAS is an absolute address.
11467
a42ce6e9 114682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11469
11470 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11471 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11472
c952cf92 114732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11474
11475 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11476 indexes. Check for -f explicitly.
cc3752ad 11477 (search_file): Improve error message.
11478 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 11479
132a0a59 114802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11481
11482 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11483 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11484
387a140c 114852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11486
11487 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11488 * conf/i386-ieee1275.rmk: Likewise.
11489 * conf/i386-coreboot.rmk: Likewise.
11490
11491 * kern/i386/pc/startup.S (grub_stop): Remove function.
11492 * kern/i386/ieee1275/startup.S: Likewise.
11493 * kern/i386/coreboot/startup.S: Likewise.
11494 * kern/i386/misc.S (grub_stop): New function.
11495
41da9665 114962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11497
11498 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11499 * kern/i386/realmode.S (real_to_prot): ... to here.
11500
bf337234 115012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11502
11503 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11504 with `kernel.img'.
11505 (kernel_elf_SOURCES): Rename to ...
11506 (kernel_img_SOURCES): ... this.
11507 (kernel_elf_HEADERS): Rename to ...
11508 (kernel_img_HEADERS): ... this. Update all users.
11509 (kernel_elf_ASFLAGS): Rename to ...
11510 (kernel_img_ASFLAGS): ... this.
11511 (kernel_elf_CFLAGS): Rename to ...
11512 (kernel_img_CFLAGS): ... this.
11513 (kernel_elf_LDFLAGS): Rename to ...
11514 (kernel_img_LDFLAGS): ... this.
11515 * conf/i386-coreboot.rmk: Likewise.
11516 * conf/powerpc-ieee1275.rmk: Likewise.
11517
11518 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11519 with "kernel.img".
11520
f52196ff 115212009-06-21 Pavel Roskin <proski@gnu.org>
11522
c3cee413 11523 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11524 to match nested functions.
11525 * loader/sparc64/ieee1275/linux.c: Likewise.
11526
f52196ff 11527 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11528
58750afc 115292009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11530
11531 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11532 all i386 platforms.
11533
15355c7d 115342009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11535
11536 Fix asm file handling on ELF, and remove workarounds.
11537
11538 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 11539 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 11540 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11541 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11542
3f3ec72b 115432009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 Load BSD ELF modules
11546
11547 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11548 and loader/i386/bsd64.c
11549 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11550 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11551 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11552 (grub_freebsd_load_elfmodule32): New declaration
11553 (grub_freebsd_load_elfmoduleobj64): Likewise
11554 (grub_freebsd_load_elf_meta32): Likewise
11555 (grub_freebsd_load_elf_meta64): Likewise
11556 (grub_freebsd_add_meta): Likewise
11557 (grub_freebsd_add_meta_module): Likewise
11558 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11559 (grub_freebsd_add_meta_module): Likewise and move module-specific
11560 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11561 (grub_cmd_freebsd): Add elf-kernel specific parts
11562 based on grub_freebsd_add_meta_module
11563 (grub_cmd_freebsd_module): Add type parsing moved from
11564 grub_freebsd_add_meta_module
11565 (grub_cmd_freebsd_module_elf): New function
11566 (cmd_freebsd_module_elf): New variable
11567 (GRUB_MOD_INIT): Register freebsd_module_elf
11568 * loader/i386/bsd32.c: New file
11569 * loader/i386/bsd64.c: Likewise
11570 * loader/i386/bsdXX.c: Likewise
11571 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11572 (grub_elf64_load): Likewise
11573 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11574 All users updated
11575 (grub_elf64_load_hook_t): Likewise
11576
0db15301 115772009-06-21 Colin Watson <cjwatson@ubuntu.com>
11578
11579 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11580 variable.
11581 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11582 don't write a menu entry for recovery mode.
11583
546796c1 115842009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11585
11586 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11587 after it's no longer needed.
11588
cd7310d5 115892009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11590
11591 * include/grub/i386/loader.h (grub_linux_prot_size)
11592 (grub_linux_tmp_addr, grub_linux_real_addr)
11593 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11594 GRUB_MACHINE_PCBIOS.
11595 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11596 common grub_util_info() call to ...
11597 (generate_image): ... here.
11598 Fix use of uninitialized memory, comparison of signed with
11599 unsigned integers and memory leak.
11600 Remove bogus module address message.
11601
ab32d3b5 116022009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11605 grub_raid_register
11606 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11607
024ef597 116082009-06-19 Pavel Roskin <proski@gnu.org>
11609
11610 * configure.ac: Remove stray AC_MSG_CHECKING.
11611
3ac72b51 116122009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 11615
e14cd814 116162009-06-18 Pavel Roskin <proski@gnu.org>
11617
11618 * conf/common.rmk: Add fs_file.mod.
11619 * disk/fs_file.c: New file.
11620 * include/grub/disk.h (enum grub_disk_dev_id): Add
11621 GRUB_DISK_DEVICE_FILE_ID.
11622
26586d98 116232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 Fix build with Apple's toolchain. Part 2
11626
11627 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11628 a fake start
11629
26de2bcd 116302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 Fix build with Apple's toolchain. Part 1
11633
11634 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11635 for long calls
11636 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 11637 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 11638 Apple's toolchain
11639
09b3490b 116402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 Fix warnings
11643
11644 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11645 (decomp_block): initialize ch
11646 use grub_memcpy instead of memcpy
11647
c22a006a 116482009-06-17 Pavel Roskin <proski@gnu.org>
11649
d3638678 11650 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11651 version, use declarations needed to use vga_text as the startup
11652 console.
11653
c22a006a 11654 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11655 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11656 the kernel.
11657 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11658 and grub_at_keyboard_fini(), it's done on module load and
11659 unload.
11660
05b129e0 116612009-06-17 Felix Zielcke <fzielcke@z-51.de>
11662
11663 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11664 file can't be found.
11665 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11666
cf24ed9e 116672009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11668
11669 Fix newline handling
11670
11671 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 11672 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 11673 (grub_script_yylex): don't segfault on unterminated script
11674 newline terminates command and variable
11675
74aa8e4b 116762009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 avoid double grub_adjust_range call. Bug reported by David Simner
11679
11680 * kern/disk.c (grub_disk_write): change to raw disk access before
11681 calling disk_read
11682
1bd265f3 116832009-06-17 Colin Watson <cjwatson@ubuntu.com>
11684
11685 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11686 spaces, for the benefit of help2man.
11687 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11688
a2d08c06 116892009-06-16 Pavel Roskin <proski@gnu.org>
11690
11691 * kern/i386/halt.c: Include grub/machine/init.h.
11692 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11693
b97bcb19 116942009-06-16 Felix Zielcke <fzielcke@z-51.de>
11695
11696 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11697 drivemap menuentry.
11698
0644f96c 116992009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11700
11701 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11702 `echo' command.
11703
3ef17a2e 117042009-06-16 Pavel Roskin <proski@gnu.org>
11705
11706 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11707 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11708 save %dx, we only need %dl and we never change it.
11709 * boot/i386/pc/cdboot.S: Don't set the root drive.
11710 * boot/i386/pc/pxeboot.S: Likewise.
11711 * include/grub/i386/pc/boot.h: Remove
11712 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11713 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11714 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11715 * kern/i386/pc/init.c (make_install_device): Remove references
11716 to grub_root_drive.
11717 * kern/i386/pc/startup.S: Likewise.
11718 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11719
693fe637 117202009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 xnu_uuid command
11723
11724 * commands/xnu_uuid.c: new file
11725 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11726 (xnu_uuid_mod_SOURCES): new variable
11727 (xnu_uuid_mod_CFLAGS): likewise
11728 (xnu_uuid_mod_LDFLAGS): likewise
11729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11730 * conf/i386-ieee1275.rmk: likewise
11731 * conf/i386-pc.rmk: likewise
11732 * conf/powerpc-ieee1275.rmk: likewise
11733 * conf/sparc64-ieee1275.rmk: likewise
11734 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11735
c9da87d0 117362009-06-16 Pavel Roskin <proski@gnu.org>
11737
11738 * configure.ac: Avoid '==' in test command, it's not portable.
11739
9c6f4596 117402009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 Probe command
11743
11744 * commands/probe.c: new file
11745 * conf/common.rmk (pkglib_MODULES): add probe.mod
11746 (probe_mod_SOURCES): new variable
11747 (probe_mod_CFLAGS): likewise
11748 (probe_mod_LDFLAGS): likewise
11749 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11750 * conf/i386-ieee1275.rmk: likewise
11751 * conf/i386-pc.rmk: likewise
11752 * conf/powerpc-ieee1275.rmk: likewise
11753 * conf/sparc64-ieee1275.rmk: likewise
11754
70b7f9fd 117552009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 Fix handling of string like \"hello\" and "a
11758 b"
11759
11760 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11761 (grub_script_yylex): fix parsing of quoting, escaping and newline
11762
71c79a6b 117632009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11764
dd74360c 11765 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 11766 handling
dd74360c 11767
0644f96c 117682009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 11769
11770 * util/grub-mkconfig.in: Fix parsing of --output option.
11771
e40893c3 117722009-06-12 Pavel Roskin <proski@gnu.org>
11773
11774 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11775 genmk.rb don't need to be generated or installed.
11776
3a1acfe2 117772009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 * commands/i386/pc/drivemap_int13h.S: add more comments
11780
3a4575d4 117812009-06-11 Pavel Roskin <proski@gnu.org>
11782
0658e928 11783 * Makefile.in (uninstall): Uninstall manuals.
11784
ca0388f0 11785 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11786 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11787 and update-grub_lib in two places.
11788 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11789
e3b27c39 11790 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11791 a compiler warning.
11792
3a4575d4 11793 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11794 `entry_lo' to fix variable shadowing.
11795
af1f4f55 117962009-06-11 Christian Franke <franke@computer.org>
11797
11798 * kern/misc.c (__enable_execute_stack): Add missing return type
11799 to prevent gcc warning.
11800
5225e649 118012009-06-11 Felix Zielcke <fzielcke@z-51.de>
11802
11803 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11804
7d83bd47 118052009-06-11 Pavel Roskin <proski@gnu.org>
11806
c1cb63ba 11807 * Makefile.in: Don't rely on any scripts being executable.
11808 Always use $(SHELL) to run shell scripts.
11809
7d83bd47 11810 * configure.ac: Always define ___main if using -nostdlib. This
11811 fixes tests on Cygwin.
11812
948f48e7 118132009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11814
11815 UDF fix
11816
7d83bd47 11817 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 11818 is in bytes and not in blocks
7d83bd47 11819
8ada9bc1 118202009-06-11 Pavel Roskin <proski@gnu.org>
11821
11822 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11823 warning.
11824
25ad2323 118252009-06-11 Felix Zielcke <fzielcke@z-51.de>
11826
11827 * util/grub.d/30_os-prober.in: Fix a comment. Source
11828 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11829 to set the root device. Place drivemap command in the generated
11830 chain entry.
11831
e65acb0c 118322009-06-11 Pavel Roskin <proski@gnu.org>
11833
11834 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11835 have long been resolved.
11836
f285fe2d 118372009-06-11 Colin Watson <cjwatson@ubuntu.com>
11838
bd47b0b5 11839 * util/grub.d/10_linux.in: Capitalise "Linux".
11840
f285fe2d 11841 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11842
a0c62e4e 118432009-06-11 Pavel Roskin <proski@gnu.org>
11844
b6783cb2 11845 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11846 fix a gcc warning and ensure that the function won't ever exit.
11847
dde032e8 11848 * kern/i386/ieee1275/init.c: Add missing prototype for
11849 grub_stop_floppy().
11850
22cd079d 11851 * loader/ieee1275/multiboot2.c [__i386__]: Include
11852 grub/cpu/multiboot.h.
11853
a0c62e4e 11854 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11855 casts to short - they are not portable and cause warnings. Fix
11856 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11857
63963d17 118582009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 Drivemap fixes
11861
11862 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11863 new function
11864 (grub_get_root_biosnumber_saved): new variable
11865 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11866 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 11867 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 11868 %dx after the call if necessary
11869 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11870 (boot_mod_SOURCES): remove
11871 (boot_mod_CFLAGS): remove
11872 (boot_mod_LDFLAGS): remove
11873 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11874 (boot_mod_SOURCES): new variable
11875 (boot_mod_CFLAGS): likewise
11876 (boot_mod_LDFLAGS): likewise
11877 * conf/i386-efi.rmk: likewise
11878 * conf/i386-ieee1275.rmk: likewise
11879 * conf/i386-pc.rmk: likewise
11880 * conf/powerpc-ieee1275.rmk: likewise
11881 * conf/sparc64-ieee1275.rmk: likewise
11882 * conf/x86_64-efi.rmk: likewise
11883 * include/grub/i386/pc/biosnum.h: new file
11884 * lib/i386/pc/biosnum.c: likewise
11885 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11886 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11887 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 11888
33abf7ae 118892009-06-10 Pavel Roskin <proski@gnu.org>
11890
5ac35b35 11891 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11892 Use separate variables. Read only the file size at the end, but
11893 not the checksum that we don't use.
11894
5c5215d5 11895 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11896 Adjust all callers.
11897
27d5fef7 11898 * kern/ieee1275/openfw.c: Remove libc includes.
11899 * kern/ieee1275/cmain.c: Likewise.
11900 * include/grub/ieee1275/ieee1275.h: Likewise.
11901
33abf7ae 11902 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11903 compiler warnings.
11904
19d50c2b 119052009-06-10 Felix Zielcke <fzielcke@z-51.de>
11906
11907 * Makefile.in: Remove all trailing whitespace.
11908 * conf/i386-pc.rmk: Likewise.
11909 * conf/powerpc-ieee1275.rmk: Likewise.
11910 * conf/sparc64-ieee1275.rmk: Likewise.
11911 * docs/grub.texi: Likewise.
11912 * docs/texinfo.tex: Likewise.
11913 * disk/fs_uuid.c: Likewise.
11914 * disk/lvm.c: Likewise.
11915 * disk/scsi.c: Likewise.
11916 * disk/ata.c: Likewise.
11917 * disk/ieee1275/ofdisk.c: Likewise.
11918 * disk/i386/pc/biosdisk.c: Likewise.
11919 * disk/host.c: Likewise.
11920 * disk/raid.c: Likewise.
11921 * disk/efi/efidisk.c: Likewise.
11922 * disk/usbms.c: Likewise.
11923 * disk/memdisk.c: Likewise.
11924 * disk/loopback.c: Likewise.
11925 * kern/powerpc/dl.c: Likewise.
11926 * kern/device.c: Likewise.
11927 * kern/dl.c: Likewise.
11928 * kern/sparc64/dl.c: Likewise.
11929 * kern/ieee1275/ieee1275.c: Likewise.
11930 * kern/term.c: Likewise.
11931 * kern/fs.c: Likewise.
11932 * kern/i386/dl.c: Likewise.
11933 * kern/i386/pc/startup.S: Likewise.
11934 * kern/i386/pc/init.c: Likewise.
11935 * kern/i386/pc/mmap.c: Likewise.
11936 * kern/i386/pc/lzo1x.S: Likewise.
11937 * kern/i386/ieee1275/init.c: Likewise.
11938 * kern/i386/realmode.S: Likewise.
11939 * kern/i386/tsc.c: Likewise.
11940 * kern/partition.c: Likewise.
11941 * kern/corecmd.c: Likewise.
11942 * kern/file.c: Likewise.
11943 * kern/efi/efi.c: Likewise.
11944 * kern/efi/init.c: Likewise.
11945 * kern/efi/mm.c: Likewise.
11946 * kern/main.c: Likewise.
11947 * kern/err.c: Likewise.
11948 * kern/env.c: Likewise.
11949 * kern/disk.c: Likewise.
11950 * kern/generic/millisleep.c: Likewise.
11951 * kern/generic/rtc_get_time_ms.c: Likewise.
11952 * kern/misc.c: Likewise.
11953 * kern/parser.c: Likewise.
11954 * genmk.rb: Likewise.
11955 * configure.ac: Likewise.
11956 * boot/i386/pc/diskboot.S: Likewise.
11957 * boot/i386/pc/pxeboot.S: Likewise.
11958 * boot/i386/pc/boot.S: Likewise.
11959 * boot/i386/pc/lnxboot.S: Likewise.
11960 * boot/i386/pc/cdboot.S: Likewise.
11961 * parttool/pcpart.c: Likewise.
11962 * video/readers/tga.c: Likewise.
11963 * video/video.c: Likewise.
11964 * video/bitmap.c: Likewise.
11965 * lib/envblk.c: Likewise.
11966 * lib/i386/setjmp.S: Likewise.
11967 * fs/xfs.c: Likewise.
11968 * fs/afs.c: Likewise.
11969 * fs/fat.c: Likewise.
11970 * fs/ntfs.c: Likewise.
11971 * fs/udf.c: Likewise.
11972 * fs/affs.c: Likewise.
11973 * fs/iso9660.c: Likewise.
11974 * fs/hfs.c: Likewise.
11975 * fs/fshelp.c: Likewise.
11976 * fs/ext2.c: Likewise.
11977 * fs/jfs.c: Likewise.
11978 * fs/reiserfs.c: Likewise.
11979 * fs/hfsplus.c: Likewise.
11980 * fs/minix.c: Likewise.
11981 * fs/cpio.c: Likewise.
11982 * fs/sfs.c: Likewise.
11983 * fs/ufs.c: Likewise.
11984 * efiemu/prepare.c: Likewise.
11985 * efiemu/loadcore_common.c: Likewise.
11986 * efiemu/runtime/efiemu.sh: Likewise.
11987 * efiemu/runtime/efiemu.S: Likewise.
11988 * efiemu/runtime/efiemu.c: Likewise.
11989 * efiemu/pnvram.c: Likewise.
11990 * efiemu/main.c: Likewise.
11991 * efiemu/i386/pc/cfgtables.c: Likewise.
11992 * efiemu/i386/loadcore64.c: Likewise.
11993 * efiemu/i386/loadcore32.c: Likewise.
11994 * efiemu/loadcore.c: Likewise.
11995 * efiemu/symbols.c: Likewise.
11996 * efiemu/mm.c: Likewise.
11997 * include/grub/autoefi.h: Likewise.
11998 * include/grub/datetime.h: Likewise.
11999 * include/grub/term.h: Likewise.
12000 * include/grub/hfs.h: Likewise.
12001 * include/grub/lvm.h: Likewise.
12002 * include/grub/i386/tsc.h: Likewise.
12003 * include/grub/i386/linux.h: Likewise.
12004 * include/grub/i386/xnu.h: Likewise.
12005 * include/grub/i386/efiemu.h: Likewise.
12006 * include/grub/i386/pc/biosdisk.h: Likewise.
12007 * include/grub/i386/pc/memory.h: Likewise.
12008 * include/grub/i386/pc/vbe.h: Likewise.
12009 * include/grub/parttool.h: Likewise.
12010 * include/grub/video.h: Likewise.
12011 * include/grub/memory.h: Likewise.
12012 * include/grub/fs.h: Likewise.
12013 * include/grub/partition.h: Likewise.
12014 * include/grub/xnu.h: Likewise.
12015 * include/grub/efi/api.h: Likewise.
12016 * include/grub/efi/pe32.h: Likewise.
12017 * include/grub/efi/memory.h: Likewise.
12018 * include/grub/multiboot.h: Likewise.
12019 * include/grub/usbdesc.h: Likewise.
12020 * include/grub/multiboot2.h: Likewise.
12021 * include/grub/acpi.h: Likewise.
12022 * include/grub/efiemu/efiemu.h: Likewise.
12023 * include/grub/disk.h: Likewise.
12024 * include/grub/ieee1275/ieee1275.h: Likewise.
12025 * include/grub/net.h: Likewise.
12026 * include/grub/machoload.h: Likewise.
12027 * include/grub/macho.h: Likewise.
12028 * include/multiboot.h: Likewise.
12029 * genmoddep.awk: Likewise.
12030 * normal/main.c: Likewise.
12031 * normal/menu_entry.c: Likewise.
12032 * normal/menu_viewer.c: Likewise.
12033 * normal/completion.c: Likewise.
12034 * normal/cmdline.c: Likewise.
12035 * normal/misc.c: Likewise.
12036 * normal/datetime.c: Likewise.
12037 * bus/usb/usbtrans.c: Likewise.
12038 * bus/usb/ohci.c: Likewise.
12039 * bus/usb/uhci.c: Likewise.
12040 * bus/usb/usb.c: Likewise.
12041 * mmap/efi/mmap.c: Likewise.
12042 * mmap/i386/pc/mmap_helper.S: Likewise.
12043 * mmap/i386/pc/mmap.c: Likewise.
12044 * mmap/i386/mmap.c: Likewise.
12045 * mmap/i386/uppermem.c: Likewise.
12046 * mmap/mmap.c: Likewise.
12047 * commands/acpi.c: Likewise.
12048 * commands/echo.c: Likewise.
12049 * commands/blocklist.c: Likewise.
12050 * commands/loadenv.c: Likewise.
12051 * commands/usbtest.c: Likewise.
12052 * commands/boot.c: Likewise.
12053 * commands/parttool.c: Likewise.
12054 * commands/search.c: Likewise.
12055 * commands/cat.c: Likewise.
12056 * commands/i386/pc/play.c: Likewise.
12057 * commands/i386/pc/drivemap.c: Likewise.
12058 * commands/i386/pc/vbeinfo.c: Likewise.
12059 * commands/i386/pc/acpi.c: Likewise.
12060 * commands/i386/pc/vbetest.c: Likewise.
12061 * commands/ls.c: Likewise.
12062 * commands/cmp.c: Likewise.
12063 * commands/test.c: Likewise.
12064 * commands/efi/acpi.c: Likewise.
12065 * commands/gptsync.c: Likewise.
12066 * commands/help.c: Likewise.
12067 * partmap/amiga.c: Likewise.
12068 * partmap/apple.c: Likewise.
12069 * partmap/acorn.c: Likewise.
12070 * partmap/pc.c: Likewise.
12071 * partmap/sun.c: Likewise.
12072 * partmap/gpt.c: Likewise.
12073 * script/sh/lexer.c: Likewise.
12074 * script/sh/function.c: Likewise.
12075 * font/font.c: Likewise.
12076 * font/font_cmd.c: Likewise.
12077 * loader/powerpc/ieee1275/linux.c: Likewise.
12078 * loader/efi/chainloader.c: Likewise.
12079 * loader/multiboot_loader.c: Likewise.
12080 * loader/macho.c: Likewise.
12081 * loader/i386/multiboot.c: Likewise.
12082 * loader/i386/linux.c: Likewise.
12083 * loader/i386/pc/linux.c: Likewise.
12084 * loader/i386/pc/multiboot2.c: Likewise.
12085 * loader/i386/pc/chainloader.c: Likewise.
12086 * loader/i386/pc/xnu.c: Likewise.
12087 * loader/i386/bsd_trampoline.S: Likewise.
12088 * loader/i386/efi/linux.c: Likewise.
12089 * loader/i386/multiboot_elfxx.c: Likewise.
12090 * loader/i386/bsd_helper.S: Likewise.
12091 * loader/i386/bsd.c: Likewise.
12092 * loader/i386/linux_trampoline.S: Likewise.
12093 * loader/i386/xnu_helper.S: Likewise.
12094 * loader/i386/xnu.c: Likewise.
12095 * loader/i386/bsd_pagetable.c: Likewise.
12096 * loader/i386/multiboot_helper.S: Likewise.
12097 * loader/xnu.c: Likewise.
12098 * loader/xnu_resume.c: Likewise.
12099 * io/gzio.c: Likewise.
12100 * term/efi/console.c: Likewise.
12101 * term/terminfo.c: Likewise.
12102 * term/ieee1275/ofconsole.c: Likewise.
12103 * term/i386/pc/serial.c: Likewise.
12104 * term/i386/pc/vesafb.c: Likewise.
12105 * term/i386/pc/vga.c: Likewise.
12106 * term/usb_keyboard.c: Likewise.
12107 * term/gfxterm.c: Likewise.
12108 * aclocal.m4: Likewise.
12109 * util/lvm.c: Likewise.
12110 * util/grub.d/30_os-prober.in: Likewise.
12111 * util/grub.d/10_hurd.in: Likewise.
12112 * util/console.c: Likewise.
12113 * util/grub-macho2img.c: Likewise.
12114 * util/grub-probe.c: Likewise.
12115 * util/hostfs.c: Likewise.
12116 * util/i386/pc/grub-mkimage.c: Likewise.
12117 * util/i386/pc/grub-setup.c: Likewise.
12118 * util/i386/efi/grub-mkimage.c: Likewise.
12119 * util/grub-mkconfig.in: Likewise.
12120 * util/raid.c: Likewise.
12121 * util/resolve.c: Likewise.
12122 * util/grub-mkdevicemap.c: Likewise.
12123 * util/grub-emu.c: Likewise.
12124 * util/getroot.c: Likewise.
12125 * util/hostdisk.c: Likewise.
12126 * util/usb.c: Likewise.
12127 * util/grub-editenv.c: Likewise.
12128 * util/misc.c: Likewise.
12129
d2d49665 121302009-06-10 Felix Zielcke <fzielcke@z-51.de>
12131
12132 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
12133 `genparttoollist.sh'.
12134 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
12135 Add `*.sh' to the list find searches for and change `mdate.sh'
12136 to `mdate-sh'.
12137
fe052e37 121382009-06-10 Pavel Roskin <proski@gnu.org>
12139
2763ac18 12140 * include/grub/multiboot2.h: Provide compatibility defines for
12141 multiboot2.h.
12142 * include/multiboot2.h: Include stdint.h only if needed, using
12143 angle brackets.
12144 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
12145 grub/multiboot2.h.
12146 * loader/ieee1275/multiboot2.c: Likewise.
12147 * loader/multiboot2.c: Likewise.
12148 * loader/multiboot_loader.c: Likewise.
12149
437e6adc 12150 * configure.ac: Use -nostdlib when probing for the target. It
12151 should not be required to have libc for the target.
12152
06a6836c 12153 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
12154 they fail without libc headers for the target.
12155 * include/grub/powerpc/libgcc.h: Use weak attribute for all
12156 exports.
12157 * include/grub/sparc64/libgcc.h: Likewise. Don't use
12158 preprocessor conditionals.
12159
fe052e37 12160 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
12161 build system doesn't need to be aware of the tar.c internals.
12162
afd22553 121632009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 12164
afd22553 12165 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 12166
6b787c4f 121672009-06-09 Robert Millan <rmh.grub@aybabtu.com>
12168
12169 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
12170 disk limit to 26 for IDE, Virtio, Xen and SCSI.
12171
121722009-06-09 Felix Zielcke <fzielcke@z-51.de>
12173
12174 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 12175 aren't available if ata.mod gets used.
6b787c4f 12176
473d1e45 121772009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 12178
473d1e45 12179 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 12180 initialising controller.
473d1e45 12181 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 12182
255a27d4 121832009-06-08 Felix Zielcke <fzielcke@z-51.de>
12184
12185 * util/i386/pc/grub-install.in: Add a parameter --disk-module
12186 to choose between ata and biosdisk module on i386-pc.
12187
473d1e45 121882009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 12189
d55842d8 12190 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
12191 Subclass and Programming Interface fields in terms of the 3 byte
12192 Class Code register.
12193 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12194
fa5db0b1 12195 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
12196 interface is OHCI. Add grub_dprintf for symmetry with
12197 bus/usb/uhci.c.
12198 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
12199 interface is UHCI. Add interf variable for programming
12200 interface. Print interface with class/subclass.
12201
c0947beb 12202 * bus/usb/ohci.c: Set interf with correct field.
12203
69da8877 12204 * bus/usb/uhci.c: Remove unneeded doubled lines.
12205 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
12206 Remove whitespace inside comment.
12207
9e172e30 122082009-06-08 Robert Millan <rmh.grub@aybabtu.com>
12209
12210 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
12211 as fallback an equivalent option without depth.
12212
de65ee2b 122132009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 Not fail if unable to retrieve C/H/S on LBA disks
12216
473d1e45 12217 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 12218 if unable to retrieve C/H/S on LBA disks
12219
b57ea2c9 122202009-06-08 Pavel Roskin <proski@gnu.org>
12221
12222 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
12223 about aliasing.
12224
af361263 122252009-06-08 Felix Zielcke <fzielcke@z-51.de>
12226
12227 * Makefile.in (uninstall): Remove all $lib_DATA files.
12228
4c9ec6b3 122292009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Bugfix: install on partitionless device
12232
12233 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
12234 is a whole disk
12235
e76fc924 122362009-06-08 Felix Zielcke <fzielcke@z-51.de>
12237
12238 * Makefile.in (uninstall): Remove all $include_DATA files.
12239
ba5a0d05 122402009-06-08 Felix Zielcke <fzielcke@z-51.de>
12241
12242 * commands/true.c: New file. Implement the true and false commands.
12243 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
12244 (true_mod_SOURCES): New variable.
12245 (true_mod_CFLAGS): Likewise.
12246 (true_mod_LDFLAGS): Likewise.
12247
c8048e32 122482009-06-05 Colin D Bennett <colin@gibibit.com>
12249
12250 Optimized font character lookup using binary search instead of linear
12251 search. Fonts now are required to have the character index ordered by
12252 code point.
12253
12254 * font/font.c (load_font_index): Verify that fonts have ordered
12255 character indices.
12256 (find_glyph): Use binary search instead of linear search to find a
12257 character in a font.
12258
408305be 122592009-06-05 Michael Scherer <misc@mandriva.org>
12260
12261 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
12262 uses case sensitive btree.
12263 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
12264 only for case insensitive filesystems.
12265
8ee1e0d9 122662009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
12269 * conf/common.rmk (search_mod_CFLAGS): likewise
12270
a9966eb1 122712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12272
473d1e45 12273 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 12274 compensate a compiler bug
12275
9e7100fb 122762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12277
473d1e45 12278 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 12279 instead of '\b'
473d1e45 12280
ede21d71 122812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 Definitions for creating asm symbols with Apple's CC
12284
12285 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
12286 [APPLE_CC] (VARIABLE): likewise
12287
9dbf7653 122882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 Disable lnxboot.img when compiled
12291 with Apple's CC
12292
12293 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
12294 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
12295 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
12296 [! APPLE_CC] (CODE_LENG): skip
12297 [! APPLE_CC] (setup_sects): likewise
12298 [! APPLE_CC]: skip filling
473d1e45 12299
e93cdc3d 123002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Address in trampolines based on 32-bit registers when compiled
12303 with Apple's CC
12304
473d1e45 12305 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 12306 for addresses
12307 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
12308
6c688477 123092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Avoid aliases when compiling with Apple's CC for PCBIOS machine
12312
12313 * kern/misc.c [APPLE_CC] (memcpy): new function
12314 [APPLE_CC] (memmove): likewise
12315 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 12316 (memcpy): define alias conditionally on !APPLE_CC
6c688477 12317 (memset): likewise
12318 (abort): likewise
12319 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
12320 APPLE_CC are defined
12321 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
12322 (grub_assert_fail): make prototype conditional
12323
e37ffc5c 123242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
12327
473d1e45 12328 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
12329 grub-macho2img
e37ffc5c 12330 (CLEANFILES): add grub-macho2img
12331 (grub_macho2img_SOURCES): new variable
12332 * kern/i386/pc/startup.S (bss_start): new variable
12333 (bss_end): likewise
12334 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
12335 * util/grub-macho2img.c: new file
12336
cf00df31 123372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 Use objconv when compiling with Apple's CC
12340
12341 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
12342 (efiemu64.o): likewise
12343 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
12344 when compiling with Apple's CC
12345 (efiemu64_s.o): likewise
12346 * configure.ac: check for objconv when compiling with Apple's CC
12347 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 12348
d119a20c 123492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 Define segment as well as section when compiling with
12352 Apple's CC
12353
12354 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
12355 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
12356 (efiemu_convert_pointer): likewise
12357 (efiemu_set_virtual_address_map): likewise
12358 (efiemu_convert_pointer): likewise
12359 (efiemu_getcrc32): likewise
12360 (init_crc32_table): likewise
12361 (reflect): likewise
12362 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
12363 (GRUB_MOD_DEP): likewise
473d1e45 12364
c8600122 123652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 Allow a compilation without -mcmodel=large
12368
12369 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
12370 when compiled without -mcmodel=large
473d1e45 12371 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 12372 without -mcmodel=large
473d1e45 12373 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 12374 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 12375
e8df1d4e 123762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 Remove nested functions in efiemu core
12379
12380 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 12381
cc6c3ac1 123822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
12385
12386 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
12387 temporary storage
473d1e45 12388 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
12389 using Apple's CC
cc6c3ac1 12390 (grub_cpu_is_tsc_supported): likewise
12391 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 12392
3e325901 123932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 Absolute addressing through constant with Apple's cc
12396
12397 * kern/i386/pc/startup.S: Define necessary constants
12398 and address through it when using ABS with Apple's CC
12399 * boot/i386/pc/diskboot.S: likewise
12400 * boot/i386/pc/boot.S: likewise
12401 * boot/i386/pc/lnxboot.S: likewise
12402 * boot/i386/pc/cdboot.S: likewise
12403 * mmap/i386/pc/mmap_helper.S: likewise
12404 * commands/i386/pc/drivemap_int13h.S: likewise
12405
2b167a72 124062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 Check if compiler is apple cc
12409
12410 * Makefile.in (ASFLAGS): new variable
12411 (TARGET_ASFLAGS): likewise
12412 (TARGET_MODULE_FORMAT): likewise
12413 (TARGET_APPLE_CC): likewise
12414 (OBJCONV): likewise
12415 (TARGET_IMG_CFLAGS): likewise
12416 (TARGET_CPPFLAGS): add includedir
12417 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12418 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12419 Check for linker script only if compiler isn't Apple's CC
12420 (TARGET_MODULE_FORMAT): set
12421 (TARGET_APPLE_CC): likewise
12422 (TARGET_ASFLAGS): likewise
12423 (ASFLAGS): likewise
12424 Check for objcopy only if compiler isn't Apple's CC
12425 Check for BSS symbol only if compiler isn't Apple's CC
12426 * genmk.rb: adapt nm options if we use Apple's utils
12427 * aclocal.m4 (grub_apple_cc): new test
12428 (grub_apple_target_cc): likewise
473d1e45 12429
fb14123e 124302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Simplify sed expressions and improve awk
12433
12434 * Makefile.in (install-local): simplify sed expression
12435 * gencmdlist.sh: likewise
12436 * genmoddep.awk: avoid adding module as a dependency of itself
12437
5b889789 124382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 Add missing start symbols
12441
12442 * boot/i386/pc/boot.S: add start
fb14123e 12443 * boot/i386/pc/pxeboot.S: likewise
473d1e45 12444
fd2bf2e3 124452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 12448
12449 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 12450 (relocate_addresses): consider both r_addend and value at offset
12451 (make_mods_section): zerofill modinfo and header
12452 (convert_elf): write prefix here
473d1e45 12453
5389763d 124542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 Use .asciz instead of .string
12457
12458 * i386/pc/diskboot.S: use .asciz instead of .string
12459 * i386/pc/boot.S: likewise
12460 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12461 (GRUB_MOD_NAME): likewise
473d1e45 12462
3eb5ed4e 124632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 gfxpayload support
12466
12467 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12468 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12469 (grub_video_setup): remove
12470 (grub_video_set_mode): new prototype
12471 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12472 (vid_mode): remove
12473 (linux_vesafb_res): compile only on PCBIOS
12474 (grub_linux_boot): support gfxpayload
12475 * loader/i386/pc/xnu.c (video_hook): new function
12476 (grub_xnu_set_video): support gfxpayload
12477 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12478 (DEFAULT_VIDEO_HEIGHT): likewise
12479 (DEFAULT_VIDEO_FLAGS): likewise
12480 (DEFAULT_VIDEO_MODE): new definition
12481 (video_hook): new function
12482 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 12483 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 12484 loading xnu
12485 * video/video.c (grub_video_setup): removed
473d1e45 12486 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 12487 grub_video_setup
12488
4b0e1143 124892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Avoid calling biosdisk in drivemap
12492
12493 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12494 (revparse_biosdisk): likewise
12495 (list_mappings): derive name from id directly
12496 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 12497
fda6cb98 124982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 Script fixes
12501
12502 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12503 (grub_lexer_param): add tokenonhold
12504 (grub_script_create_cmdline): remove cmdline. All callers updated
12505 (grub_script_function_create): make functionname
12506 grub_script_arg. All callers updated
12507 (grub_script_execute_argument_to_string): new prototype
12508 * kern/parser.c (state_transitions): reorder
12509 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 12510 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 12511 make global
12512 (grub_script_execute_cmdline): use new format
12513 * script/sh/function.c (grub_script_function_create): make functionname
12514 grub_script_arg. All callers updated
473d1e45 12515 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 12516 (grub_script_yylex): remove
12517 (grub_script_yylex2): renamed to ...
12518 (grub_script_yylex): ...renamed
12519 parse the expressions like a${b}c
12520 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12521 (GRUB_PARSER_TOKEN_VAR): remove
12522 (GRUB_PARSER_TOKEN_NAME): likewise
12523 ("if"): declare as typeless
12524 ("while"): likewise
12525 ("function"): likewise
12526 ("else"): likewise
12527 ("then"): likewise
12528 ("fi"): likewise
12529 (text): remove
12530 (argument): likewise
12531 (script): accept empty scripts and make exit on error
12532 (arguments): use GRUB_PARSER_TOKEN_ARG
12533 (function): likewise
12534 (command): move error handling to script
12535 (menuentry): move grub_script_lexer_ref before
473d1e45 12536 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 12537 argument. All callers updated
12538
f4448a07 125392009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12540
12541 Prevent GRUB from probing floppies during boot.
12542
12543 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12544 * commands/search.c (options): Add --no-floppy.
12545 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12546 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12547 --no-floppy when searching for UUIDs.
12548
2bf5885a 125492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12550
12551 Simplify the code duplication in commands/search.c.
12552
12553 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12554 (search_fs): ... this. Update all users.
12555
f6fd460a 125562009-06-03 Felix Zielcke <fzielcke@z-51.de>
12557
12558 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12559
cbb3c83e 125602009-05-28 Pavel Roskin <proski@gnu.org>
12561
57788cfd 12562 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12563 Remove the original symlink explicitly.
12564
cbb3c83e 12565 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12566 just one slash. That's how grub_fshelp_find_file() does it.
12567
cd0d5e30 125682009-05-26 Pavel Roskin <proski@gnu.org>
12569
f0f8bbe2 12570 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12571 to `str'.
12572
cd0d5e30 12573 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12574 possibly unused.
12575
8c2cab51 125762009-05-25 Christian Franke <franke@computer.org>
12577
12578 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12579 register.
12580 (grub_atapi_identify): Add wait after drive select.
12581 (grub_ata_identify): Do more strict status register check before
12582 calling grub_atapi_identify (). Suppress error message if status
12583 register is 0x00 after command failure. Add status register
12584 check after PIO read to avoid bogus identify due to stuck DRQ.
12585 Thanks to Pavel Roskin for testing.
12586 (grub_device_initialize): Remove unsafe status register check.
12587 Thanks to 'phcoder' for problem report and patch.
12588 Prevent sign extension in debug message.
12589
230c0ad6 125902009-05-23 Colin D Bennett <colin@gibibit.com>
12591
12592 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12593 definition file, and functions defined in `normal/menu.c' have had
12594 their prototypes moved to `include/grub/menu.h' for consistency.
12595
12596 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12597 from normal.h.
12598 (grub_menu_get_entry): Likewise.
12599 (grub_menu_get_timeout): Likewise.
12600 (grub_menu_set_timeout): Likewise.
12601 (grub_menu_execute_entry): Likewise.
12602 (grub_menu_execute_with_fallback): Likewise.
12603 (grub_menu_entry_run): Likewise.
12604
12605 * include/grub/normal.h: Re-ordered and grouped function
12606 prototypes by file that the function is defined in.
12607 (grub_menu_execute_callback): Removed; moved to menu.h.
12608 (grub_menu_get_entry): Likewise.
12609 (grub_menu_get_timeout): Likewise.
12610 (grub_menu_set_timeout): Likewise.
12611 (grub_menu_execute_entry): Likewise.
12612 (grub_menu_execute_with_fallback): Likewise.
12613 (grub_menu_entry_run): Likewise.
12614 (grub_menu_addentry): Renamed from this ...
12615 (grub_normal_add_menu_entry): ... to this.
12616
12617 * normal/main.c (grub_menu_addentry): Renamed from this ...
12618 (grub_normal_add_menu_entry): ... to this.
12619
12620 * script/sh/execute.c (grub_script_execute_menuentry): Update
12621 reference to renamed grub_menu_addentry function.
12622
861f03a5 126232009-05-23 Felix Zielcke <fzielcke@z-51.de>
12624
12625 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12626
96b1619a 126272009-05-22 Pavel Roskin <proski@gnu.org>
12628
bf6a5fb2 12629 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12630 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12631 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12632 compiling for the i386 targets, but not for the utilities.
12633
96b1619a 12634 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12635 to grub_uint8_t.
12636 (grub_root_drive): Likewise.
12637 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12638 remove alignment.
12639 (grub_root_drive): Change size to byte.
12640 (grub_start_addr): Remove.
12641 (grub_end_addr): Likewise.
12642 (grub_apm_bios_info): Likewise.
12643
b729776b 126442009-05-21 Felix Zielcke <fzielcke@z-51.de>
12645
12646 * normal/i386: Remove.
12647 * normal/powerpc: Likewise.
12648 * normal/sparc64: Likewise.
12649 * normal/x86_64: Likewise.
12650
0a15ce80 126512009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 12654 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 12655 * loader/i386/xnu_helper.S: Likewise
d6da58e6 12656
33db9015 126572009-05-18 Colin D Bennett <colin@gibibit.com>
12658
d6da58e6 12659 Display error messages when parsing a Lua statement fails.
12660 Previously, executing a syntactically invalid statement like
12661 ")foo" or "bar;" would silently fail.
33db9015 12662
12663 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 12664 (grub_lua_parse_line): Improved reporting of Lua parser and
12665 execution errors.
33db9015 12666
46422c89 126672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 Remove -Werror which causes build to fail on some systems
12670
12671 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12672 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12673 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 12674
22f53a96 126752009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 trampoline for linux on 64-bit platform
12678
18f547ad 12679 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12680 loader/i386/efi/linux_trampoline.S
12681 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 12682 declaration
d6da58e6 12683 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12684 here
22f53a96 12685 * loader/i386/linux_trampoline.S: moved here
d6da58e6 12686 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12687 trampoline
22f53a96 12688 (jumpvector): removed
12689 (grub_linux_trampoline_start): new declaration
12690 (grub_linux_trampoline_end): likewise
12691 (grub_linux_boot): use trampoline when on 64-bit platform
12692 * loader/i386/linux.c: likewise
12693
cb5a0f40 126942009-05-16 Pavel Roskin <proski@gnu.org>
12695
12696 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12697 const to avoid a warning.
12698 (grub_lua_setenv): Likewise.
12699 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12700 lmsg to fix a warning.
12701
334f2c28 127022009-05-16 Felix Zielcke <fzielcke@z-51.de>
12703
12704 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 12705 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12706 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12707 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12708 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12709 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12710 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12711 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 12712
59e5d3ec 127132009-05-16 Felix Zielcke <fzielcke@z-51.de>
12714
12715 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12716
9d87a1ba 127172009-05-16 Bean <bean123ch@gmail.com>
12718
12719 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12720 (lua_mod_SOURCES): New variable.
12721 (lua_mod_CFLAGS): Likewise.
12722 (lua_mod_LDFLAGS): Likewise.
12723
12724 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12725 (setjmp_mod_SOURCES): New variable.
12726 (setjmp_mod_CFLAGS): Likewise.
12727 (setjmp_LDFLAGS): Likewise.
12728
12729 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12730 (setjmp_mod_SOURCES): New variable.
12731 (setjmp_mod_CFLAGS): Likewise.
12732 (setjmp_LDFLAGS): Likewise.
12733
12734 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12735 (setjmp_mod_SOURCES): New variable.
12736 (setjmp_mod_CFLAGS): Likewise.
12737 (setjmp_LDFLAGS): Likewise.
12738
12739 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12740 (setjmp_mod_SOURCES): New variable.
12741 (setjmp_mod_CFLAGS): Likewise.
12742 (setjmp_LDFLAGS): Likewise.
12743
12744 * normal/i386/setjmp.S: Moved from here ...
12745 * lib/i386/setjmp.S: ... Moved here
12746 * normal/x86_64/setjmp.S: Moved from here ...
12747 * lib/x86_64/setjmp.S: ... Moved here
12748 * normal/powerpc/setjmp.S: Moved from here ...
12749 * lib/powerpc/setjmp.S: ... Moved here
12750 * normal/sparc64/setjmp.S: Moved from here ...
12751 * lib/sparc64/setjmp.S: ... Moved here
12752
12753 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12754 returns_twice in mingw.
12755
12756 * script/lua/grub_lib.c: New file.
12757 * script/lua/grub_lib.h: Likewise.
12758 * script/lua/grub_lua.h: Likewise.
12759 * script/lua/grub_main.c: Likewise.
12760 * script/lua/lapi.c: Likewise.
12761 * script/lua/lapi.h: Likewise.
12762 * script/lua/lauxlib.c: Likewise.
12763 * script/lua/lauxlib.h: Likewise.
12764 * script/lua/lbaselib.c: Likewise.
12765 * script/lua/lcode.c: Likewise.
12766 * script/lua/lcode.h: Likewise.
12767 * script/lua/ldblib.c: Likewise.
12768 * script/lua/ldebug.c: Likewise.
12769 * script/lua/ldebug.h: Likewise.
12770 * script/lua/ldo.c: Likewise.
12771 * script/lua/ldo.h: Likewise.
12772 * script/lua/ldump.c: Likewise.
12773 * script/lua/lfunc.c: Likewise.
12774 * script/lua/lfunc.h: Likewise.
12775 * script/lua/lgc.c: Likewise.
12776 * script/lua/lgc.h: Likewise.
12777 * script/lua/linit.c: Likewise.
12778 * script/lua/liolib.c: Likewise.
12779 * script/lua/llex.c: Likewise.
12780 * script/lua/llex.h: Likewise.
12781 * script/lua/llimits.h: Likewise.
12782 * script/lua/lmathlib.c: Likewise.
12783 * script/lua/lmem.c: Likewise.
12784 * script/lua/lmem.h: Likewise.
12785 * script/lua/loadlib.c: Likewise.
12786 * script/lua/lobject.c: Likewise.
12787 * script/lua/lobject.h: Likewise.
12788 * script/lua/lopcodes.c: Likewise.
12789 * script/lua/lopcodes.h: Likewise.
12790 * script/lua/loslib.c: Likewise.
12791 * script/lua/lparser.c: Likewise.
12792 * script/lua/lparser.h: Likewise.
12793 * script/lua/lstate.c: Likewise.
12794 * script/lua/lstate.h: Likewise.
12795 * script/lua/lstring.c: Likewise.
12796 * script/lua/lstring.h: Likewise.
12797 * script/lua/lstrlib.c: Likewise.
12798 * script/lua/ltable.c: Likewise.
12799 * script/lua/ltable.h: Likewise.
12800 * script/lua/ltablib.c: Likewise.
12801 * script/lua/ltm.c: Likewise.
12802 * script/lua/ltm.h: Likewise.
12803 * script/lua/lua.h: Likewise.
12804 * script/lua/luaconf.h: Likewise.
12805 * script/lua/lualib.h: Likewise.
12806 * script/lua/lundump.c: Likewise.
12807 * script/lua/lundump.h: Likewise.
12808 * script/lua/lvm.c: Likewise.
12809 * script/lua/lvm.h: Likewise.
12810 * script/lua/lzio.c: Likewise.
12811 * script/lua/lzio.h: Likewise.
12812
5e898c9d 128132009-05-16 Bean <bean123ch@gmail.com>
12814
12815 * include/grub/kernel.h (grub_module_header_types): Add type
12816 OBJ_TYPE_CONFIG.
12817
12818 * kern/main.c (grub_load_config): New function.
12819 (grub_main): Call grub_load_config to read boot config.
12820
12821 * grub-mkimage (generate_image): New parameter config_path.
12822 (options): New option --config.
12823 (main): Parse --config option, and pass it to generate_image.
12824
cf353a47 128252009-05-14 Christian Franke <franke@computer.org>
12826
12827 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12828 This fixes build on Cygwin.
12829
3834887f 128302009-05-14 Pavel Roskin <proski@gnu.org>
12831
12832 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12833 jump. This saves two bytes, so the typical case of 2 swapped
12834 drives would fit 32 bytes.
12835
8090fc01 128362009-05-13 Pavel Roskin <proski@gnu.org>
12837
ac963883 12838 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12839 grub_uint32_t to avoid a warning.
12840
8090fc01 12841 * loader/i386/linux.c (allocate_pages): When assigning
12842 real_mode_mem, cast through grub_size_t to fix a warning. The
12843 code already makes sure that the value would fit a pointer.
12844 (grub_linux_setup_video): Cast render_target->data to
12845 grub_size_t to fix a warning.
12846
18f547ad 128472009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 12848
12849 * commands/i386/pc/drivemap.c: New file - implement drivemap
12850 command.
12851 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12852 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12853
6f6a8b28 128542009-05-13 Pavel Roskin <proski@gnu.org>
12855
12856 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12857 embedding_area_exists.
12858
15fbf4c4 128592009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12860
12861 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12862 it easier to understand / work with.
59978c8a 12863 Improve warning messages for cases where there's no embedding area,
12864 or when it is too small (or core.img too large).
15fbf4c4 12865
238e871f 128662009-05-13 Pavel Roskin <proski@gnu.org>
12867
0ab3a9a4 12868 * loader/i386/pc/multiboot2.c: Add necessary includes for
12869 grub_multiboot2_real_boot().
12870
a2c8c5f8 12871 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12872 PX record is always little-endian. We only need the lower 2
12873 bytes of the mode.
12874
faec96af 12875 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12876 facilitate code reuse.
12877 (grub_cpio_mount): Use "struct head", not a char buffer. This
12878 fixes a warning reported by gcc 4.4.
12879
238e871f 12880 * kernel/disk.c (grub_disk_read): Use void pointer for the
12881 buffer.
12882 (grub_disk_write): Use const void pointer for the buffer.
12883 Adjust all callers. Remove unnecessary casts.
12884
901d2f0c 128852009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12886
12887 * util/i386/pc/grub-install.in: Update copyright year.
12888
18f547ad 128892009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 12890
12891 gptsync
12892
12893 * commands/gptsync.c: new file
12894 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12895 (gptsync_mod_SOURCES): new variable
12896 (gptsync_mod_CFLAGS): likewise
12897 (gptsync_mod_LDFLAGS): likewise
18f547ad 12898 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 12899 new definition
12900 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12902 * conf/i386-ieee1275.rmk: likewise
12903 * conf/i386-pc.rmk: likewise
12904 * conf/powerpc-ieee1275.rmk: likewise
12905
b4ba690a 129062009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 Fixed grub-emu
12909
12910 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12911 (grub_dl_ref): likewise
12912
317e1a44 129132009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12914
12915 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12916 split in two functions (one for msdos and one for gpt).
12917
041b8094 129182009-05-08 Pavel Roskin <proski@gnu.org>
12919
752473c2 12920 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12921 not modified.
12922
041b8094 12923 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12924 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12925 Initialize them with -1. Add sanity check for bad1. Eliminate
12926 nerr variable.
12927
172800ce 129282009-05-08 David S. Miller <davem@davemloft.net>
12929
12930 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12931
29aa5e81 129322009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12933
12934 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 12935 existence.
29aa5e81 12936
96613b62 129372009-05-05 Felix Zielcke <fzielcke@z-51.de>
12938
12939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 12940 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 12941
eef73c8a 129422009-05-05 David S. Miller <davem@davemloft.net>
12943
12944 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12945
119494b5 129462009-05-05 Pavel Roskin <proski@gnu.org>
12947
12948 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12949 of grub_dl_ref() and grub_dl_unref().
12950 * commands/parttool.c: Remove preprocessor conditionals around
12951 grub_dl_ref() and grub_dl_unref().
12952 * fs/affs.c: Likewise.
12953 * fs/afs.c: Likewise.
12954 * fs/cpio.c: Likewise.
12955 * fs/ext2.c: Likewise.
12956 * fs/fat.c: Likewise.
12957 * fs/hfs.c: Likewise.
12958 * fs/hfsplus.c: Likewise.
12959 * fs/iso9660.c: Likewise.
12960 * fs/jfs.c: Likewise.
12961 * fs/minix.c: Likewise.
12962 * fs/ntfs.c: Likewise.
12963 * fs/reiserfs.c: Likewise.
12964 * fs/sfs.c: Likewise.
12965 * fs/udf.c: Likewise.
12966 * fs/ufs.c: Likewise.
12967 * fs/xfs.c: Likewise.
12968 * include/grub/dl.h: Likewise.
12969 * loader/xnu.c: Likewise.
12970
de5fd76e 129712009-05-04 Pavel Roskin <proski@gnu.org>
12972
12973 * commands/acpi.c: Remove unused variable my_mod.
12974 * partmap/amiga.c: Likewise.
12975 * partmap/apple.c: Likewise.
12976 * partmap/gpt.c: Likewise.
12977 * partmap/pc.c: Likewise.
12978 * partmap/sun.c: Likewise.
12979 * term/gfxterm.c: Likewise.
12980 * term/i386/pc/vesafb.c: Likewise.
12981 * term/i386/pc/vga.c: Likewise.
12982
983598ad 129832009-05-04 David S. Miller <davem@davemloft.net>
12984
12985 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12986 pointer args to grub_ieee1275_get_property().
12987
8aadec43 12988 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12989
9554b15e 12990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12991 devices, and do not traverse down under controller nodes.
12992
67e23c90 12993 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12994 (grub_ofdisk_open): Use it to un-escape "," characters.
12995 * kern/disk.c (find_part_sep): New.
12996 (grub_disk_open): Use it to find the first non-escaped ','
12997 character in the disk name.
12998 * util/ieee1275/devicemap.c (escape_of_path): New.
12999 (grub_util_emit_devicemap_entry): Use it.
13000 * util/sparc64/ieee1275/grub-install.in: Update script to
13001 strip partition specifiers properly by not triggering on
13002 '\' escaped ',' characters.
13003
74bfdd2f 130042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13005
13006 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
13007 to 0x300.
13008 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
13009 resolutions.
13010 (linux_vesafb_modes): Add a lot of additional modes to the list (based
13011 on documentation from Wikipedia).
13012
4241d2b1 130132009-05-04 Pavel Roskin <proski@gnu.org>
13014
13015 * disk/ata.c: Spelling fixes.
13016 * disk/raid.c: Likewise.
13017 * disk/usbms.c: Likewise.
13018 * disk/dmraid_nvidia.c: Likewise.
13019 * kern/ieee1275/openfw.c: Likewise.
13020 * kern/ieee1275/init.c: Likewise.
13021 * kern/ieee1275/cmain.c: Likewise.
13022 * boot/i386/pc/cdboot.S: Likewise.
13023 * video/readers/png.c: Likewise.
13024 * video/i386/pc/vbe.c: Likewise.
13025 * fs/udf.c: Likewise.
13026 * fs/hfs.c: Likewise.
13027 * fs/reiserfs.c: Likewise.
13028 * efiemu/runtime/efiemu.c: Likewise.
13029 * efiemu/main.c: Likewise.
13030 * efiemu/mm.c: Likewise.
13031 * include/grub/elf.h: Likewise.
13032 * include/grub/xnu.h: Likewise.
13033 * include/grub/usbdesc.h: Likewise.
13034 * include/grub/usb.h: Likewise.
13035 * include/grub/script_sh.h: Likewise.
13036 * include/grub/lib/LzmaEnc.h: Likewise.
13037 * include/grub/efiemu/efiemu.h: Likewise.
13038 * include/grub/command.h: Likewise.
13039 * normal/menu.c: Likewise.
13040 * normal/main.c: Likewise.
13041 * normal/datetime.c: Likewise.
13042 * bus/usb/uhci.c: Likewise.
13043 * mmap/i386/uppermem.c: Likewise.
13044 * mmap/mmap.c: Likewise.
13045 * commands/acpi.c: Likewise.
13046 * commands/test.c: Likewise.
13047 * partmap/apple.c: Likewise.
13048 * font/font.c: Likewise.
13049 * loader/sparc64/ieee1275/linux.c: Likewise.
13050 * loader/macho.c: Likewise.
13051 * loader/i386/bsd_trampoline.S: Likewise.
13052 * loader/i386/bsd.c: Likewise.
13053 * loader/xnu.c: Likewise.
13054 * term/i386/pc/vesafb.c: Likewise.
13055 * term/usb_keyboard.c: Likewise.
13056 * util/resolve.c: Likewise.
13057 * util/getroot.c: Likewise.
13058
0cfc0083 130592009-05-04 Felix Zielcke <fzielcke@z-51.de>
13060
13061 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
13062
7c1d00cd 130632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13064
13065 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
13066 build error.
13067
b01f0548 130682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13069
13070 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
13071 parameter only available on BIOS.
13072
ecc3eb22 130732009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 Removed wrong semicolon in declaration
13076
13077 * grub/misc.h (grub_dprintf): remove semicolon
13078
112972a9 130792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13080
13081 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
13082 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
13083 is done by grub_cmd_linux() now).
13084 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
13085 restore video to text mode.
13086 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
13087 indicates lack of "vga=" parameter. "vga=0" is mapped to
13088 `GRUB_LINUX_VID_MODE_NORMAL'.
13089
afd5c115 130902009-05-04 Felix Zielcke <fzielcke@z-51.de>
13091
13092 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
13093 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
13094 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 13095 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 13096 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
13097 `grub_script.tab.c'.
13098
13099 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13100 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13102 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13103 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13104
faa517ce 13105 * Makefile.in: Remove duplicated 2008 in Copyright line.
13106
ae0c0bdc 131072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13108
473d1e45 13109 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 13110 unconditionally.
13111 * include/grub/util/misc.h (grub_util_warn): New declaration.
13112
13113 * util/i386/pc/grub-install.in: Understand --force and pass it down
13114 to grub-setup.
13115
13116 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
13117 down to setup().
13118 (setup): Improve error messages and add warnings when requested to
13119 install in odd layouts. Refuse to install using blocklists unless
13120 --force was set.
13121
18f547ad 131222009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 13123
13124 * disk/raid.c (grub_raid_scan_device): Improve debug message.
13125
6d260daa 131262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Updated copyright year
13129
13130 * fs/hfsplus.c: updated copyright year
18f547ad 13131
69f853f8 131322009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 HFS+ UUID
13135
18f547ad 13136 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 13137 in the space previously used by unused3
13138 (grub_hfsplus_uuid): new function
13139 (grub_hfsplus_fs): added uuid field
13140
4c402e73 131412009-05-03 Pavel Roskin <proski@gnu.org>
13142
13143 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
13144 suppress warnings. It's no longer needed.
13145 * disk/host.c: Likewise.
13146 * disk/ata_pthru.c: Likewise.
13147 * disk/loopback.c: Likewise.
13148 * hook/datehook.c: Likewise.
13149 * parttool/pcpart.c: Likewise.
13150 * fs/i386/pc/pxe.c: Likewise.
13151 * fs/ntfscomp.c: Likewise.
13152 * efiemu/main.c: Likewise.
13153 * mmap/mmap.c: Likewise.
13154 * commands/crc.c: Likewise.
13155 * commands/hexdump.c: Likewise.
13156 * commands/hdparm.c: Likewise.
13157 * commands/acpi.c: Likewise.
13158 * commands/echo.c: Likewise.
13159 * commands/minicmd.c: Likewise.
13160 * commands/blocklist.c: Likewise.
13161 * commands/memrw.c: Likewise.
13162 * commands/loadenv.c: Likewise.
13163 * commands/usbtest.c: Likewise.
13164 * commands/lsmmap.c: Likewise.
13165 * commands/boot.c: Likewise.
13166 * commands/parttool.c: Likewise.
13167 * commands/configfile.c: Likewise.
13168 * commands/search.c: Likewise.
13169 * commands/ieee1275/suspend.c: Likewise.
13170 * commands/cat.c: Likewise.
13171 * commands/i386/pc/pxecmd.c: Likewise.
13172 * commands/i386/pc/play.c: Likewise.
13173 * commands/i386/pc/halt.c: Likewise.
13174 * commands/i386/pc/vbeinfo.c: Likewise.
13175 * commands/i386/pc/vbetest.c: Likewise.
13176 * commands/lspci.c: Likewise.
13177 * commands/date.c: Likewise.
13178 * commands/handler.c: Likewise.
13179 * commands/ls.c: Likewise.
13180 * commands/test.c: Likewise.
13181 * commands/cmp.c: Likewise.
13182 * commands/efi/loadbios.c: Likewise.
13183 * commands/efi/fixvideo.c: Likewise.
13184 * commands/halt.c: Likewise.
13185 * commands/help.c: Likewise.
13186 * commands/reboot.c: Likewise.
13187 * hello/hello.c: Likewise.
13188 * script/sh/main.c: Likewise.
13189 * loader/xnu.c: Likewise.
13190 * term/terminfo.c: Likewise.
13191 * term/i386/pc/serial.c: Likewise.
13192 * term/usb_keyboard.c: Likewise.
13193
515b5079 131942009-05-03 David S. Miller <davem@davemloft.net>
13195
13196 * normal/menu.c: Include grub/parser.h
13197
dfc31a22 131982009-05-03 Pavel Roskin <proski@gnu.org>
13199
2fee74f1 13200 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
13201 not char*.
13202 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
13203 Suggested by Javier Martín <lordhabbit@gmail.com>
13204
dfc31a22 13205 * util/i386/pc/grub-mkrescue.in: Allow for the case when
13206 efiemu??.o doesn't exist.
13207 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
13208 copying.
13209
18f547ad 132102009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 13211
13212 FreeBSD 64-bit support
13213
18f547ad 13214 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 13215 and loader/i386/bsd_trampoline.S
13216 (bsd_mod_ASFLAGS): new variable
13217 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
13218 (FREEBSD_MODTYPE_KERNEL64): likewise
13219 (grub_bsd64_trampoline_start): likewise
13220 (grub_bsd64_trampoline_end): likewise
13221 (grub_bsd64_trampoline_selfjump): likewise
13222 (grub_bsd64_trampoline_gdt): likewise
13223 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
13224 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
13225 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
13226 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 13227 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 13228 of "attrib" member
13229 * loader/i386/bsd_pagetable.c: new file
13230 * loader/i386/bsd_trampoline.S: likewise
13231 * loader/i386/bsd.c (ALIGN_QWORD): new macro
13232 (ALIGN_VAR): likewise
13233 (entry_hi): new variable
13234 (kern_end_mdofs): likewise
13235 (is_64bit): likewise
13236 (grub_freebsd_add_meta): use ALIGN_VAR
13237 (grub_e820_mmap): new declaration
13238 (grub_freebsd_add_mmap): new function
13239 (grub_freebsd_add_meta_module): support 64 bit kernels
13240 (grub_freebsd_list_modules): use ALIGN_VAR
13241 (gdt_descriptor): new declaration
13242 (grub_freebsd_boot): support 64 bit kernels
13243 (grub_bsd_elf64_hook): new function
13244 (grub_bsd_load_elf): support elf64
13245
038c5720 132462009-05-03 Bean <bean123ch@gmail.com>
13247
13248 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
13249 after we get the result of if statement.
13250
fc45fb58 132512009-05-03 Bean <bean123ch@gmail.com>
13252
13253 * Makefile.in (enable_efiemu): New variable.
13254
13255 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
13256 set.
13257 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
13258 path.
13259 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
13260 path, add -mno-red-zone option.
13261 (efiemu64_s.o): Likewise.
13262 (efiemu64.o): Use macro $^ for source file.
13263
13264 * configure.ac (--enable-efiemu): New option.
13265
bbee0f2b 132662009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 xnu support
13269
13270 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
13271 (pkglib_MODULES): add xnu.mod
13272 (xnu_mod_SOURCES): new variable
13273 (xnu_mod_CFLAGS): likewise
13274 (xnu_mod_LDFLAGS): likewise
13275 (xnu_mod_ASFLAGS): likewise
13276 * conf/i386-pc.rmk: likewise
13277 * conf/x86_64-efi.rmk: likewise
7dd4a573 13278 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 13279 new declaration
13280 * include/grub/i386/macho.h: new file
13281 * include/grub/i386/xnu.h: likewise
13282 * include/grub/macho.h: likewise
13283 * include/grub/machoload.h: likewise
13284 * include/grub/x86_64/macho.h: likewise
13285 * include/grub/x86_64/xnu.h: likewise
13286 * include/grub/xnu.h: likewise
13287 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
13288 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
13289 * loader/i386/efi/xnu.c: new file
13290 * loader/i386/pc/xnu.c: likewise
13291 * loader/i386/xnu.c: likewise
13292 * loader/i386/xnu_helper.S: likewise
13293 * loader/macho.c: likewise
13294 * loader/xnu.c: likewise
13295 * loader/xnu_resume.c: likewise
13296 * util/grub-dumpdevtree: likewise
13297 * include/grub/i386/pit.h: include grub/err.h
13298 (grub_pit_wait): export
13299 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 13300
5caf964d 133012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 Efiemu
7dd4a573 13304
5caf964d 13305 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 13306 _linux_efi, linux_efi.
13307 new files in grub-emu
5caf964d 13308 new targets efiemu32.o and efiemu64.o
13309 * loader/linux_normal_efiemu.c: likewise
13310 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 13311 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 13312 files to copy
13313 * include/grub/autoefi.h: new file
7dd4a573 13314 * include/grub/i386/efiemu.h: likewise
5caf964d 13315 * include/grub/i386/pc/efiemu.h: likewise
13316 * include/grub/efi/api.h: add LL suffix when necessary
13317 new definitions relating to tables
13318 * include/grub/efiemu/efiemu.h: new file
13319 * include/grub/efiemu/runtime.h: likewise
13320 * efiemu/prepare.c: likewise
13321 * efiemu/loadcore_common.c: likewise
13322 * efiemu/loadcore64.c: likewise
13323 * efiemu/runtime/efiemu.sh: likewise
13324 * efiemu/runtime/efiemu.S: likewise
13325 * efiemu/runtime/efiemu.c: likewise
13326 * efiemu/runtime/config.h: likewise
13327 * efiemu/prepare32.c: likewise
13328 * efiemu/main.c: likewise
13329 * efiemu/modules/pnvram.c: likewise
13330 * efiemu/modules/i386: likewise
13331 * efiemu/modules/i386/pc: likewise
13332 * efiemu/modules/acpi.c: likewise
13333 * efiemu/i386/pc/cfgtables.c: likewise
13334 * efiemu/i386/loadcore64.c: likewise
13335 * efiemu/i386/loadcore32.c: likewise
13336 * efiemu/prepare64.c: likewise
13337 * efiemu/loadcore.c: likewise
13338 * efiemu/symbols.c: likewise
13339 * efiemu/mm.c: likewise
13340 * efiemu/loadcore32.c: likewise
7dd4a573 13341
133422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 13343
13344 ACPI spoofing
13345
13346 * commands/acpi.c: new file
13347 * commands/i386/pc/acpi.c: likewise
13348 * commands/efi/acpi.c: likewise
13349 * include/grub/acpi.h: likewise
13350 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
13351 (acpi_mod_SOURCES): new variable
13352 (acpi_mod_CFLAGS): likewise
13353 (acpi_mod_LDFLAGS): likewise
13354 * conf/i386-efi.rmk: likewise
13355 * conf/x86_64-efi.rmk: likewise
13356
7dd4a573 133572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 13358
13359 Missing part from mmap patch
13360
13361 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
13362 (grub_mmap_unregister)
13363 (grub_mmap_free_and_unregister): use grub_mmap_register
13364
7dd4a573 133652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 13366
13367 Mmap services
13368
13369 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
13370 * loader/i386/linux.c (find_mmap_size): likewise
13371 (allocate_pages): likewise
13372 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
13373 (grub_fill_multiboot_mmap): likewise
13374 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
13375 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
13376 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
13377 (OPENBSD_MMAP_RESERVED): likewise
13378 * include/grub/i386/pc/memory.h: include grub/memory.h
13379 (grub_lower_mem): removed
13380 (grub_upper_mem): likewise
13381 (GRUB_MACHINE_MEMORY_ACPI): new definition
13382 (GRUB_MACHINE_MEMORY_NVS): likewise
13383 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
13384 (GRUB_MACHINE_MEMORY_HOLE): likewise
13385 (grub_machine_mmap_register): likewise
13386 (grub_machine_mmap_unregister): likewise
13387 (grub_machine_get_upper): likewise
13388 (grub_machine_get_lower): likewise
13389 (grub_machine_get_post64): likewise
13390 * include/grub/i386/efi/memory.h: new file
13391 * include/grub/x86_64/efi/memory.h: likewise
13392 * include/grub/efi/memory.h: likewise
13393 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
13394 (mmap_mod_SOURCES): new variable
13395 (mmap_mod_LDFLAGS): likewise
13396 (mmap_mod_ASFLAGS): likewise
13397 * conf/i386-coreboot.rmk: likewise
13398 * conf/i386-ieee1275.rmk: likewise
13399 * conf/i386-efi.rmk: likewise
13400 * conf/x86_64-efi.rmk: likewise
13401 * include/grub/types.h (UINT_TO_PTR): new macro
13402 (PTR_TO_UINT32): likewise
13403 (PTR_TO_UINT64): likewise
13404 * include/grub/memory.h: new file
13405 * mmap/i386/pc/mmap.c: likewise
13406 * mmap/i386/pc/mmap_helper.S: likewise
13407 * mmap/i386/uppermem.c: likewise
13408 * mmap/mmap.c: likewise
13409 * mmap/efi/mmap.c: likewise
7dd4a573 13410 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 13411 grub_upper_mem
13412 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13413 (grub_upper_mem): likewise
13414 (grub_machine_init): don't use grub_upper_mem,
13415 make grub_lower_mem local
13416 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13417 grub_mmap_iterate and grub_mmap_get_upper
13418 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13419
d558e6b5 134202009-05-02 Bean <bean123ch@gmail.com>
13421
13422 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13423 script/sh/parser.y.
13424 (pkglib_MODULES): Add normal.mod and sh.mod.
13425 (normal_SOURCES): New variable.
13426 (normal_mod_CFLAGS): Likewise.
13427 (normal_mod_LDFLAGS): Likewise.
13428 (sh_mod_SOURCES): Likewise.
13429 (sh_mod_CFLAGS): Likewise.
13430 (sh_mod_LDFLAGS): Likewise.
13431
13432 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13433 script/sh/lexer.c_DEPENDENCIES.
13434 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13435 kern/rescue_reader.c and kern/rescue_parser.c.
13436 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13437 (grub_emu_SOURCES): Change source files.
13438 (pkglib_MODULES): Remove normal.mod.
13439 (normal_SOURCES): Removed.
13440 (normal_mod_CFLAGS): Likewise.
13441 (normal_mod_LDFLAGS): Likewise.
13442 * conf/i386-coreboot.rmk: Likewise.
13443 * conf/i386-efi.rmk: Likewise.
13444 * conf/i386-ieee1276.rmk: Likewise.
13445 * conf/powerpc-ieee1275.rmk: Likewise.
13446 * conf/sparc64-ieee1275.rmk: Likewise.
13447 * conf/x86_64-efi.rmk: Likewise.
13448
13449 * include/grub/command.h (grub_command_execute): New inline function.
13450
13451 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13452
13453 * include/grub/normal.h: Remove <grub/setjmp.h>.
13454 (grub_fs_module_list): Moved to normal/autofs.c.
13455 (grub_exit_env): Removed.
13456 (grub_command_execute): Likewise.
13457 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13458 parameter script.
13459 (read_command_list): New function declaration.
13460 (read_fs_list): Likewise.
13461
13462 * include/parser.h: Include <grub/reader.h>.
13463 (grub_parser_split_cmdline): Change type of getline parameter.
13464 (grub_parser): New structure.
13465 (grub_parser_class): New variable.
13466 (grub_parser_execute): New function declaration.
13467 (grub_register_rescue_parser): Likewise.
13468 (grub_parser_register): New inline function.
13469 (grub_parser_unregister): Likewise.
13470 (grub_parser_get_current): Likewise.
13471 (grub_parser_set_current): Likewise.
13472
13473 * include/grub/reader.h: New file.
13474 * kern/reader.c: Likewise.
13475 * kern/rescue_parser.c: Likewise.
13476 * kern/rescue_reader.c: Likewise.
13477 * normal/autofs.c: Likewise.
13478 * normal/dyncmd.c: Likewise.
13479
13480 * include/grub/rescue.h: Removed.
13481 * normal/command.h: Likewise.
13482
13483 * include/grub/script.h: Moved to ...
13484 * include/grub/script_sh.h: ... Moved here.
13485 * normal/execute.c: Moved to ...
13486 * script/sh/execute.c: ... Moved here.
13487 * normal/function.c: Moved to ...
13488 * script/sh/function.c: ... Moved here.
13489 * normal/lexer.c: Moved to ...
13490 * script/sh/lexer.c: ... Moved here.
13491 * normal/parser.y: Moved to ...
13492 * script/sh/parser.y: ... Moved here.
13493 * normal/script.c: Moved to ...
13494 * script/sh/script.c: ... Moved here.
13495
13496 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13497 <grub/reader.h>.
13498 (grub_exit_env): Removed.
13499 (fs_module_list): Moved to normal/autofs.c.
13500 (grub_file_getline): Don't handle comment here.
13501 (free_menu): Skip removed field entry->commands.
13502 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13503 script parameter.
13504 (read_config_file): Removed nested parameter, change getline function.
13505 (grub_enter_normal_mode): Removed.
13506 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13507 (read_command_list): Likewise.
13508 (autoload_fs_module): Moved to normal/autofs.c.
13509 (read_fs_list): Likewise.
13510 (reader_nested): New variable.
13511 (grub_normal_execute): Run parser.sh to switch to sh parser.
13512 (grub_cmd_rescue): Removed.
13513 (cmd_normal): Removed.
13514 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13515 rescue command.
13516 (grub_cmdline_run): New function.
13517 (grub_normal_reader_init): Likewise.
13518 (grub_normal_read_line): Likewise.
13519 (grub_env_write_pager): Likewise.
13520 (cmdline): New variable.
13521 (grub_normal_reader): Likewise.
13522 (GRUB_MOD_INIT): Register normal reader and set as current, register
13523 pager hook, register normal command with grub_register_command_prio,
13524 so that it won't show up in command.lst.
13525 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13526 grub_fs_autoload_hook.
13527
13528 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13529 (grub_menu_execute_entry): Replace grub_script_execute with
13530 grub_parser_execute, change parameter to grub_command_execute.
13531
13532 * normal/menu_text.c: Remove <grub/script.h>.
13533
13534 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13535 and <grub/parser.h>.
13536 (run): Change editor_getline to use new parser interface. Change
13537 parameter to grub_command_execute.
13538
13539 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13540 <grub/reader.h> and <grub/parser.h>.
13541 (grub_load_normal_mode): Execute normal command.
13542 (grub_main): Call grub_register_core_commands,
13543 grub_register_rescue_parser and grub_register_rescue_reader, use
13544 grub_reader_loop to enter input loop.
13545
7dd4a573 13546 * kern/parser.c (grub_parser_split_cmdline): Change type of
13547 getline parameter.
d558e6b5 13548 (grub_parser_class): New variable.
13549 (grub_parser_execute): New function.
13550
13551 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13552 * loader/multiboot2.c: Likewise.
13553 * loader/sparc64/ieee1275/linux.c: Likewise.
13554
13555 * util/grub-emu.c (read_command_list): New dummy function.
13556
18db813d 135572009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13558
13559 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13560 count to 16 for CCISS and IDA.
13561
6c67de15 135622009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13563
13564 * normal/menu_text.c (grub_wait_after_message): Print a newline
13565 after waiting for user input.
13566
13567 * loader/i386/linux.c: Include `<grub/normal.h>'.
13568 (grub_cmd_linux): Improve the error message about `ask' mode, by
13569 waiting for user input so it's not missed (we can do this, since
13570 user requested interaction).
13571
d9dc87b0 135722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 Added missing lst to grub-mkrescue
13575
13576 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13577 and ${input_dir}/parttool.lst
13578
ac8a2baa 135792009-04-30 David S. Miller <davem@davemloft.net>
13580
ad22a610 13581 * util/hostdisk.c (device_is_wholedisk): New function.
13582 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13583 zero only if device_is_wholedisk() returns true.
13584
6966215d 13585 * util/hostdisk.c (convert_system_partition_to_system_disk):
13586 Handle virtual disk devices named /dev/vdiskX as found on sparc
13587 and powerpc.
13588
ac8a2baa 13589 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13590 lettered partition specifier is found, convert to numbered.
13591
979b4fb4 135922009-04-29 David S. Miller <davem@davemloft.net>
13593
e2bf39b2 13594 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13595 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13596
3c64e104 13597 * normal/command.c: Add missing newline at end of file.
13598
979b4fb4 13599 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13600 warnings.
13601 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13602 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13603 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13604 ihandles have a 32-bit type but need to be stored in a "void *".
13605
136d9f82 136062009-04-28 Pavel Roskin <proski@gnu.org>
13607
9459c306 13608 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13609 not disk. Adjust all dependencies.
2e08a26a 13610 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 13611 grub_disk_close().
13612
136d9f82 13613 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13614 parent's partition, don't copy it by reference, as it gets freed
13615 on close.
13616
7dd4a573 136172009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 13618
13619 Preboot hooks support
13620
13621 * commands/boot.c (struct grub_preboot_t): new declaration
13622 (preboots_head): new variable
13623 (preboots_tail): likewise
13624 (grub_loader_register_preboot_hook): new function
13625 (grub_loader_unregister_preboot_hook): likewise
13626 (grub_loader_set): launch preboot hooks
13627 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13628 (grub_loader_register_preboot_hook): new declaration
13629 (grub_loader_unregister_preboot_hook): likewise
13630
5af922b5 136312009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 Warning fix
13634
7dd4a573 13635 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 13636 calling grub_dprintf
13637
a5562c30 136382009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 Bug and warning fixes
13641
7dd4a573 13642 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 13643 declaration
13644 * commands/test.c (test_parse): fixed bug with file tests and corrected
13645 declaration of find_file
13646
4006f85c 136472009-04-26 Pavel Roskin <proski@gnu.org>
13648
13649 * Makefile.in: Don't install empty manual pages if help2man is
13650 missing. Use help2man option for output, not shell redirection.
13651
5c77c3de 136522009-04-26 David S. Miller <davem@davemloft.net>
13653
13654 * util/grub-mkdevicemap.c (make_device_map): Add missing
13655 NESTED_FUNC_ATTR to process_device().
13656
033b10a8 136572009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 Test command
13660
13661 * commands/test.c: rewritten to use bash-like test
13662
e4343593 136632009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 Parttool autoloading and improvements
13666
7dd4a573 13667 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 13668 (parttool.lst): new target
13669 * genmk.rb: generate parttool-*
13670 (CLEANFILES): add #{parttool}
13671 (PARTTOOLFILES): new variable
13672 * genparttoollist.sh: new file
7dd4a573 13673 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 13674 (grub_pcpart_type): likewise
13675 * commands/parttool.c (helpmsg): new variable
13676 (grub_cmd_parttool): output help if not enough arguments are supplied
13677 autoload modules
13678 (GRUB_MOD_INIT(parttool)): use helpmsg
13679
0d312500 136802009-04-24 David S. Miller <davem@davemloft.net>
13681
7dd4a573 13682 Avoiding opening same device multiple times in device iterator.
0d312500 13683
13684 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 13685 and use it to build a list of partitions in iterate_disk() and
0d312500 13686 iterate_partition().
13687
ac20caff 13688 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13689 on disk->data.
13690
0dcf7495 13691 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13692 grub_devalias_iterate() result instead of unconditional 0.
13693 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13694 Also, capture hook return value, either directly or via
13695 grub_children_iterate(), and propagate to caller.
13696 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13697 grub_children_iterate): Return value is now 'int' instead of
13698 'grub_err_t'.
13699 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13700 like a proper iterator, stopping when hooks return non-zero.
13701 (grub_devalias_iterate): Likewise.
13702
c8c08833 137032009-04-23 David S. Miller <davem@davemloft.net>
13704
13705 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13706
f01005a8 137072009-04-22 David S. Miller <davem@davemloft.net>
13708
13709 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13710 is larger than address_cells, use that value for address_cells too.
13711
4e8269da 13712 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13713 IEEE1275_MAX_PATH_LEN): Define.
13714 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13715 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13716 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13717 'devtype'. Explicitly NULL terminate devalias expansion.
13718
a1447506 13719 * util/sparc64/ieee1275/misc.c: New file.
13720 * util/sparc64/ieee1275/grub-setup.c: New file.
13721 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13722 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13723 * util/sparc64/ieee1275/grub-install.in: New file.
13724 * util/ieee1275/ofpath.c: New file.
13725 * util/ieee1275/devicemap.c: New file.
13726 * util/devicemap.c: New file.
13727 * util/deviceiter.c: New file.
13728 * kern/sparc64/ieee1275/init.c: New file.
13729 * include/grub/util/ofpath.h: New file.
13730 * include/grub/util/deviceiter.h: New file.
13731 * util/grub-mkdevicemap.c: Include deviceiter.h.
13732 Implement using grub_util_emit_devicemap_entry and
13733 grub_util_iterate_devices.
13734 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13735 util/devicemap.c into grub-mkdevicemap
13736 * conf/i386-efi.rmk: Likewise.
13737 * conf/i386-ieee1275.rmk: Likewise.
13738 * conf/i386-pc.rmk: Likewise.
13739 * conf/powerpc-ieee1275.rmk: Likewise.
13740 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13741 images and installation utilities. Build kernel as image
13742 instead of as elf binary. Use common rules as much as possible.
13743
7dd4a573 137442009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 13745
13746 Correct GPT definition
13747
7dd4a573 13748 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 13749 of "attrib" member
13750
c6c5219f 137512009-04-19 Felix Zielcke <fzielcke@z-51.de>
13752
13753 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13754
0552ff9f 137552009-04-19 David S. Miller <davem@davemloft.net>
13756
13757 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13758 (grub_rescue_cmd_linux): Rename to...
13759 (grub_cmd_linux): and fix prototype.
13760 (grub_rescue_cmd_initrd): Rename to...
13761 (grub_cmd_initrd): and fix prototype.
13762 (cmd_linux, cmd_initrd): New.
13763 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13764 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13765
d1a282fc 137662009-04-17 Pavel Roskin <proski@gnu.org>
13767
07c5039f 13768 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13769 format.
13770 (grub_ohci_transfer): Likewise.
13771
b012002d 13772 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13773
1bc09c35 13774 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13775 return without a value. Fix inconsistent indentation.
13776
e0ff9126 13777 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13778 match struct grub_fs.
13779
d1a282fc 13780 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13781 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13782 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13783 * commands/lspci.c (grub_lspci_iter): Likewise.
13784
a96df3f2 137852009-04-16 Bean <bean123ch@gmail.com>
13786
13787 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13788 value.
13789
41bb0fe9 137902009-04-15 Pavel Roskin <proski@gnu.org>
13791
13792 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13793 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13794 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13795 definitions.
13796
596c6970 137972009-04-15 Felix Zielcke <fzielcke@z-51.de>
13798
13799 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 13800 that no multiple data or metadata areas are supported and `Unknown
596c6970 13801 metadata header'.
13802
7dd4a573 138032009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 13804
13805 Move loader out of the kernel
13806
13807 * kern/loader.c: moved to ...
13808 * commands/boot.c: ... moved here
13809 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13810 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13811 * include/grub/kernel.h (grub_machine_fini): export
13812 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13813 (grub_loader_set): likewise
13814 (grub_loader_unset): likewise
13815 (grub_loader_boot): likewise
13816 * conf/common.rmk: new module boot.mod
13817 (pkglib_MODULES): add boot.mod
13818 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13819 (grub_emu_SOURCES): likewise
13820 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13821 (grub_emu_SOURCES): likewise
13822 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13823 (grub_emu_SOURCES): likewise
13824 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13825 (grub_emu_SOURCES): likewise
13826 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13827 (grub_emu_SOURCES): likewise
7dd4a573 13828 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13829 (grub_emu_SOURCES): likewise
0d5d5653 13830 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 13831 (grub_emu_SOURCES): likewise
0d5d5653 13832
7dd4a573 138332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 13834
13835 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 13836
5999d619 13837 * kern/misc.c (grub_itoa): Removed function
13838 (grub_ltoa): likewise
13839 (grub_vsprintf): use grub_lltoa
13840
7dd4a573 138412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 13842
13843 Restore grub-emu
13844
13845 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13846 * conf/i386-coreboot.rmk: likewise
13847 * conf/i386-ieee1275.rmk: likewise
13848 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 13849
20318222 138502009-04-15 Felix Zielcke <fzielcke@z-51.de>
13851
13852 * INSTALL: Add that `./autogen.sh' needs to be run before
13853 `./configure.'.
13854
d05f0df3 138552009-04-14 Bean <bean123ch@gmail.com>
13856
13857 * Makefile.in (pkglib_DATA): Add handler.lst.
13858 (handler.lst): New rule.
13859
13860 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13861 * conf/i386-coreboot.rmk: Likewise.
13862 * conf/i386-ieee1275.rmk: Likewise.
13863 * conf/i386-efi.rmk: Likewise.
13864 * conf/x86_64-efi.rmk: Likewise.
13865 * conf/powerpc-ieee1275.rmk: Likewise.
13866 * conf/sparc64-ieee1275.rmk: Likewise.
13867
13868 * genhandlerlist.sh: New file.
13869
13870 * genmk.rb: Add rules to generate handler.lst.
13871
13872 * include/grub/normal.h (grub_file_getline): New function definition.
13873 (read_handler_list): Likewise.
13874 (free_handler_list): Likewise.
13875
13876 * include/grub/term.h (grub_term_register_input): Add name parameter
13877 for auto generation of handler.lst.
13878 (grub_term_register_output): Likewise.
13879
13880 * normal/handler.c: New file.
13881
13882 * normal/main.c (get_line): Renamed to grub_file_getline.
13883 (read_config_file): Use the newly renamed grub_file_getline.
13884 (read_command_list): Likewise.
13885 (read_fs_list): Likewise.
13886 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13887 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13888
13889 * term/efi/console.c (grub_console_init): Add name parameter for auto
13890 generation of handler.lst.
13891 * term/gfxterm.c: Likewise.
13892 * term/i386/pc/at_keyboard.c: Likewise.
13893 * term/i386/pc/console.c: Likewise.
13894 * term/i386/pc/serial.c: Likewise.
13895 * term/i386/pc/vesafb.c: Likewise.
13896 * term/i386/pc/vga.c: Likewise.
13897 * term/i386/pc/vga_text.c: Likewise.
13898 * term/ieee1275/ofconsole.c: Likewise.
13899 * term/usb_keyboard.c: Likewise.
13900
33c846be 139012009-04-14 Bean <bean123ch@gmail.com>
13902
13903 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13904 properly with null character.
13905
4484e01e 139062009-04-14 Felix Zielcke <fzielcke@z-51.de>
13907
13908 * configure: Remove.
13909 * config.h.in: Likewise.
f93d668e 13910 * stamp-h.in: Likewise.
4484e01e 13911 * DISTLIST: Likewise.
13912 * conf/common.mk: Likewise.
13913 * conf/i386-coreboot.mk: Likewise.
13914 * conf/i386-efi.mk: Likewise.
13915 * conf/i386-ieee1275.mk: Likewise.
13916 * conf/i386.mk: Likewise.
13917 * conf/i386-pc.mk: Likewise.
13918 * conf/powerpc-ieee1275.mk: Likewise.
13919 * conf/sparc64-ieee1275.mk: Likewise.
13920 * conf/x86_64-efi.mk: Likewise.
13921
13922 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13923 develop on GRUB.
13924
7dd4a573 139252009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 13926 David S. Miller <davem@davemloft.net>
13927
13928 * util/hostdisk.c (make_device_name): Fix buffer length
13929 calculations.
13930
e25b5a8c 139312009-04-14 Felix Zielcke <fzielcke@z-51.de>
13932
13933 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13934 <sys/param.h> and <sys/sysctl.h>.
13935 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13936 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13937 opening the device and reset them afterwards.
13938
1f1f580c 139392009-04-13 Pavel Roskin <proski@gnu.org>
13940
13941 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13942 Reported by John Stanley <jpsinthemix@verizon.net>
13943
7ebc2d6b 139442009-04-13 Robert Millan <rmh@aybabtu.com>
13945
13946 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 13947 that name for menuentries when appropriate.
7ebc2d6b 13948
d8ba3667 139492009-04-13 Felix Zielcke <fzielcke@z-51.de>
13950
13951 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13952
cba416eb 139532009-04-13 Robert Millan <rmh@aybabtu.com>
13954
13955 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13956 to Linux, simply abort telling the user it's no longer supported.
13957
a547a745 139582009-04-13 Felix Zielcke <fzielcke@z-51.de>
13959
13960 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 13961 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 13962 `freebsd_loadenv' only when devices.hints exist.
13963
232a769c 139642009-04-13 Pavel Roskin <proski@gnu.org>
13965
13966 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13967
c3012039 139682009-04-13 Felix Zielcke <fzielcke@z-51.de>
13969
13970 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13971 partition number.
13972 (grub_drive): Likewise.
13973
234022fe 139742009-04-13 David S. Miller <davem@davemloft.net>
13975
13976 * kern/sparc64/ieee1275/ieee1275.c: New file.
13977 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13978 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13979 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13980 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13981 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13982 grub_ieee1275_alloc_physmem): Declare new exported functions.
13983
d8e1836c 13984 * include/grub/sparc64/ieee1275/loader.h: New file.
13985 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13986 * include/grub/sparc64/kernel.h: Likewise.
13987 * loader/sparc64/ieee1275/linux.c: Likewise.
13988
96bd81ec 13989 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13990 (grub_fstest_SOURCES): Likewise.
13991
6a4737e5 13992 * util/hostdisk.c (make_device_name): Do not make any assumptions
13993 about the length of drive names.
13994
1d7a72fd 13995 * kern/dl.c (grub_dl_load_file): Close file immediately when
13996 we are done using it.
13997
56bc2471 139982009-04-12 David S. Miller <davem@davemloft.net>
13999
14000 * kern/misc.c (grub_ltoa): Fix cast when handling negative
14001 values. Noticed by Pavel Roskin.
14002
df38d0bb 14003 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
14004 target compiler.
7dd4a573 14005
e382e93a 14006 * genmk.rb: Add more flexible image type specification, also
14007 pass --strip-unneeded to objcopy.
14008 * conf/i386-pc.rmk: Use *_FORMAT.
14009 * conf/i386-pc.mk: Rebuilt.
14010
f5dbbca9 14011 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
14012 (OFDISK_HASH_SZ): Define.
14013 (ofdisk_hash): New hash table.
14014 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
14015 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
14016 instead of device phandle which is not unique.
14017
91c88b12 14018 * kern/sparc64/ieee1275/init.c: Delete, replace with...
14019 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
14020 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
14021 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
14022 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
14023 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
14024 GRUB_KERNEL_MACHINE_DATA_END): Define.
14025 (grub_kernel_image_size, grub_total_module_size): Declare.
14026
5b5d4aa5 140272009-04-12 Pavel Roskin <proski@gnu.org>
14028
7dd4a573 14029 * configure.ac: Change the logic when we check for target tools.
14030 Do it when the target is specified and it's different from the
14031 specified value of the host.
5b5d4aa5 14032
c91e1793 140332009-04-11 Felix Zielcke <fzielcke@z-51.de>
14034
14035 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
14036 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
14037 GNU/kFreeBSD. Check if a device is a character device. Use
14038 DIOCGMEDIASIZE to get the size.
14039 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
14040 support for GNU/kFreeBSD.
14041 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
14042 is a character device instead of a block device. Add support for
14043 FreeBSD device names.
14044
14045 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
14046 is a character device instead of a block device.
14047
14048 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
14049 is a character device instead of a block device.
14050
b1ac8644 140512009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
14052
14053 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
14054 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
14055 FreeBSD. Check if a device is a character device. Use
14056 DIOCGMEDIASIZE to get the size.
14057 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
14058 support for FreeBSD.
14059 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
14060 is a character device instead of a block device. Add support for
14061 FreeBSD device names.
14062
14063 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
14064 a character device instead of a block device.
14065 (grub_util_check_char_device): New function.
14066
14067 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
14068 a character device instead of a block device.
14069
14070 * include/grub/util/getroot.h (grub_util_check_char_device): New
14071 prototype.
14072
a3f7515a 140732009-04-11 David S. Miller <davem@davemloft.net>
14074
14075 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
14076 static libgcc.
14077 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
14078 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
14079 function, if present.
14080 (__bswapdi2): Likewise.
14081
0d44993d 14082 * include/grub/sparc64/ieee1275/boot.h: New file.
14083 * boot/sparc64/ieee1275/boot.S: Likewise.
14084 * boot/sparc64/ieee1275/diskboot.S: Likewise.
14085
ed3d2bc2 14086 * kern/misc.c (grub_ltoa): New function.
14087 (grub_vsprintf): Use it to format 'long' integers.
14088
d3bfb59c 140892009-04-10 David S. Miller <davem@davemloft.net>
14090
14091 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
14092 slots are of type grub_ieee1275_cell_t.
14093 (grub_nand_read): Likewise.
14094 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
14095 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
14096 macros are used to compare values in arg/ret block of the call.
14097 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
14098 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
14099 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
14100 grub_ieee1275_instance_to_path, grub_ieee1275_write,
14101 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
14102 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
14103 grub_ieee1275_close, grub_ieee1275_set_property,
14104 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
14105 grub_ieee1275_cell_t.
14106 * kern/ieee1275/openfw.c (grub_map): Likewise.
14107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
14108 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
14109
450e2238 14110 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
14111 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14112 (grub_devalias_iterate): Likewise.
14113
7dd4a573 141142009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 14115
14116 UFS improvements
14117
14118 * fs/ufs.c (INODE_NBLOCKS): new definition
14119 (struct grub_ufs_dirent): added fields for non-BSD dirents
14120 (grub_ufs_get_file_block): fixed double indirect handling
14121 (grub_ufs_lookup_symlink): use more robust way to determine whether
14122 symlink is inline
14123 (grub_ufs_find_file): support for non-BSD dirents
14124 (grub_ufs_dir): support for non-BSD dirents
14125
e7e6862a 141262009-04-10 Bean <bean123ch@gnail.com>
14127
14128 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
14129 attribute, otherwise the size would be wrong for i386 platform.
14130
14131 * include/grub/pci.h (grub_pci_read_word): New inline function.
14132 (grub_pci_read_byte): Likewise.
14133 (grub_pci_write): Likewise.
14134 (grub_pci_write_word): Likewise.
14135 (grub_pci_write_byte): Likewise.
14136
14137 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
14138
14139 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
14140 (find_framebuf): Scan pci to locate the frame buffer address.
14141
14142 * commands/efi/fixvideo.c: New file.
14143
14144 * commands/efi/loadbios.c: Likewise.
14145
14146 * commands/memrw.c: Likewise.
14147
14148 * util/grub-dumpbios.in: Likewise.
14149
14150 * conf/common.rmk (grub-dumpbios): New utility.
14151 (pkglib_MODULES): New module memrw.mod.
14152 (memrw_mod_SOURCE): New macro.
14153 (memrw_mod_CFLAGS): Likewise.
14154 (memrw_mod_LDFLAGS): Likewise.
14155
7dd4a573 14156 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14157 fixvideo.mod.
14158 (loadbios_mod_SOURCE): New macro.
14159 (loadbios_mod_CFLAGS): Likewise.
14160 (loadbios_mod_LDFLAGS): Likewise.
14161 (fixvideo_mod_SOURCE): Likewise.
14162 (fixvideo_mod_CFLAGS): Likewise.
14163 (fixvideo_mod_LDFLAGS): Likewise.
14164
7dd4a573 14165 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14166 fixvideo.mod.
14167 (loadbios_mod_SOURCE): New macro.
14168 (loadbios_mod_CFLAGS): Likewise.
14169 (loadbios_mod_LDFLAGS): Likewise.
14170 (fixvideo_mod_SOURCE): Likewise.
14171 (fixvideo_mod_CFLAGS): Likewise.
14172 (fixvideo_mod_LDFLAGS): Likewise.
14173
af63ada2 141742009-04-08 Felix Zielcke <fzielcke@z-51.de>
14175
14176 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
14177
c2cdde70 141782009-04-07 David S. Miller <davem@davemloft.net>
14179
14180 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
14181 support for R_SPARC_OLO10 relocations. Fix compile warning for
14182 R_SPARC_WDISP30 case.
ea3f72cf 14183 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 14184
761319cf 141852009-04-06 Pavel Roskin <proski@gnu.org>
14186
1007d1f5 14187 * include/grub/misc.h (ARRAY_SIZE): New macro.
14188 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
14189 New macro.
14190 * loader/i386/linux.c (allocate_pages): Use free_pages().
14191 (grub_linux_unload): Don't use free_pages().
14192 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
14193 wrong index. Treat all other modes as text modes.
14194 (grub_cmd_linux): Initialize vid_mode unconditionally to
14195 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
14196
761319cf 14197 * commands/help.c (print_command_help): Use cmd->prio, not
14198 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
14199
ea761d40 142002009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 14201
ea761d40 14202 Parttool
14203
14204 * parttool/pcpart.c: new file
14205 * commands/parttool.c: likewise
14206 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
14207 (parttool_mod_SOURCES): new variable
14208 (parttool_mod_CFLAGS): likewise
14209 (parttool_mod_LDFLAGS): likewise
14210 (pcpart_mod_SOURCES): likewise
14211 (pcpart_mod_CFLAGS): likewise
14212 (pcpart_mod_LDFLAGS): likewise
7dd4a573 14213 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 14214 and parttool/pcpart.c
14215 * conf/i386-efi.rmk: likewise
14216 * conf/i386-ieee1275.rmk: likewise
14217 * conf/i386-pc.rmk: likewise
14218 * conf/powerpc-ieee1275.rmk: likewise
14219 * conf/sparc64-ieee1275.rmk: likewise
14220 * conf/x86_64-ieee1275.rmk: likewise
14221
05aaebfb 142222009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 Support for mtime and further expandability of dir command
14225
14226 * include/grub/lib/datetime.h: moved to ...
7dd4a573 14227 * include/grub/datetime.h: ... moved here and added
05aaebfb 14228 declaration of grub_unixtime2datetime. All users updated
7dd4a573 14229 * include/grub/fs.h: new syntax for dir and mtime functions in
14230 struct grub_fs
05aaebfb 14231 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
14232 and GRUB_FSHELP_FLAGS_MASK
14233 * commands/ls.c (grub_ls_list_files): Write mtime in long format
14234 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
14235 (grub_ext2_mtime): new function
14236 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
14237 (grub_hfsplus_mtime): new function
14238 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
14239 (GRUB_UFS_ATTR_FILE): likewise
14240 (GRUB_UFS_ATTR_LNK): likewise
14241 (struct grub_ufs_sblock): new fields mtime
14242 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
14243 all users updated
14244 (grub_ufs_dir): mtime support
14245 (grub_ufs_mtime): new function
14246 * fs/affs.c (grub_affs_dir): use new dir syntax
14247 * fs/afs.c (grub_afs_dir): likewise
14248 * fs/cpio.c (grub_cpio_dir): likewise
14249 * fs/fat.c (grub_fat_find_dir): likewise
14250 * fs/hfs.c (grub_hfs_dir): likewise
14251 * fs/iso9660.c (grub_iso9660_dir): likewise
14252 * fs/jfs.c (grub_jfs_dir): likewise
14253 * fs/minix.c (grub_minix_dir): likewise
14254 * fs/ntfs.c (grub_ntfs_dir): likewise
14255 * fs/reiserfs.c (grub_reiserfs_dir): likewise
14256 * fs/sfs.c (grub_sfs_dir): likewise
14257 * fs/xfs.c (grub_xfs_dir): likewise
14258 * util/hostfs.c (grub_hostfs_dir): likewise
14259 * lib/datetime.c: moved to ...
14260 * normal/datetime.c: ... moved here
14261 (grub_unixtime2datetime): new function
14262 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 14263 * normal/completion.c (iterate_dir): use new dir syntax
14264 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 14265 last modification time of a volume
7dd4a573 14266 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 14267 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 14268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 14269 (normal_mod_SOURCES): likewise
14270 (datetime_mod_SOURCES): Removed lib/datetime.c
14271 * conf/i386-efi.rmk: likewise
7dd4a573 14272 * conf/i386-ieee1275.rmk: likewise
05aaebfb 14273 * conf/i386-pc.rmk: likewise
14274 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 14275 * conf/sparc64-ieee1275.rmk: likewise
14276 * conf/x86_64-efi.rmk: likewise
05aaebfb 14277
8a7e1a14 142782009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 14281
14282 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 14283 on grub_fat_find_dir
14284 (grub_fat_find_dir): use grub_fat_iterate_dir
14285 (grub_fat_label): likewise
14286
04186a9c 142872009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14288
7dd4a573 14289 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 14290 and command.h
14291 remove extraneous kernel_elf_HEADERS
14292
da4c0bb6 142932009-04-04 Bean <bean123ch@gnail.com>
14294
14295 * include/grub/util/misc.h: Add dummy function fsync for mingw.
14296
14297 * util/misc.c: Likewise.
14298
54ad9555 142992009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
14300
14301 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
14302 instead of grub_printf.
14303
7a6bf9f2 143042009-04-03 Robert Millan <rmh@aybabtu.com>
14305
14306 * loader/i386/linux.c (grub_linux_setup_video): Fill
14307 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
14308 values from `mode info' structure instead of hardcoded
14309 values.
14310
3fcc2083 143112009-04-01 Pavel Roskin <proski@gnu.org>
14312
14313 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
14314 unused now.
14315 * genmk.rb: Likewise.
14316 * configure.ac: Likewise.
14317
5ec9740b 143182009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
14319
14320 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
14321 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
14322
5270cec8 143232009-04-01 David S. Miller <davem@davemloft.net>
14324
14325 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 14326 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 14327 (grub_setjmp): Mark with 'returns_twice' attribute.
14328 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
14329 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
14330 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
14331
9c3dd854 143322009-04-01 Robert Millan <rmh@aybabtu.com>
14333
14334 Reapply fix from 2008-07-28 which was accidentally reverted; also
14335 perform the same fix to a similar check in same function.
14336
14337 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14338 with the same number are found, just use issue a warning with
14339 grub_dprintf(), as this error has been reported to be non-fatal.
14340
0d818b7e 143412009-03-31 Pavel Roskin <proski@gnu.org>
14342
14343 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
14344 for cross-compilation.
14345
95646d92 143462009-03-30 Robert Millan <rmh@aybabtu.com>
14347
14348 Fix i386-ieee1275 build.
14349
14350 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
14351 Remove declaration.
14352
6a003ed1 143532009-03-30 Pavel Roskin <proski@gnu.org>
14354
14355 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
14356 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
14357 zero-terminated, rely only on the strlen value. Fix comparison
14358 of strings differing in length.
14359
92f33540 143602009-03-30 Robert Millan <rmh@aybabtu.com>
14361
14362 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
14363 checking for abi version. Improve error messages on BIOS to notify
14364 user about `linux16' command.
14365
a8c48fd5 143662009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14367
f968172e 14368 Leak fixes
a8c48fd5 14369
f968172e 14370 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
14371 in case of collision
14372 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 14373
9c323f09 143742009-03-29 Robert Millan <rmh@aybabtu.com>
14375
14376 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
14377 set `vid_mode' accordingly.
14378 (grub_linux_boot): Process `vid_mode' and set video mode.
14379
ae68f423 143802009-03-29 Robert Millan <rmh@aybabtu.com>
14381
14382 * util/grub.d/10_linux.in (linux_entry): New function.
14383 Factorize generation of Linux boot entries.
14384
5709cfc4 143852009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
14386
14387 Make the format of Environment Block plain text. The boot loader
14388 part is not tested well yet.
7dd4a573 14389
5709cfc4 14390 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
14391 (buffer): Removed.
14392 (envblk): Likewise.
14393 (usage): Remove "info" and "clear". Add "unset". Update the
14394 description of "set", as this does not delete variables any
14395 longer.
14396 (create_envblk_file): Complete rewrite.
14397 (open_envblk_file): Likewise.
14398 (cmd_info): Removed.
14399 (cmd_list): Likewise.
14400 (cmd_set): Likewise.
14401 (cmd_clear): Likewise.
14402 (list_variables): New function.
14403 (write_envblk): Likewise.
14404 (set_variables): Likewise.
14405 (unset_variables): Likewise.
14406 (main): Complete rewrite.
14407
14408 * commands/loadenv.c (buffer): Removed.
14409 (envblk): Likewise.
14410 (open_envblk_file): New function.
14411 (read_envblk_file): Complete rewrite.
14412 (grub_cmd_load_env): Likewise.
14413 (grub_cmd_list_env): Likewise.
14414 (struct blocklist): New struct.
14415 (free_blocklists): New function.
14416 (check_blocklists): Likewise.
14417 (write_blocklists): Likewise.
14418 (grub_cmd_save_env): Complete rewrite.
14419
14420 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14421 a plain text signature.
14422 (GRUB_ENVBLK_MAXLEN): Removed.
14423 (struct grub_envblk): Complete rewrite.
14424 (grub_envblk_find): Removed.
14425 (grub_envblk_insert): Likewise.
14426 (grub_envblk_open): New prototype.
14427 (grub_envblk_set): Likewise.
14428 (grub_envblk_delete): Put const to VALUE.
14429 (grub_envblk_iterate): Put const to NAME and VALUE.
14430 (grub_envblk_close): New prototype.
14431 (grub_envblk_buffer): New inline function.
14432 (grub_envblk_size): Likewise.
14433
14434 * lib/envblk.c: Include grub/mm.h.
14435 (grub_env_find): Removed.
14436 (grub_envblk_open): New function.
14437 (grub_envblk_close): Likewise.
14438 (escaped_value_len): Likewise.
14439 (find_next_line): Likewise.
14440 (grub_envblk_insert): Removed.
14441 (grub_envblk_set): New function.
14442 (grub_envblk_delete): Complete rewrite.
14443 (grub_envblk_iterate): Likewise.
14444
a9368fd3 144452009-03-28 Robert Millan <rmh@aybabtu.com>
14446
14447 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14448 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14449 variables. Use 16-bit loader.
14450 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14451 loader.
14452 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14453 (grub_linux16_boot): ... this. Update all users.
14454 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14455 (grub_linux_boot): ... this. Update all users.
14456
14457 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14458 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14459 commands to `linux16' and `initrd16'.
14460 (GRUB_MOD_FINI(linux)): Rename to ...
14461 (GRUB_MOD_FINI(linux16)): ... this.
14462
e4dd5a7e 144632009-03-24 Pavel Roskin <proski@gnu.org>
14464
14465 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14466 not just for compilation.
14467
c04d6e05 144682009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 Move multiboot helper out of kernel
14471
14472 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14473 `loader/i386/multiboot_helper.S'.
14474 * conf/i386-coreboot.rmk: Likewise
14475 * conf/i386-ieee1275.rmk: Likewise
14476
14477 * kern/i386/loader.S: Move multiboot helpers from here...
14478 * loader/i386/multiboot_helper.S: ...moved here
14479 * include/grub/i386/loader.h: Move declarations of multiboot
14480 helpers from here...
14481 * include/grub/i386/multiboot.h: ...moved here
14482 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14483
42a5b3fc 144842009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14485
14486 * kern/env.c (grub_env_context_open): Added an argument to specify
14487 whether a new context inherits exported variables from current
14488 one. This is useful when making a sandbox to interpret a config
14489 file.
14490 All callers updated.
14491
14492 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14493
b28bbc4e 144942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14495
14496 * kern/env.c (grub_env_context_close): Fix memory leaks.
14497
f04f02e4 144982009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14499
14500 * normal/main.c (grub_normal_execute): Added an argument
14501 BATCH to specify if an interactive interface should be provided
14502 after reading a config file.
14503 All callers updated.
14504 (read_command_list): Prevent being executed twice.
14505 (read_fs_list): Likewise.
14506
42a5b3fc 14507 * include/grub/normal.h (grub_normal_execute): Updated the
14508 prototype.
f04f02e4 14509
41473ac2 145102009-03-22 Pavel Roskin <proski@gno.org>
14511
fbc00b0c 14512 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14513 _start.
14514 * kern/i386/pc/startup.S: Likewise.
14515 * kern/i386/efi/startup.S: Likewise.
14516 * kern/i386/ieee1275/startup.S: Likewise.
14517 * kern/i386/coreboot/startup.S: Likewise.
14518 * kern/x86_64/efi/startup.S: Likewise.
14519
41473ac2 14520 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14521 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14522 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14523
2274cc8f 145242009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14527
14528 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14529 limit detection.
14530 Use vaddr of correct segment for entry_point.
14531
b1b797cb 145322009-03-21 Bean <bean123ch@gmail.com>
14533
14534 * commands/blocklist.c: Add include file <grub/command.h>, remove
14535 <grub/normal.h> and <grub/arg.h>.
14536 (grub_cmd_blocklist): Use the new command interface.
14537 (GRUB_MOD_INIT): Likewise.
14538 (GRUB_MOD_FINI): Likewise.
14539 * commands/boot.c: Likewise.
14540 * commands/cat.c: Likewise.
14541 * commands/cmp.c: Likewise.
14542 * commands/configfile.c: Likewise.
14543 * commands/crc.c: Likewise.
14544 * commands/echo.c: Likewise.
14545 * commands/halt.c: Likewise.
14546 * commands/handler.c: Likewise.
14547 * commands/hdparm.c: Likewise.
14548 * commands/help.c: Likewise.
14549 * commands/hexdump.c: Likewise.
14550 * commands/loadenv.c: Likewise.
14551 * commands/ls.c: Likewise.
14552 * commands/lsmmap.c: Likewise.
14553 * commands/lspci.c: Likewise.
14554 * commands/loadenv.c: Likewise.
14555 * commands/read.c: Likewise.
14556 * commands/reboot.c: Likewise.
14557 * commands/search.c: Likewise.
14558 * commands/sleep.c: Likewise.
14559 * commands/test.c: Likewise.
14560 * commands/usbtest.c: Likewise.
14561 * commands/videotest.c: Likewise.
14562 * commands/i386/cpuid.c: Likewise.
14563 * commands/i386/pc/halt.c: Likewise.
14564 * commands/i386/pc/play.c: Likewise.
14565 * commands/i386/pc/pxecmd.c: Likewise.
14566 * commands/i386/pc/vbeinfo.c: Likewise.
14567 * commands/i386/pc/vbetest.c: Likewise.
14568 * commands/ieee1275/suspend.c: Likewise.
14569 * disk/loopback.c: Likewise.
14570 * font/font_cmd.c: Likewise.
14571 * hello/hello.c: Likewise.
14572 * loader/efi/appleloader.c: Likewise.
14573 * loader/efi/chainloader.c: Likewise.
14574 * loader/i386/bsd.c: Likewise.
14575 * loader/i386/efi/linux.c: Likewise.
14576 * loader/i386/ieee1275/linux.c: Likewise.
14577 * loader/i386/linux.c: Likewise.
14578 * loader/i386/pc/chainloader.c: Likewise.
14579 * loader/i386/pc/linux.c: Likewise.
14580 * loader/powerpc/ieee1275/linux.c: Likewise.
14581 * loader/multiboot_loader.c: Likewise.
14582 * term/gfxterm.c: Likewise.
14583 * term/i386/pc/serial.c: Likewise.
14584 * term/terminfo.c: Likewise.
14585
14586 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14587 * term/i386/pc/vga.c: Likewise.
14588 * video/readers/jpeg.c: Likewise.
14589 * video/readers/png.c: Likewise.
14590 * video/readers/tga.c: Likewise.
14591
14592 * util/grub-fstest (cmd_loopback): Removed.
14593 (cmd_blocklist): Likewise.
14594 (cmd_ls): Likewise.
14595 (grub_register_command): Likewise.
14596 (grub_unregister_command): Likewise.
14597 (execute_command): Use grub_command_find to locate command and execute
14598 it.
14599
14600 * include/grub/efi/chainloader.h: Removed.
14601 * loader/efi/chainloader_normal.c: Likewise.
14602 * loader/i386/bsd_normal.c: Likewise.
14603 * loader/i386/pc/chainloader_normal.c: Likewise.
14604 * loader/i386/pc/multiboot_normal.c: Likewise.
14605 * loader/linux_normal.c: Likewise.
14606 * loader/multiboot_loader_normal.c: Likewise.
14607 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14608
14609 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14610 and grub_register_command_p1.
14611
14612 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14613 kern/command.c, lib/arg.c and commands/extcmd.c.
14614 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14615 (minicmd_mod_SOURCES): New variable.
14616 (minicmd_mod_CFLAGS): Likewise.
14617 (minicmd_mod_LDFLAGS): Likewise.
14618 (extcmd_mod_SOURCES): Likewise.
14619 (extcmd_mod_CFLAGS): Likewise.
14620 (extcmd_mod_LDFLAGS): Likewise.
14621 (boot_mod_SOURCES): Removed.
14622 (boot_mod_CFLAGS): Likewise.
14623 (boot_mod_LDFLAGS): Likewise.
14624
14625 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14626 kern/corecmd.c.
14627 (kernel_img_HEADERS): Add command.h.
14628 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14629 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14630 and lib/arg.c.
14631 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14632 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14633 remove the corresponding normal mode command.
14634 (normal_mod_SOURCES): Remove normal/arg.c.
14635 * conf/i386-coreboot.rmk: Likewise.
14636 * conf/i386-efi.rmk: Likewise.
14637 * conf/i386-ieee1275.rmk: Likewise.
14638 * conf/powerpc-ieee1275.rmk: Likewise.
14639 * conf/x86_64-efi.rmk: Likewise.
14640
14641 * include/grub/arg.h: Move from here ...
14642 * include/grub/lib/arg.h: ... to here.
14643
14644 * normal/arg.c: Move from here ...
14645 * lib/arg.c: ... to here.
14646
14647 * commands/extcmd.c: New file.
14648 * commands/minicmd.c: Likewise.
14649 * include/grub/command.h: Likewise.
14650 * include/grub/extcmd.h: Likewise.
14651 * kern/command.c: Likewise.
14652 * kern/corecmd.c: Likewise.
14653
14654 * kern/list.c (grub_list_iterate): Return int instead of void.
14655 (grub_list_insert): New function.
14656 (grub_prio_list_insert): Likewise.
14657
14658 * kern/rescue.c (grub_rescue_command): Removed.
14659 (grub_rescue_command_list): Likewise.
14660 (grub_rescue_register_command): Likewise.
14661 (grub_rescue_unregister_command): Likewise.
14662 (grub_rescue_cmd_boot): Move to minicmd.c
14663 (grub_rescue_cmd_help): Likewise.
14664 (grub_rescue_cmd_info): Likewise.
14665 (grub_rescue_cmd_boot): Likewise.
14666 (grub_rescue_cmd_testload): Likewise.
14667 (grub_rescue_cmd_dump): Likewise.
14668 (grub_rescue_cmd_rmmod): Likewise.
14669 (grub_rescue_cmd_lsmod): Likewise.
14670 (grub_rescue_cmd_exit): Likewise.
14671 (grub_rescue_print_devices): Moved to corecmd.c.
14672 (grub_rescue_print_files): Likewise.
14673 (grub_rescue_cmd_ls): Likewise.
14674 (grub_rescue_cmd_insmod): Likewise.
14675 (grub_rescue_cmd_set): Likewise.
14676 (grub_rescue_cmd_unset): Likewise.
7d074e3c 14677 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 14678 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 14679 commands, remove grub_rescue_register_command calls.
b1b797cb 14680
7d074e3c 14681 * normal/command.c (grub_register_command): Removed.
b1b797cb 14682 (grub_unregister_command): Likewise.
14683 (grub_command_find): Likewise.
14684 (grub_iterate_commands): Likewise.
14685 (rescue_command): Likewise.
14686 (export_command): Moved to corecmd.c.
14687 (set_command): Removed.
14688 (unset_command): Likewise.
14689 (insmod_command): Likewise.
14690 (rmmod_command): Likewise.
14691 (lsmod_command): Likewise.
14692 (grub_command_init): Likewise.
14693
14694 * normal/completion.c (iterate_command): Use cmd->prio to check for
14695 active command.
14696 (complete_arguments): Use grub_extcmd_t structure to find options.
14697 (grub_normal_do_completion): Change function grub_iterate_commands to
14698 grub_command_iterate.
14699
14700 * normal/execute.c (grub_script_execute_cmd): No need to parse
14701 argument here.
14702
14703 * normal/main.c (grub_dyncmd_dispatcher): New function.
14704 (read_command_list): Register unload commands as dyncmd.
14705 (grub_cmd_normal): Use new command interface, register rescue,
14706 unregister normal at entry, register normal, unregister rescue at exit.
14707
14708 * include/grub/list.h (grub_list_test_t): New type.
14709 (grub_list_iterate): Return int instead of void.
14710 (grub_list_insert): New function.
14711 (GRUB_AS_NAMED_LIST_P): New macro.
14712 (GRUB_AS_PRIO_LIST): Likewise.
14713 (GRUB_AS_PRIO_LIST_P): Likewise.
14714 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14715 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14716 (grub_prio_list): New structure.
14717 (grub_prio_list_insert): New function.
14718 (grub_prio_list_remove): New inline function.
14719
14720 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14721 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14722 (GRUB_COMMAND_FLAG_MENU): Likewise.
14723 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14724 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14725 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14726 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14727 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14728 (grub_command): Likewise.
14729 (grub_register_command): Likewise.
14730 (grub_command_find): Likewise.
14731 (grub_iterate_commands): Likewise.
14732 (grub_command_init): Likewise.
14733 (grub_arg_parse): Likewise.
14734 (grub_arg_show_help): Likewise.
14735
14736 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14737 (grub_rescue_unregister_command): Likewise.
14738
14739 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14740 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14741 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14742
14743 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14744 grub_rescue_cmd_initrd.
14745 * include/grub/i386/loader.h: Likewise.
14746 * include/grub/x86_64/loader.h: Likewise.
14747
14748 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14749
1f4147aa 147502009-03-21 Bean <bean123ch@gmail.com>
14751
14752 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14753 instead of stat in mingw environment.
14754
14755 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14756
14757 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14758
14759 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14760 AC_CONFIG_LINKS.
14761
2156d5ba 147622009-03-21 Bean <bean123ch@gmail.com>
14763
14764 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14765 out of range error.
14766
177b82ca 147672009-03-18 Michel Dänzer <michel@daenzer.net>
14768
14769 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14770 checking inode flags for EXT4_EXTENTS_FLAG.
14771
14aad807 147722009-03-18 Robert Millan <rmh@aybabtu.com>
14773
14774 * loader/i386/linux.c: Include `<grub/video.h>' and
14775 `<grub/i386/pc/vbe.h>'..
14776 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14777 (grub_linux32_boot): Attempt to configure video settings with
14778 grub_linux_setup_video().
14779 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14780 to avoid grub_console_fini() which would step out of graphical mode
14781 unconditionally.
14782
8cf83a27 147832009-03-14 Robert Millan <rmh@aybabtu.com>
14784
14785 Fix build on powerpc.
14786 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14787
40164e75 147882009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14791 background image command.
14792
c58bc32a 147932009-03-12 Colin D Bennett <colin@gibibit.com>
14794
14795 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14796 (grub_gfxterm_putchar): Extract pairs of identical calls to
14797 draw_cursor out of conditional blocks.
14798
5415144a 147992009-03-11 Pavel Roskin <proski@gnu.org>
14800
14801 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14802 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14803
6394042e 148042009-03-11 Robert Millan <rmh@aybabtu.com>
14805
14806 * loader/i386/multiboot_elfxx.c
14807 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14808
b7b50e5f 148092009-03-11 Felix Zielcke <fzielcke@z-51.de>
14810
14811 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14812 `kern/handler.c'.
14813
1ca7fc96 148142009-03-11 Robert Millan <rmh@aybabtu.com>
14815
14816 * loader/i386/multiboot.c (code_size): New variable.
14817 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 14818 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 14819 4-byte alignment to MBI and others by increasing
7d074e3c 14820 `boot_loader_name_length' appropriately.
1ca7fc96 14821
14822 * loader/i386/multiboot_elfxx.c
14823 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14824
a83ea1d2 148252009-03-09 Felix Zielcke <fzielcke@z-51.de>
14826
14827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14828 `fs/ext2.c'.
14829
aa9f3bff 148302009-03-08 Robert Millan <rmh@aybabtu.com>
14831
14832 Make loader/i386/linux.c usable on i386-pc again.
14833
14834 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14835 memory to heap.
14836 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14837 `#error' stanza.
14838
d8b3b60e 148392009-03-07 Bean <bean123ch@gmail.com>
14840
14841 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14842 allocation.
14843
b362c9e9 148442009-03-06 Robert Millan <rmh@aybabtu.com>
14845
14846 Fix display issue on terminals with screen size other than 80x25
14847 (e.g. gfxterm with resolution higher than 640x480).
14848
14849 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 14850 position relative to the center of the terminal instead of relying
b362c9e9 14851 on a hardcoded offset.
14852
9304eef1 148532009-03-04 Robert Millan <rmh@aybabtu.com>
14854
14855 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14856 installed.
14857
14858 * Makefile.in (host_kernel): New variable.
14859 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14860 scripts instead of just the windows one.
14861 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14862
eabc95fb 148632009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 14864
14865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14866 `kern/handler.c'.
14867 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14868 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14869 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14871 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14872 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14873
ceb1223c 148742009-03-04 Felix Zielcke <fzielcke@z-51.de>
14875
14876 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14877 or if there's no space for the disk label and print the partition number on a
14878 invalid magic.
14879
4910684a 148802009-03-04 Felix Zielcke <fzielcke@z-51.de>
14881
14882 * util/misc.c: Include <time.h>.
14883 (grub_millisleep): New function.
14884
7e9ca17a 148852009-03-04 Bean <bean123ch@gmail.com>
14886
14887 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14888 another option -mno-red-zone.
14889
14890 * commands/handler.c: Change module description.
14891
14892 * kern/handler.c: Add missing space at the end of description line.
14893
14894 * kern/list.c: Likewise.
14895
f501677c 148962009-03-03 Robert Millan <rmh@aybabtu.com>
14897
14898 Move more components to the relocation area, and fix mbi pointer
14899 handling to use the destination rather than the origin (thanks to
14900 Vladimir Serbinenko for spotting).
14901
14902 * loader/i386/multiboot.c (mbi_dest): New variable.
14903 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14904 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14905 relocation area.
14906
9902d047 149072009-03-01 Bean <bean123ch@gmail.com>
14908
50fb7002 14909 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 14910 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14911 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14912 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14913
14914 * loader/i386/efi/linux.c (acpi_guid): New variable.
14915 (acpi_guid): Likewise.
14916 (EBDA_SEG_ADDR): New constant.
14917 (LOW_MEM_ADDR): Likewise.
14918 (FAKE_EBDA_SEG): Likewise.
14919 (fake_bios_data): New function.
14920 (grub_linux_boot): Call fake_bios_data.
14921
71b9f361 149222009-03-01 Bean <bean123ch@gmail.com>
14923
14924 * commands/terminal.c: Removed.
14925
14926 * commands/handler.c: New file.
14927
14928 * include/grub/list.h: Likewise.
14929
14930 * include/grub/handler.h: Likewise.
14931
14932 * kern/list.c: Likewise.
14933
14934 * kern/handler.c: Likewise.
14935
14936 * kern/term.h: Include header file <grub/handler.h>.
14937 (grub_term_input): Move next field to the beginning.
14938 (grub_term_output): Likewise.
14939 (grub_term_input_class): New variable.
14940 (grub_term_output_class): Likewise.
14941 (grub_term_register_input): Changed to inline function.
14942 (grub_term_register_output): Likewise.
14943 (grub_term_unregister_input): Likewise.
14944 (grub_term_unregister_output): Likewise.
14945 (grub_term_set_current_input): Likewise.
14946 (grub_term_set_current_output): Likewise.
14947 (grub_term_get_current_input): Likewise.
14948 (grub_term_get_current_output): Likewise.
14949 (grub_term_iterate_input): Removed.
14950 (grub_term_iterate_output): Likewise.
14951
14952 * kern/term.c (grub_term_list_input): Removed.
14953 (grub_term_list_output): Likewise.
14954 (grub_term_input_class): New variable.
14955 (grub_term_output_class): Likewise.
50fb7002 14956 (grub_cur_term_input): Change variable as macro.
71b9f361 14957 (grub_cur_term_output): Likewise.
14958 (grub_term_register_input): Removed.
14959 (grub_term_register_output): Likewise.
14960 (grub_term_unregister_input): Likewise.
14961 (grub_term_unregister_output): Likewise.
14962 (grub_term_set_current_input): Likewise.
14963 (grub_term_set_current_output): Likewise.
14964 (grub_term_iterate_input): Likewise.
14965 (grub_term_iterate_output): Likewise.
14966 (grub_term_get_current_input): Likewise.
14967 (grub_term_get_current_output): Likewise.
14968
14969 * util/grub-editenv.c: Include header file <grub/handler.h>.
14970 (grub_term_get_current_input): Removed.
14971 (grub_term_get_current_output): Likewise.
14972 (grub_term_input_class): New variable.
50fb7002 14973 (grub_term_output_class): Likewise.
71b9f361 14974
14975 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14976 (grub_term_get_current_output): Likewise.
14977 (grub_term_input_class): New variable.
50fb7002 14978 (grub_term_output_class): Likewise.
71b9f361 14979
14980 * util/grub-probe.c (grub_term_get_current_input): Removed.
14981 (grub_term_get_current_output): Likewise.
14982 (grub_term_input_class): New variable.
50fb7002 14983 (grub_term_output_class): Likewise.
71b9f361 14984
14985 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14986 (grub_term_get_current_output): Likewise.
14987 (grub_term_input_class): New variable.
50fb7002 14988 (grub_term_output_class): Likewise.
71b9f361 14989
14990 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14991 (terminal_mod_SOURCES): Likewise.
14992 (terminal_mod_CFLAGS): Likewise.
14993 (terminal_mod_LDFLAGS): Likewise.
14994
14995 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14996 handler.c.
14997 (kernel_img_SOURCES): Add list.c and handler.c.
14998 (kernel_img_HEADERS): Add list.h and handler.h.
14999
15000 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
15001 handler.c.
15002 (kernel_mod_SOURCES): Add list.c and handler.c.
15003 (kernel_mod_HEADERS): Add list.h and handler.h.
15004
15005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
15006 handler.c.
15007 (kernel_elf_SOURCES): Add list.c and handler.c.
15008 (kernel_elf_HEADERS): Add list.h and handler.h.
15009
15010 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
15011 handler.c.
15012 (kernel_elf_SOURCES): Add list.c and handler.c.
15013 (kernel_elf_HEADERS): Add list.h and handler.h.
15014
15015 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
15016 handler.c.
15017 (kernel_mod_SOURCES): Add list.c and handler.c.
15018 (kernel_mod_HEADERS): Add list.h and handler.h.
15019
15020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
15021 handler.c.
15022 (kernel_elf_SOURCES): Add list.c and handler.c.
15023 (kernel_elf_HEADERS): Add list.h and handler.h.
15024
8a31787f 150252009-02-27 Robert Millan <rmh@aybabtu.com>
15026
15027 Factorize elf32 / elf64 code in Multiboot loader. This will
15028 prevent it from getting out of sync again.
15029
15030 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
15031 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
15032 grub_multiboot_load_elf64): Move from here ...
15033 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
15034 grub_multiboot_load_elf): ... to here (new file).
15035
51cd3dfc 150362009-02-27 Robert Millan <rmh@aybabtu.com>
15037
15038 * util/grub.d/10_linux.in: Rename "single-user mode" to
15039 "recovery mode".
15040
6e8c9c3a 150412009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 Don't leak in SCSI code.
15044 * disk/scsi.c (grub_scsi_close): free `scsi'.
15045
4b6bf4f9 150462009-02-27 Robert Millan <rmh@aybabtu.com>
15047
15048 * loader/i386/pc/multiboot.c: Move from here ...
15049 * loader/i386/multiboot.c: ... to here. Update all users.
15050
b9413424 150512009-02-27 Robert Millan <rmh@aybabtu.com>
15052
15053 Patch from Alexandre Bique <bique.alexandre@gmail.com>
15054 * util/i386/pc/grub-setup.c (setup): Fix directory path.
15055
50fb7002 150562009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 15057
15058 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
15059 b-tree.
15060
8cc50345 150612009-02-27 Robert Millan <rmh@aybabtu.com>
15062
15063 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
15064 `0x' qualifier as 0 when base is specified as parameter).
15065
6e09b8b7 150662009-02-24 Bean <bean123ch@gmail.com>
15067
15068 * configure.ac: Check for -mcmodel=large in x86_64 target.
15069
15070 * include/grub/efi/api.h (efi_call_10): New macro.
15071 (efi_wrap_10): New function.
15072
15073 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
15074 (GRUB_PE32_REL_BASED_HIGH): Likewise.
15075 (GRUB_PE32_REL_BASED_LOW): Likewise.
15076 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
15077 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
15078 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
15079 (GRUB_PE32_REL_BASED_SECTION): Likewise.
15080 (GRUB_PE32_REL_BASED_REL): Likewise.
15081 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
15082 (GRUB_PE32_REL_BASED_DIR64): Likewise.
15083 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
15084
15085 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
15086 issue.
15087
15088 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
15089 (efi_wrap_10): New function.
15090
15091 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
15092
15093 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
15094 MB/MBP model (NV chipset).
15095 (devdata_devs): Add devpath_5 to the list.
15096
15097 * load/i386/efi/linux.c (video_base): Remove variable.
15098 (RGB_MASK): New macro.
15099 (RGB_MAGIC): Likewise.
15100 (LINE_MIN): Likewise.
15101 (LINE_MAX): Likewise.
15102 (FBTEST_STEP): Likewise.
15103 (FBTEST_COUNT): Likewise.
15104 (fb_list): New variable.
15105 (grub_find_video_card): Remove function.
15106 (find_framebuf): New function.
15107 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
15108 line length.
15109
15110 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
15111 problem for x86_64.
15112
74b21bee 151132009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
15114
15115 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
15116
15117 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
15118 coding tool name.
15119
a455f472 151202009-02-22 Robert Millan <rmh@aybabtu.com>
15121
15122 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
15123 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
15124 in our relocation, instead of using it directly from heap. Also
15125 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
15126
6374daf3 151272009-02-21 Robert Millan <rmh@aybabtu.com>
15128
15129 Implement USB keyboard support (based on patch by Marco Gerards)
15130
15131 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
15132 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
15133 (usb_keyboard_mod_LDFLAGS): New variables.
15134
15135 * term/usb_keyboard.c: New file.
15136
8fa4ea70 151372009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 Corrected wrong declaration
15140
15141 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
15142
353976ac 151432009-02-14 Christian Franke <franke@computer.org>
15144
15145 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
15146 (grub_lspci_iter): Print class code and programming interface byte.
15147
6aa1169b 151482009-02-14 Christian Franke <franke@computer.org>
15149
15150 * gendistlist.sh: Ignore `.svn' directories.
15151
265372ca 151522009-02-14 Felix Zielcke <fzielcke@z-51.de>
15153
15154 * fs/fat.c: Add 2009 to Copyright line.
15155
9ff516f3 151562009-02-14 Christian Franke <franke@computer.org>
15157
15158 * commands/hdparm.c: New file. Provides `hdparm' command
15159 which sends ATA commands via grub_disk_ata_pass_through ().
15160
15161 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
15162
15163 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
15164 and <grub/cpu/io.h> to include/grub/ata.h.
15165 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
15166 (GRUB_CDROM_SECTOR_SIZE): Remove.
15167 (GRUB_ATA_*): Move to include/grub/ata.h.
15168 (GRUB_ATAPI_*): Likewise.
15169 (enum grub_ata_commands): Likewise.
15170 (enum grub_ata_timeout_milliseconds): Likewise.
15171 (struct grub_ata_device): Likewise.
15172 (grub_ata_regset): Likewise.
15173 (grub_ata_regget): Likewise.
15174 (grub_ata_regset2): Likewise.
15175 (grub_ata_regget2): Likewise.
15176 (grub_ata_check_ready): Likewise.
15177 (grub_ata_wait_not_busy): Remove static, exported in
15178 include/grub/ata.h.
15179 (grub_ata_wait_drq): Likewise.
15180 (grub_ata_pio_read): Likewise.
15181
15182 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
15183 function for hdparm.mod.
15184
15185 * include/grub/ata.h: New file, contains declarations from
15186 disk/ata.c.
15187 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
15188
15189 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
15190 (grub_disk_ata_pass_through): New exported variable.
15191
15192 * kern/disk.c (grub_disk_ata_pass_through): New variable.
15193
772e23da 151942009-02-13 Colin D Bennett <colin@gibibit.com>
15195
15196 Support multiple fallback entries, and provide an API to support
15197 executing default+fallback menu entries. Renamed the `terminal' menu
15198 viewer to `text'.
15199
15200 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
15201 variable declaration.
15202 (grub_menu_execute_callback): New structure declaration.
15203 (grub_menu_execute_callback_t): New typedef.
15204 (grub_menu_execute_with_fallback): New function declaration.
15205 (grub_menu_get_entry): Likewise.
15206 (grub_menu_get_timeout): Likewise.
15207 (grub_menu_set_timeout): Likewise.
15208
15209 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
15210
15211 * normal/menu.c (grub_wait_after_message): Moved to
15212 `normal/menu_text.c'.
15213 (draw_border): Likewise.
15214 (print_message): Likewise.
15215 (print_entry): Likewise.
15216 (print_entries): Likewise.
15217 (grub_menu_init_page): Likewise.
15218 (get_entry_number): Likewise.
15219 (print_timeout): Likewise.
15220 (run_menu): Likewise.
15221 (grub_menu_execute_entry): Likewise.
15222 (show_text_menu): Likewise.
15223 (get_and_remove_first_entry_number): New function.
15224 (grub_menu_execute_with_fallback): Likewise.
15225 (get_entry): Renamed to ...
15226 (grub_menu_get_entry): .. this and made it global.
15227 (get_timeout): Renamed to ...
15228 (grub_menu_get_timeout): ... this and made it global.
15229 (set_timeout): Renamed to ...
15230 (grub_menu_set_timeout): ... this and made it global.
15231 (grub_normal_terminal_menu_viewer): Renamed to ...
15232 (grub_normal_text_menu_viewer): ... this.
15233
15234 * normal/menu_text.c: New file. Extracted text-menu-specific code
15235 from normal/menu.c.
15236
15237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
15238 (normal_mod_SOURCES): Likewise.
15239
15240 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15241 (normal_mod_SOURCES): Likewise.
15242
15243 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15244 (normal_mod_SOURCES): Likewise.
15245
15246 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
15247 (normal_mod_SOURCES): Likewise.
15248
15249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15250 (normal_mod_SOURCES): Likewise.
15251
15252 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15253 (normal_mod_SOURCES): Likewise.
15254
15255 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15256 (normal_mod_SOURCES): Likewise.
15257
16ac430e 152582009-02-11 Robert Millan <rmh@aybabtu.com>
15259
15260 * util/grub.d/00_header.in: Update old reference to `font' command.
15261
06ff20fc 152622009-02-10 Felix Zielcke <fzielcke@z-51.de>
15263
15264 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
15265
15266 Based on patch from Javier Martín.
15267
96da9407 152682009-02-09 Felix Zielcke <fzielcke@z-51.de>
15269
15270 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 15271 to avoid false positives with FAT.
96da9407 15272 (grub_fstest_SOURCES): Likewise.
15273 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15274 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15276 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15277 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15278 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15279
6dca6fe4 152802009-02-09 Felix Zielcke <fzielcke@z-51.de>
15281
06ff20fc 15282 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 15283 bpb.version_specific.fat12_or_fat16.fstype and
15284 bpb.version_specific.fat32.fstype.
15285
2550c62f 152862009-02-08 Robert Millan <rmh@aybabtu.com>
15287
be110b30 15288 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 15289
56978920 152902009-02-08 Robert Millan <rmh@aybabtu.com>
15291
15292 * Makefile.in (host_os, host_cpu): New variables.
15293 (target_os): Remove. Update all users.
15294
d64399b5 152952009-02-08 Marco Gerards <marco@gnu.org>
15296
15297 * Makefile.in (enable_grub_emu_usb): New variable.
15298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
15299 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
15300 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
15301 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
15302 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
15303 `usbtest.mod' and `usbms.mod'.
15304 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
15305 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
15306 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
15307 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
15308 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
15309 variables.
15310
15311 * disk/usbms.c: New file.
15312
15313 * include/grub/usb.h: Likewise.
15314
15315 * include/grub/usbtrans.h: Likewise.
15316
15317 * include/grub/usbdesc.h: Likewise.
15318
15319 * bus/usb/usbtrans.c: Likewise.
15320
15321 * bus/usb/ohci.c: Likewise.
15322
15323 * bus/usb/uhci.c: Likewise.
15324
15325 * bus/usb/usbhub.c: Likewise.
15326
15327 * bus/usb/usb.c: Likewise.
15328
15329 * commands/usbtest.c: Likewise.
15330
15331 * util/usb.c: Likewise.
50fb7002 15332
d64399b5 15333 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
15334
15335 * configure.ac: Test for libusb presence.
50fb7002 15336
d64399b5 15337 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
15338
2b40d6bb 153392009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
15340
15341 * kern/mm.c: Add more comments.
15342
73a4ce81 153432009-02-08 Robert Millan <rmh@aybabtu.com>
15344
15345 Patch from Javier Martín.
15346 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
15347 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
15348
f821ce59 153492009-02-08 Robert Millan <rmh@aybabtu.com>
15350
15351 * fs/cpio.c: Split tar functionality to ...
15352 * fs/tar.c: ... here (new file). Update all users.
15353
aebfc4b0 153542009-02-07 Robert Millan <rmh@aybabtu.com>
15355
15356 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
15357 backward-incompatible features.
15358
15359 Based on patch from Javier Martín, with some adjustments.
15360
50fb7002 153612009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 15362
15363 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
15364
0bb5115e 153652009-02-07 Robert Millan <rmh@aybabtu.com>
15366
15367 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
15368 position of `disk/lvm.c' to ensure grub_init_all() always picks it
15369 after the RAID stuff.
15370
38a0f8e7 153712009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
15372
50fb7002 15373 Fixes problem when running vbetest command as reported by
38a0f8e7 15374 Vladimir Serbinenko <phcoder@gmail.com>.
15375
15376 * (grub_vbe_set_video_mode): Fixed problem with text modes.
15377
3143cc1c 153782009-02-04 Felix Zielcke <fzielcke@z-51.de>
15379
15380 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
15381 /dev/md/NpN style mdraid devices.
15382
9cba6fce 153832009-02-03 Felix Zielcke <fzielcke@z-51.de>
15384
15385 * util/unifont2pff.rb: Remove.
15386
e507a2c1 153872009-02-03 Felix Zielcke <fzielcke@z-51.de>
15388
15389 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
15390 `#'.
15391
d2c2b4cd 153922009-02-03 Felix Zielcke <fzielcke@z-51.de>
15393
15394 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
15395 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15396 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15397 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15399 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15400 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15401
b4315fb0 154022009-02-02 Christian Franke <franke@computer.org>
15403
15404 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15405
de3aa260 154062009-02-01 Felix Zielcke <fzielcke@z-51.de>
15407
7c3ff286 15408 * INSTALL: Note that we now require at least autoconf 2.59 and
15409 that LZO is optional.
de3aa260 15410
825a182b 154112009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15412
15413 Base on patch on bug #24154 created by Tomas Tintera
15414 <trosos@seznam.cz>.
15415
15416 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15417
a69ef770 154182009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15419
7c3ff286 15420 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 15421 <bero@arklinux.org>.
15422
15423 * normal/parser.y (script_init): Add missing semicolon.
15424
6fa42fa6 154252009-01-31 Colin D Bennett <colin@gibibit.com>
15426
7c3ff286 15427 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 15428 (free_menu_entry_classes): Added.
15429 (grub_normal_menu_addentry): Added class property handling.
15430 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15431 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15432
15433 * normal/menu_viewer.c: New file.
15434
15435 * normal/menu.c (run_menu_entry): Renamed to ...
15436 (grub_menu_execute_entry): ... this and made it as global.
15437 (grub_menu_run): Renamed to ...
15438 (show_text_menu): ... this and made it local.
15439 (show_text_menu): Adapt to new function names.
15440 (grub_normal_terminal_menu_viewer): New global variable.
15441
15442 * include/grub/menu.h: New file.
15443
15444 * include/grub/menu_viewer.h: New file.
15445
15446 * include/grub/normal.h: Added include to grub/menu.h.
15447 (grub_menu_entry): Moved to include/grub/menu.h.
15448 (grub_menu_entry_t): Likewise.
15449 (grub_menu): Likewise.
15450 (grub_menu_t): Likewise.
15451 (grub_normal_terminal_menu_viewer): Added.
15452 (grub_menu_execute_entry): Likewise.
15453 (grub_menu_run): Removed.
15454
15455 * DISTLIST: Added include/grub/menu.h.
15456 Added include/grub/menu_viewer.h.
15457 Added normal/menu_viewer.c.
15458
154592009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15460
15461 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15462 arglist for menutitle arguments.
15463
15464 * normal/main.c (grub_normal_menu_addentry): Likewise.
15465
15466 * normal/parser.y (menuentry): Likewise.
15467
15468 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15469
15470 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15471 (grub_script_create_cmdmenu): Likewise.
15472
15473 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15474
15475 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15476 changes.
15477
15478 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15479
15480 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15481
15482 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15483
15484 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15485
15486 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15487
15488 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15489
56192c23 154902009-01-30 Christian Franke <franke@computer.org>
15491
15492 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15493 in option help text.
15494
d72521b3 154952009-01-27 Pavel Roskin <proski@gnu.org>
15496
15497 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15498
994b5e84 154992009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15500
15501 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15502
15503 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15504
15505 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15506 unregister function.
15507
6a7eab2c 155082009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15509
15510 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15511
15512 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15513
15514 * util/grub-mkfont.c (usage): Fix typo.
15515
15516 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15517
1806b56e 155182009-01-26 Daniel Mierswa <impulze@impulze.org>
15519
3fb18f09 15520 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15521
336e1fb9 15522 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15523
1806b56e 15524 * kern/misc.c (grub_strcasecmp): New function.
15525 (grub_strcasecmp): Use grub_size_t instead of int for length.
15526 Fix return value.
15527 * include/grub/misc.h: Update function prototypes.
15528
580b2a0f 155292009-01-26 Robert Millan <rmh@aybabtu.com>
15530
15531 * configure.ac: Fix cross-compilation check.
ef257b36 15532
d31c24f1 155332009-01-22 Christian Franke <franke@computer.org>
15534
15535 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15536 (precision) digit string. Allow `.format2' without `format1' (width).
15537 Limit input chars for `%s' output to `format2' if specified. This is
15538 compatible with standard printf ().
15539
3138b44c 155402009-01-22 Christian Franke <franke@computer.org>
15541
15542 * disk/ata.c (grub_ata_wait_status): Replace by ...
15543 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15544 other status bits may be invalid while BSY is asserted.
15545 (grub_ata_check_ready): New function.
15546 (grub_ata_cmd): Removed.
15547 (grub_ata_wait_drq): New function.
15548 (grub_ata_strncpy): Remove inline.
15549 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15550 and error check now done by grub_ata_wait_drq ().
15551 (grub_ata_pio_write): Likewise.
15552 (grub_atapi_identify): Set DEV before check for !BSY. Use
15553 grub_ata_wait_drq () to wait for data.
15554 (grub_ata_device_initialize): Add status register check to
15555 detect missing SATA slave devices. Add debug messages.
15556 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15557 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15558 transfer loop by grub_ata_pio_write ().
15559 (grub_ata_identify): Set DEV before check for !BSY. Use
15560 grub_ata_wait_drq () to wait for data.
ef257b36 15561 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 15562 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15563 read/write in one loop. Fix invalid command on write. Fix incomplete
15564 command on (size % batch) == 0. Add missing error check after write of
15565 last block. Add debug messages.
15566 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15567
59a64ef6 155682009-01-19 Christian Franke <franke@computer.org>
15569
15570 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15571 (GRUB_ATAPI_IREASON_*): Likewise.
15572 (grub_ata_pio_write): Fix timeout error return.
15573 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15574 (grub_atapi_wait_drq): New function.
15575 (grub_atapi_packet): New parameter `size'.
15576 Use grub_atapi_wait_drq () and direct write instead of
15577 grub_ata_pio_write ().
15578 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15579 reads the number of bytes requested by the device for each DRQ
15580 assertion.
15581 (grub_atapi_write): Remove old implementation, return not
15582 implemented instead.
15583
1cfe20b3 155842009-01-19 Christian Franke <franke@computer.org>
15585
15586 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15587 of 512 to calculate data size.
15588 (grub_scsi_read12): Likewise.
15589 (grub_scsi_write10): Likewise.
15590 (grub_scsi_write12): Likewise.
15591 (grub_scsi_read): Adjust size according to blocksize.
15592 Add checks for invalid blocksize and unaligned transfer.
15593
bee5fe5d 155942009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15595
15596 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15597
ef257b36 15598 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 15599 width glyphs.
15600
3e643f8c 156012009-01-19 Robert Millan <rmh@aybabtu.com>
15602
15603 * config.guess: Update to latest version from config git.
15604 * config.sub: Likewise.
15605
4fa80998 156062009-01-17 Felix Zielcke <fzielcke@z-51.de>
15607
15608 * Makefile.in: Change font compilation to use new grub-mkfont instead
15609 of java version.
15610
15611 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15612 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15613 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15614 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15615 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15616 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15617 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15618 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15619 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15620
7086085b 156212009-01-16 Christian Franke <franke@computer.org>
15622
15623 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15624 (enum grub_ata_timeout_milliseconds): New enum.
15625 (grub_ata_wait_status): Add parameter milliseconds.
15626 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15627 recovery from timed-out commands.
15628 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15629 return grub_errno instead of REG_ERROR.
15630 (grub_ata_pio_write): Add parameter milliseconds.
15631 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15632 Pass milliseconds to grub_ata_wait_status () and
15633 grub_ata_pio_read ().
15634 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15635 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15636 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15637 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15638 It is not suitable for device detection, because DEV bit is ignored,
15639 the command may run too long, and not all devices set the signature
15640 properly.
15641 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15642 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15643 Fix device selection, DEV bit must be set first to address the registers
15644 of the correct device.
15645 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15646 grub_ata_pio_read/write ().
15647 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15648 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15649
4a412913 156502009-01-13 Carles Pina i Estany <carles@pina.cat>
15651
15652 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15653
7795c55e 156542009-01-13 Bean <bean123ch@gmail.com>
d913988c 15655
15656 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15657
7795c55e 156582009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 15659
15660 * Makefile.in: (enable_grub_mkfont): New variable.
15661 (freetype_cflags): Likewise.
15662 (freetype_libs): Likewise.
15663
15664 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15665 (grub_mkfont_SOURCES): New variable.
15666 (grub_mkfont_CFLAGS): Likewise.
15667 (grub_mkfont_LDFLAGS): Likewise.
15668
15669 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15670 library if `--enable-grub-mkfont' is requested.
15671 (enable_grub_mkfont): New variable.
15672 (freetype_cflags): Likewise.
15673 (freetype_libs): Likewise.
15674
15675 * util/grub-mkfont.c: New file.
15676
093af1fe 156772009-01-12 Christian Franke <franke@computer.org>
15678
15679 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15680 mode check. Fix setting of compat_use[].
15681
f36cc108 156822009-01-10 Robert Millan <rmh@aybabtu.com>
15683
15684 Update a few copyright years which we forgot to do in 2008 (only for
15685 files whose changes made in 2008 were copyright-significant)
15686
15687 * Makefile.in: Add 2008 to Copyright line.
15688 * disk/ieee1275/ofdisk.c: Likewise.
15689 * disk/efi/efidisk.c: Likewise.
15690 * kern/dl.c: Likewise.
15691 * kern/sparc64/ieee1275/init.c: Likewise.
15692 * kern/mm.c: Likewise.
15693 * kern/efi/mm.c: Likewise.
15694 * boot/i386/pc/boot.S: Likewise.
15695 * genfslist.sh: Likewise.
15696 * fs/iso9660.c: Likewise.
15697 * fs/hfs.c: Likewise.
15698 * fs/jfs.c: Likewise.
15699 * fs/minix.c: Likewise.
15700 * fs/ufs.c: Likewise.
15701 * gensymlist.sh.in: Likewise.
15702 * genkernsyms.sh.in: Likewise.
15703 * include/grub/misc.h: Likewise.
15704 * include/grub/types.h: Likewise.
15705 * include/grub/symbol.h: Likewise.
15706 * include/grub/elf.h: Likewise.
15707 * include/grub/kernel.h: Likewise.
15708 * include/grub/disk.h: Likewise.
15709 * include/grub/dl.h: Likewise.
15710 * include/grub/i386/linux.h: Likewise.
15711 * include/grub/i386/pc/biosdisk.h: Likewise.
15712 * include/grub/efi/api.h: Likewise.
15713 * include/grub/efi/pe32.h: Likewise.
15714 * include/grub/util/misc.h: Likewise.
15715 * normal/execute.c: Likewise.
15716 * normal/arg.c: Likewise.
15717 * normal/completion.c: Likewise.
15718 * normal/lexer.c: Likewise.
15719 * normal/parser.y: Likewise.
15720 * normal/misc.c: Likewise.
15721 * commands/i386/pc/vbeinfo.c: Likewise.
15722 * commands/hexdump.c: Likewise.
15723 * commands/terminal.c: Likewise.
15724 * commands/ls.c: Likewise.
15725 * commands/help.c: Likewise.
15726 * partmap/pc.c: Likewise.
15727 * loader/efi/chainloader.c: Likewise.
15728 * loader/multiboot_loader.c: Likewise.
15729 * loader/i386/pc/multiboot2.c: Likewise.
15730 * term/efi/console.c: Likewise.
15731 * term/i386/pc/serial.c: Likewise.
15732 * util/lvm.c: Likewise.
15733 * util/console.c: Likewise.
15734 * util/i386/efi/grub-mkimage.c: Likewise.
15735 * util/raid.c: Likewise.
15736
7f02114b 157372009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15738
15739 * commands/videotest.c: Removed include to grub/machine/memory.h.
15740
15741 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15742 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15743 (video_mod_SOURCES): Removed.
15744 (video_mod_CFLAGS): Likewise.
15745 (video_mod_LDFLAGS): Likewise.
15746 (gfxterm_mod_SOURCES): Likewise.
15747 (gfxterm_mod_CFLAGS): Likewise.
15748 (gfxterm_mod_LDFLAGS): Likewise.
15749 (videotest_mod_SOURCES): Likewise.
15750 (videotest_mod_CFLAGS): Likewise.
15751 (videotest_mod_LDFLAGS): Likewise.
15752 (bitmap_mod_SOURCES): Likewise.
15753 (bitmap_mod_CFLAGS): Likewise.
15754 (bitmap_mod_LDFLAGS): Likewise.
15755 (tga_mod_SOURCES): Likewise.
15756 (tga_mod_CFLAGS): Likewise.
15757 (tga_mod_LDFLAGS): Likewise.
15758 (jpeg_mod_SOURCES): Likewise.
15759 (jpeg_mod_CFLAGS): Likewise.
15760 (jpeg_mod_LDFLAGS): Likewise.
15761 (png_mod_SOURCES): Likewise.
15762 (png_mod_CFLAGS): Likewise.
15763 (png_mod_LDFLAGS): Likewise.
15764
15765 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15766 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15767 (video_mod_SOURCES): Added.
15768 (video_mod_CFLAGS): Likewise.
15769 (video_mod_LDFLAGS): Likewise.
15770 (videotest_mod_SOURCES): Likewise.
15771 (videotest_mod_CFLAGS): Likewise.
15772 (videotest_mod_LDFLAGS): Likewise.
15773 (bitmap_mod_SOURCES): Likewise.
15774 (bitmap_mod_CFLAGS): Likewise.
15775 (bitmap_mod_LDFLAGS): Likewise.
15776 (tga_mod_SOURCES): Likewise.
15777 (tga_mod_CFLAGS): Likewise.
15778 (tga_mod_LDFLAGS): Likewise.
15779 (jpeg_mod_SOURCES): Likewise.
15780 (jpeg_mod_CFLAGS): Likewise.
15781 (jpeg_mod_LDFLAGS): Likewise.
15782 (png_mod_SOURCES): Likewise.
15783 (png_mod_CFLAGS): Likewise.
15784 (png_mod_LDFLAGS): Likewise.
15785 (gfxterm_mod_SOURCES): Likewise.
15786 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 15787 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 15788
15789 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15790 grub/machine/console.h.
15791
644fff97 157922009-01-04 Jerone Young <jerone@gmail.com>
15793
15794 Make on screen instructions clearer
15795
15796 Based on patch created by Jidanni <jidanni@jidanni.org>
15797
15798 * normal/menu.c: print clearer instructions on the screen
15799
1e901a75 158002009-01-02 Colin D Bennett <colin@gibibit.com>
15801
15802 New font engine.
34c44600 15803
1e901a75 15804 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15805 build system and fixed gfxterm.c to work with different sized fonts.
15806
15807 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 15808
1e901a75 15809 * configure: Re-generated.
34c44600 15810
1e901a75 15811 * DISTLIST: Removed font/manager.c.
15812 Added font/font.c.
15813 Added font/font_cmd.c.
34c44600 15814
1e901a75 15815 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15816 compilation.
34c44600 15817
1e901a75 15818 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 15819
15820 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 15821
15822 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 15823
1e901a75 15824 * normal/menu.c: Likewise.
34c44600 15825
1e901a75 15826 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15827 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 15828
1e901a75 15829 * include/grub/font.h: Replaced with new file.
34c44600 15830
1e901a75 15831 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15832 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15833 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15834 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15835 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 15836 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 15837 fg_red, fg_green, fg_blue, fg_alpha.
15838 (grub_video_adapter): Removed blit_glyph.
34c44600 15839 (grub_video_blit_glyph): Removed.
15840
1e901a75 15841 * font/manager.c: Removed file.
34c44600 15842
15843 * font/font.c: New file.
15844
1e901a75 15845 * font/font_cmd.c: Likewise.
34c44600 15846
1e901a75 15847 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 15848
1e901a75 15849 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15850 (grub_video_vbe_map_rgba): Likewise.
15851 (grub_video_vbe_unmap_color_int): Likewise.
15852 (grub_video_vbe_blit_glyph): Removed.
15853 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 15854
1e901a75 15855 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15856 (get_pixel): Likewise.
34c44600 15857 (set_pixel): Likewise.
15858
1e901a75 15859 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 15860
1e901a75 15861 * term/gfxterm.c: Adapted to new font engine.
34c44600 15862
1e901a75 15863 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 15864
1e901a75 15865 * term/i386/pc/vga.c: Likewise.
34c44600 15866
1e901a75 15867 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 15868
1e901a75 15869 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 15870
1e901a75 15871 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15872
1e901a75 15873 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15874
1e901a75 15875 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 15876
1e901a75 15877 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 15878
1e901a75 15879 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 15880
1e901a75 15881 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 15882
1e901a75 15883 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15884
15885 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 15886
1e901a75 15887 * util/grub-mkconfig_lib.in: Changed font extension.
15888
278922e8 158892008-12-28 Felix Zielcke <fzielcke@z-51.de>
15890
15891 * util/getroot.c (grub_util_get_grub_dev): Add support for
15892 /dev/md/dNNpNN style partitionable mdraid devices.
15893
3ced05cf 158942008-12-12 Alex Smith <alex@alex-smith.me.uk>
15895
15896 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15897 at a time limit of the PXE TFTP API correctly.
15898 (grub_pxefs_close): Likewise.
15899
7fd0ee30 159002008-11-29 Robert Millan <rmh@aybabtu.com>
15901
34c44600 15902 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 15903 grub_ata_device_initialize() calls.
15904
34c44600 159052008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 15906
15907 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15908 iteration failed.
15909 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15910
89313780 159112008-11-28 Robert Millan <rmh@aybabtu.com>
15912
15913 Fix build on powerpc-ieee1275. Based on patch created by
15914 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15915 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15916 `kern/ieee1275/mmap.c'.
15917 * include/grub/powerpc/ieee1275/memory.h: New file.
15918
15257703 15919 Provide grub-install on coreboot.
15920 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15921 (grub_install_SOURCES): New variable.
15922 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15923 usable on coreboot.
15924
9fc5388a 159252008-11-25 Felix Zielcke <fzielcke@z-51.de>
15926
15927 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15928 to `grub_term_input_t'.
15929 (grub_term_get_current_output): Change return type to
15930 `grub_term_output_t'.
15931
bc3a2f31 159322008-11-22 Robert Millan <rmh@aybabtu.com>
15933
34c44600 15934 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 15935 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15936 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15937 grub_vga_text_cls().
15938
80fc88f2 15939 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 15940 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 15941
cbf36fd3 15942 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15943 to 0x200000 (avoids trouble with some OFW implementations, and matches
15944 with the one in Yaboot).
15945 Reported by Manoel Abranches
15946
73e8e268 159472008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 15948
15949 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15950 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15951
73e8e268 15952 * util/grub-mkconfig_lib.in (grub_warn): New function.
15953 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15954 warnings, to obtain consistent formatting.
15955 * util/grub.d/00_header.in: Likewise.
15956 * util/update-grub_lib.in: Likewise.
15957
e94045a1 15958 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 15959 Move comment text to `#error' stanza.
e94045a1 15960
79d29fd7 15961 Harmonize ieee1275's grub_available_iterate() with the generic
15962 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15963 build problem on i386-ieee1275):
15964 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15965 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15966 parameter `type'. Update all users of this function.
15967 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15968 `kern/ieee1275/mmap.c'.
15969 * kern/ieee1275/init.c
15970 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15971 with ...
15972 (grub_machine_mmap_iterate): ... this.
15973 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15974 return type to `grub_err_t'. Update all implementations of this
15975 function prototype.
15976 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15977 Likewise.
15978
60d6b16e 15979 Add `lsmmap' command (lists firmware-provided memory map):
15980 * commands/lsmmap.c: New file.
15981 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15982 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15983 variables.
15984 * conf/powerpc-ieee1275.rmk: Likewise.
15985 * conf/i386-coreboot.rmk: Likewise.
15986 * conf/i386-ieee1275.rmk: Likewise.
15987
ebaaf49b 159882008-11-19 Robert Millan <rmh@aybabtu.com>
15989
15990 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 15991 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15992 constraints to initrd allocation (based on code from
15993 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15994 for Linux to find it.
ebaaf49b 15995
dfab719f 159962008-11-14 Robert Millan <rmh@aybabtu.com>
15997
15998 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15999 order to cope with duplicate slashes.
16000
10fc3eb9 160012008-11-14 Robert Millan <rmh@aybabtu.com>
16002
16003 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
16004 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
16005 don't want to mess with lower memory, because it is used in the Linux
16006 loader.
16007
16008 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 16009 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 16010 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
16011 is in our heap (probably as a result of it being corrupted during
2f2a3442 16012 decompression). Add #error instance with comment to explain why this
16013 loader isn't currently usable on PC/BIOS.
10fc3eb9 16014
e2e07847 160152008-11-14 Robert Millan <rmh@aybabtu.com>
16016
16017 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 16018 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 16019
fe8e8d69 160202008-11-12 Robert Millan <rmh@aybabtu.com>
16021
16022 Make loader/i386/linux.c buildable on i386-pc (although disabled).
16023
16024 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
16025 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
16026 from here ...
16027 * include/grub/i386/pc/memory.h: ... to here.
16028
976b07d0 160292008-11-12 Robert Millan <rmh@aybabtu.com>
16030
16031 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
16032 split).
16033
16034 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
16035 (grub_console_cur_color, grub_console_real_putchar)
16036 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16037 (grub_console_setcolorstate, grub_console_setcolor)
16038 (grub_console_getcolor): Move from here ...
16039 * include/grub/i386/vga_common.h: ... to here (new file).
16040
16041 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
16042 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
16043 `<grub/i386/io.h>'.
16044 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
16045 `<grub/i386/vga_common.h>'.
16046
76679cd3 160472008-11-12 Robert Millan <rmh@aybabtu.com>
16048
16049 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
16050 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
16051 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
16052 variables.
16053 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16054 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
16055
16056 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
16057 grub_console_init() with call to grub_vga_text_init().
16058 (grub_machine_fini): Replace call to
16059 grub_console_fini() with call to grub_vga_text_fini() and
16060 grub_at_keyboard_fini().
16061
16062 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
16063 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16064 (grub_console_setcolorstate, grub_console_setcolor)
16065 (grub_console_getcolor): New function prototypes.
16066
16067 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
16068 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
16069 (grub_vga_text_setcursor): Static-ize.
16070 (grub_vga_text_term): New structure.
16071 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
16072
16073 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
16074 (grub_console_cur_color, grub_console_standard_color)
16075 (grub_console_normal_color, grub_console_highlight_color)
16076 (map_char, grub_console_putchar, grub_console_getcharwidth)
16077 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
16078 (grub_console_getcolor): Move from here ...
16079 * term/i386/vga_common.c: ... to here (same function names).
16080
95b841d3 160812008-11-12 Robert Millan <rmh@aybabtu.com>
16082
16083 Use newly-added Multiboot support in coreboot.
16084
16085 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16086 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
16087
16088 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
16089 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
16090 (codestart): Store the MBI in `startup_multiboot_info' when we're
16091 being loaded using Multiboot.
16092
16093 * kern/i386/coreboot/init.c (grub_machine_init): Move
16094 grub_at_keyboard_init() call to beginning of function (useful for
16095 debugging). Call grub_machine_mmap_init() before attempting to use
16096 grub_machine_mmap_iterate().
16097 (grub_lower_mem, grub_upper_mem): Move from here ...
16098 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
16099 here (new file).
16100
16101 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
16102 function prototype.
16103
761ca975 161042008-11-12 Robert Millan <rmh@aybabtu.com>
16105
16106 Fix a regression introduced by the at_keyboard.mod split. Because
16107 some terminals are default on some platforms and non-default on
16108 others, the first terminal being registered determines which is
16109 going to be default.
16110
16111 * kern/term.c (grub_term_register_input): If this is the first
16112 terminal being registered, set it as the current one.
16113 (grub_term_register_output): Likewise.
16114
16115 * term/efi/console.c (grub_console_init): Do not call
16116 grub_term_set_current_output() or grub_term_set_current_input().
16117 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
16118 * term/i386/pc/console.c (grub_console_init): Likewise.
16119 (grub_console_fini): Do not call grub_term_set_current_input()
16120 (but leave grub_term_set_current_output() to restore text mode).
16121
6c529df7 161222008-11-10 Robert Millan <rmh@aybabtu.com>
16123
16124 * util/grub.d/00_header.in: Add backward compatibility check for
16125 versions of terminal.mod that don't understand `terminal_input' or
16126 `terminal_output'.
16127
132e4113 161282008-11-09 Robert Millan <rmh@aybabtu.com>
16129
16130 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
16131 `terminal_input' / `terminal_output', not `terminal'.
16132
ac293d50 161332008-11-08 Robert Millan <rmh@aybabtu.com>
16134
16135 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 16136 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 16137
0025933a 161382008-11-08 Robert Millan <rmh@aybabtu.com>
16139
16140 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 16141 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 16142 members. Update all users.
16143 * util/console.c (grub_ncurses_term): Split in ...
16144 (grub_ncurses_term_input): ... this, and ...
16145 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 16146 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 16147
37c86336 161482008-11-08 Robert Millan <rmh@aybabtu.com>
16149
16150 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
16151 (PKGDATA): Add $(pkgdata_SRCDIR).
16152 (pkglib_BUILDDIR): New variable.
16153 (pkgdata_SRCDIR): New variable.
16154 (build_env.mk): New target.
16155 (include_DATA): New variable.
16156 (install-local): Install $(include_DATA) files in $(includedir).
16157
b6c15a2d 161582008-11-07 Pavel Roskin <proski@gnu.org>
16159
d99d46f1 16160 * gendistlist.sh: Use C locale for sorting to ensure consistent
16161 output on all systems.
16162
b6c15a2d 16163 * util/grub.d/00_header.in: Remove incorrect space before
16164 "serial".
16165
c32ee8c9 161662008-11-07 Robert Millan <rmh@aybabtu.com>
16167
16168 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
16169 per specification.
16170 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
16171 * loader/multiboot_loader.c (find_multi_boot2_header): New function
16172 (based on find_multi_boot1_header).
16173 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
16174 using find_multi_boot2_header(), and abort if neither Multiboot or
16175 Multiboot headers were found.
16176
651c29b7 161772008-11-07 Robert Millan <rmh@aybabtu.com>
16178
16179 Modularize at_keyboard.mod:
16180
16181 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
16182 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16183 (at_keyboard_mod_LDFLAGS): New variables.
16184
16185 Actual terminal split:
16186
16187 * include/grub/term.h (struct grub_term): Split in ...
16188 (struct grub_term_input): ... this, and ...
16189 (struct grub_term_output): ... this. Update all users.
16190 (grub_term_set_current): Split in ...
16191 (grub_term_set_current_input): ... this, and ...
16192 (grub_term_set_current_output): ... this.
16193 (grub_term_get_current): Split in ...
16194 (grub_term_get_current_input): ... this, and ...
16195 (grub_term_get_current_output): ... this.
16196 (grub_term_register): Split in ...
16197 (grub_term_register_input): ... this, and ...
16198 (grub_term_register_output): ... this.
16199 (grub_term_unregister): Split in ...
16200 (grub_term_unregister_input): ... this, and ...
16201 (grub_term_unregister_output): ... this.
16202 (grub_term_iterate): Split in ...
16203 (grub_term_iterate_input): ... this, and ...
16204 (grub_term_iterate_output): ... this.
16205
16206 * kern/term.c (grub_term_list): Split in ...
16207 (grub_term_list_input): ... this, and ...
16208 (grub_term_list_output): ... this. Update all users.
16209 (grub_cur_term): Split in ...
16210 (grub_cur_term_input): ... this, and ...
16211 (grub_cur_term_output): ... this. Update all users.
16212 (grub_term_set_current): Split in ...
16213 (grub_term_set_current_input): ... this, and ...
16214 (grub_term_set_current_output): ... this.
16215 (grub_term_get_current): Split in ...
16216 (grub_term_get_current_input): ... this, and ...
16217 (grub_term_get_current_output): ... this.
16218 (grub_term_register): Split in ...
16219 (grub_term_register_input): ... this, and ...
16220 (grub_term_register_output): ... this.
16221 (grub_term_unregister): Split in ...
16222 (grub_term_unregister_input): ... this, and ...
16223 (grub_term_unregister_output): ... this.
16224 (grub_term_iterate): Split in ...
16225 (grub_term_iterate_input): ... this, and ...
16226 (grub_term_iterate_output): ... this.
16227
16228 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
16229 a check for input and one for output (and only attempt to get keys
16230 from user when input works).
16231
16232 * util/grub-probe.c (grub_term_get_current): Split in ...
16233 (grub_term_get_current_input): ... this, and ...
16234 (grub_term_get_current_output): ... this.
16235 * util/grub-fstest.c: Likewise.
16236 * util/i386/pc/grub-setup.c: Likewise.
16237 * util/grub-editenv.c: Likewise.
16238
16239 Portability adjustments:
16240
16241 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
16242 `term/i386/pc/at_keyboard.c'.
16243 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
16244 grub_keyboard_controller_init() (now handled by terminal .init).
16245 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
16246 grub_at_keyboard_init().
16247 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
16248 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
16249 at_keyboard.mod via input terminal interface).
16250 * include/grub/i386/coreboot/console.h: Convert into a stub for
16251 `<grub/i386/pc/console.h>'.
16252
16253 Migrate full terminals to new API:
16254
16255 * term/efi/console.c (grub_console_term): Split into ...
16256 (grub_console_term_input): ... this, and ...
16257 (grub_console_term_output): ... this. Update all users.
16258 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
16259 (grub_ofconsole_init): Split into ...
16260 (grub_ofconsole_init_input): ... this, and ...
16261 (grub_ofconsole_init_output): ... this.
16262 (grub_ofconsole_term): Split into ...
16263 (grub_ofconsole_term_input): ... this, and ...
16264 (grub_ofconsole_term_output): ... this. Update all users.
16265 * term/i386/pc/serial.c (grub_serial_term): Split into ...
16266 (grub_serial_term_input): ... this, and ...
16267 (grub_serial_term_output): ... this. Update all users.
16268 * term/i386/pc/console.c (grub_console_term): Split into ...
16269 (grub_console_term_input): ... this, and ...
16270 (grub_console_term_output): ... this. Update all users.
16271 (grub_console_term_input): Only enable it on PC/BIOS platform.
16272 (grub_console_init): Remove grub_keyboard_controller_init() call.
16273
16274 Migrate input terminals to new API:
16275
16276 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
16277 `i386' and `i386/pc' to enable build on x86_64 (this driver is
16278 i386-specific anyway).
16279 (grub_console_checkkey): Rename to ...
16280 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
16281 users.
16282 (grub_keyboard_controller_orig): New variable.
16283 (grub_console_getkey): Rename to ...
16284 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
16285 users.
16286 (grub_keyboard_controller_init): Static-ize. Save original
16287 controller value so that it can be restored ...
16288 (grub_keyboard_controller_fini): ... here (new function).
16289 (grub_at_keyboard_term): New structure.
16290 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
16291 functions.
16292
16293 Migrate output terminals to new API:
16294
16295 * term/i386/pc/vga.c (grub_vga_term): Change type to
16296 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16297 members. Update all users.
16298 * term/gfxterm.c (grub_video_term): Change type to
16299 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16300 members. Update all users.
16301 * include/grub/i386/pc/console.h (grub_console_checkkey)
16302 (grub_console_getkey): Do not export (no longer needed by gfxterm,
16303 etc).
16304
16305 Migrate `terminal' command and userland tools to new API:
16306
16307 * commands/terminal.c (grub_cmd_terminal): Split into ...
16308 (grub_cmd_terminal_input): ... this, and ...
16309 (grub_cmd_terminal_output): ... this.
16310 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
16311 `terminal_input' and `terminal_output'.
16312 * util/grub.d/00_header.in: Adjust `terminal' calls to new
16313 `terminal_input' / `terminal_output' API.
16314 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
16315 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
16316 provided ${GRUB_TERMINAL}, convert it).
16317
96e5d876 163182008-11-04 Robert Millan <rmh@aybabtu.com>
16319
16320 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
16321 for FreeBSD.
16322 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
16323
556f3775 163242008-11-03 Bean <bean123ch@gmail.com>
16325
16326 * kern/elf.c (grub_elf32_load): Revert to previous code.
16327 (grub_elf64_load): Likewise.
16328
16329 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
16330
926b9823 163312008-11-01 Robert Millan <rmh@aybabtu.com>
16332
16333 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
16334 (TARGET_CPPFLAGS): Likewise.
16335 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
16336
1432e958 163372008-11-01 Carles Pina i Estany <carles@pina.cat>
16338
16339 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
16340
dba3f844 163412008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 16342
16343 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
16344 addition of objects until the code is not going to be able to fail.
16345
dba3f844 163462008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 16347
16348 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
16349 (add a missing NULL check, and correct them by moving the pointer
16350 operations after the actual check).
16351
7ab28c21 163522008-10-29 Robert Millan <rmh@aybabtu.com>
16353
16354 * util/i386/pc/grub-install.in: Handle empty string as output from
16355 make_system_path_relative_to_its_root().
16356
1b7748eb 163572008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
16358
16359 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
16360 circular metadata worst case scenario. If the metadata is circular
16361 then copy the wrap in place.
16362 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
16363 project lib/format_text/layout.h
16364 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
16365
c9618ab2 163662008-10-03 Felix Zielcke <fzielcke@z-51.de>
16367
7a36edca 16368 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 16369
bf981c62 163702008-10-03 Felix Zielcke <fzielcke@z-51.de>
16371
16372 * util/update-grub_lib.in: Mention filename in warning message.
16373
6d994591 163742008-09-29 Felix Zielcke <fzielcke@z-51.de>
16375
16376 * NEWS: Update for rename of update-grub to grub-mkconfig.
16377
18ade780 163782008-09-29 Felix Zielcke <fzielcke@z-51.de>
16379
16380 * util/update-grub_lib.in: Copy to ...
16381 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 16382 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 16383 * util/update-grub.in: Rename to ...
16384 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
16385 option. Add `--output' option to allow users to specify the generated
16386 configuration file. Default to stdout.
16387 (update_grub_dir): Rename to ...
16388 (grub_mkconfig_dir): ... this.
16389 (grub_cfg): Default to an empty string.
16390 * conf/common.rmk (update-grub): Rename to ...
16391 (grub-mkconfig): ... this.
16392 (update-grub_lib): Copy to ...
16393 (grub-mkconfig_lib): ... this.
16394 (update-grub_SCRIPTS): Copy to ...
16395 (grub-mkconfig_SCRIPTS): ... this. Update all users.
16396 (update-grub_DATA): Rename to ...
16397 (grub-mkconfig_DATA): ... this.
16398
556ce6ac 163992008-09-28 Robert Millan <rmh@aybabtu.com>
16400
16401 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
16402 to `modified'. Add the real `created' field.
16403 (grub_iso9660_uuid): Use `modified' rather than `created' for
16404 constructing the UUID.
16405
164062008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 16407
16408 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16409 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16410
92274e85 164112008-09-28 Bean <bean123ch@gmail.com>
16412
16413 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16414 Thanks to Christian Franke for finding this bug.
16415
add6f17a 164162008-09-25 Robert Millan <rmh@aybabtu.com>
16417
16418 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16419 instances of grub_util_get_disk_name() (see previous commit).
16420
d2a367b8 164212008-09-25 Robert Millan <rmh@aybabtu.com>
16422
16423 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16424 `util/i386/get_disk_name.c'.
16425 * conf/i386-efi.rmk: Likewise.
16426 * conf/x86_64-efi.rmk: Likewise.
16427 * conf/i386-coreboot.rmk: Likewise.
16428 * conf/i386-ieee1275.rmk: Likewise.
16429 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16430 `util/ieee1275/get_disk_name.c'.
16431 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16432 * util/ieee1275/get_disk_name.c: Remove file.
16433 * util/i386/get_disk_name.c: Remove file.
16434 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16435 "hd%d" for device.map entries, rather than using
16436 grub_util_get_disk_name().
16437
81a06771 164382008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 16439
16440 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16441 warning.
16442 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16443
5a004279 164442008-09-24 Carles Pina i Estany <carles@pina.cat>
16445
16446 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16447 Changed to 0x5100.
16448 (GRUB_TERM_PPAGE): Changed to 0x4900.
16449
397093d3 164502008-09-24 Robert Millan <rmh@aybabtu.com>
16451
16452 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16453 macros (they were i386-pc specific).
16454 * include/grub/sparc64/ieee1275/console.h: Likewise.
16455 * include/grub/efi/console.h: Likewise.
16456
a91b6c7c 164572008-09-22 Bean <bean123ch@gmail.com>
16458
16459 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16460 resident and in attribute list.
16461
16462 * include/grub/ntfs.h (BMP_LEN): Removed.
16463
c40fd116 164642008-09-22 Bean <bean123ch@gmail.com>
16465
81a06771 16466 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 16467 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16468
16469 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16470 error occurs, as grub_disk_open will call grub_disk_close, which will
16471 call p->close (scsi).
16472
81a06771 164732008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 16474
16475 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16476 (AC_PREREQ): Bumped to 2.59.
16477 (AC_TRY_COMPILE): Replace obsolete macro with ...
16478 (AC_COMPILE_IFELSE): ... this.
16479 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16480 (AC_LINK_IFELSE): ... this.
16481
5dc43410 164822008-09-21 Felix Zielcke <fzielcke@z-51.de>
16483
16484 * autogen.sh: Add a call to `gendistlist.sh'.
16485
9035dce4 164862008-09-19 Christian Franke <franke@computer.org>
16487
16488 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16489 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16490 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16491 Export __enable_execute_stack() to modules.
16492 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16493 New function.
16494
7fd75377 164952008-09-09 Felix Zielcke <fzielcke@z-51.de>
16496
040030b3 16497 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16498 Sort the list.
16499
165002008-09-09 Felix Zielcke <fzielcke@z-51.de>
16501
16502 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 16503 #include <grub/util/hostdisk.h>.
16504
89d5ffcf 165052008-09-08 Robert Millan <rmh@aybabtu.com>
16506
16507 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16508 segments when their filesz is zero (grub_file_read() interprets
81a06771 16509 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 16510 Use `lowest_segment' rather than 0 for calculating the current
16511 segment load address.
16512
40da438f 165132008-09-08 Robert Millan <rmh@aybabtu.com>
16514
16515 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16516 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16517 clobbered useful information.
16518
ddbf5556 165192008-09-08 Robert Millan <rmh@aybabtu.com>
16520
16521 * include/grub/util/biosdisk.h: Move to ...
16522 * include/grub/util/hostdisk.h: ... here. Update all users.
16523 * util/biosdisk.c: Move to ...
16524 * util/hostdisk.c: ... here. Update all users.
16525
783d0f48 165262008-09-07 Robert Millan <rmh@aybabtu.com>
16527
16528 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16529 variables.
16530 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16531 and length can be stored directly in the `mbi->mmap_addr' and
16532 `mbi->mmap_length' struct fields.
16533
548e2ea5 165342008-09-07 Robert Millan <rmh@aybabtu.com>
16535
16536 * conf/i386.rmk: New file. Provides declaration for building
16537 `cpuid.mod'.
16538 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16539 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16540 variables.
16541 Include `conf/i386.mk'.
16542 * conf/i386-efi.rmk: Likewise.
16543 * conf/x86_64-efi.rmk: Likewise.
16544 * conf/i386-coreboot.rmk: Likewise.
16545 * conf/i386-ieee1275.rmk: Likewise.
16546
0ea85a37 165472008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16548
16549 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16550 Adds optimization support for BGR based modes.
16551
16552 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16553 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16554 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16555 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16556 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16557 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16558 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16559 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16560 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16561 (grub_video_i386_vbeblit_index_index): Likewise.
16562 (grub_video_i386_vbeblit_replace_directN): Added.
16563 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16564 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16565 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16566 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16567 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16568 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 16569 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 16570 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16571 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16572 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16573 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16574 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16575 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16576
16577 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16578 (grub_video_i386_vbefill_R8G8B8): Likewise.
16579 (grub_video_i386_vbefill_index): Likewise.
16580 (grub_video_i386_vbefill_direct32): Added.
16581 (grub_video_i386_vbefill_direct24): Likewise.
16582 (grub_video_i386_vbefill_direct16): Likewise.
16583 (grub_video_i386_vbefill_direct8): Likewise.
16584
81a06771 16585 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 16586 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16587 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16588 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16589 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16590 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 16591
0ea85a37 16592 * video/video.c (grub_video_get_blit_format): Updated to use new
16593 blit formats. Added handling for 16 bit color modes.
81a06771 16594
16595 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 16596 fillers.
16597 (common_blitter): Updated to use new blitters.
16598
16599 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16600 Removed.
16601 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16602 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16603 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16604 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16605 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16606 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16607 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16608 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16609 (grub_video_i386_vbeblit_index_index): Likewise.
16610 (grub_video_i386_vbeblit_replace_directN): Added.
16611 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16612 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16613 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16614 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16615 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16616 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16617 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16618 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16619 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16620 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16621 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16622 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16623 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 16624
0ea85a37 16625 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16626 (grub_video_i386_vbefill_R8G8B8): Likewise.
16627 (grub_video_i386_vbefill_index): Likewise.
16628 (grub_video_i386_vbefill_direct32): Added.
16629 (grub_video_i386_vbefill_direct24): Likewise.
16630 (grub_video_i386_vbefill_direct16): Likewise.
16631 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 16632
0ea85a37 16633 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16634 types.
81a06771 16635
0ea85a37 16636 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16637 types.
81a06771 16638
0ea85a37 16639 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16640 blitter types.
81a06771 16641
0ea85a37 16642 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16643 types.
16644
e8a83df6 166452008-09-06 Felix Zielcke <fzielcke@z-51.de>
16646
16647 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16648 RAID level 1.
16649
6bcd8ee5 166502008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 16651
6bcd8ee5 16652 * fs/iso9660.c (grub_iso9660_date): New structure.
16653 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16654 (grub_iso9660_uuid): New function.
c375ae58 16655
59261157 166562008-09-05 Bean <bean123ch@gmail.com>
16657
16658 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16659
16660 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16661 insensitive bit for names in Win32 and Win32 & DOS namespace.
16662
16663 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16664
16665 * include/grub/types.h (LONG_MAX): Likewise.
16666
58b6645a 166672008-09-04 Felix Zielcke <fzielcke@z-51.de>
16668
4ee55921 16669 * util/getroot.c: Include <config.h>.
16670 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16671 add support for /dev/md/N devices and handle LVM double dash escaping.
16672
166732008-09-04 Felix Zielcke <fzielcke@z-51.de>
16674
16675 * config.guess: Update to latest version from config git.
16676 * config.sub: Likewise.
58b6645a 16677
9124f65d 166782008-09-03 Robert Millan <rmh@aybabtu.com>
16679
16680 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16681 `disk->total_sectors'.
16682
81a06771 166832008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 16684
16685 * include/grub/normal.h: Fixed incorrect comment for
16686 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16687
81a06771 166882008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 16689
16690 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16691 values with defines.
16692
16693 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16694 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16695 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16696 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16697 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16698 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16699 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16700 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16701 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16702 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16703 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16704 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16705 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16706 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16707 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16708 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16709 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16710 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16711 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16712
93d5cbf8 167132008-08-31 Robert Millan <rmh@aybabtu.com>
16714
16715 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16716 declaration.
16717 (grub_multiboot): Fix a few warnings.
16718
21751d50 167192008-08-31 Robert Millan <rmh@aybabtu.com>
16720
16721 * loader/i386/pc/multiboot.c: Update comment not to say that
16722 boot_device support is unimplemented.
16723
e27a75c5 167242008-08-31 Robert Millan <rmh@aybabtu.com>
16725
16726 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16727 or memory map support are unimplemented.
16728
81a06771 167292008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 16730
16731 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16732
81a06771 167332008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 16734
16735 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16736 total video memory in 'vbeinfo' output; show color format details for
16737 each video mode.
16738
7c5d8d95 167392008-08-30 Pavel Roskin <proski@gnu.org>
16740
16741 * util/genmoddep.c: Remove for real this time.
16742 * DISTLIST: Remove util/genmoddep.c.
16743
4cebd25a 167442008-08-30 Robert Millan <rmh@aybabtu.com>
16745
16746 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16747 as required by Multiboot spec (it was already 4-byte aligned, but
16748 only by chance).
16749
b497a269 167502008-08-29 Pavel Roskin <proski@gnu.org>
16751
e3925185 16752 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16753 * kern/powerpc/ieee1275/startup.S: ... this.
16754 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16755 * DISTLIST: Likewise.
16756
b497a269 16757 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16758 grub/cpu/kernel.h. Add start label for consistency with other
16759 platforms. Add grub_prefix immediately after start. Add jump
16760 to the code after grub_prefix.
16761 * include/grub/powerpc/kernel.h: Provide valid values for
16762 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16763
6e5a42fe 167642008-08-29 Bean <bean123ch@gmail.com>
16765
16766 * configure.ac: Change host_os to cygwin for mingw.
16767 (asprintf): New check for function.
16768
16769 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16770 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16771
16772 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 16773 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 16774 sync, sleep and grub_util_get_disk_size for mingw.
16775
16776 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16777 to get size in mingw.
16778 (open_device): Use flag O_BINARY if it's defined.
16779 (find_root_device): Add dummy code for mingw.
16780
16781 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16782 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16783 (get_scsi_disk_name): Return 0 for mingw.
16784
16785 * util/hostfs.c: #include <grub/util/misc.h>.
16786 (grub_hostfs_open): Use "rb" flag to open file, use
16787 grub_util_get_disk_size to get disk size for mingw.
16788
16789 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16790 (asprintf): New function if HAVE_ASPRINTF is not set.
16791 (sync): New function for mingw.
16792 (sleep): Likewise.
16793 (grub_util_get_disk_size): Likewise.
16794
ab3f2673 167952008-08-28 Pavel Roskin <proski@gnu.org>
16796
16797 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16798 kern/time.c.
16799
1c282483 168002008-08-28 Robert Millan <rmh@aybabtu.com>
16801
16802 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16803
678e849c 168042008-08-28 Robert Millan <rmh@aybabtu.com>
16805
16806 Change find_grub_drive() syntax so it doesn't prevent it from
16807 detecting NULL names as errors.
16808
16809 * util/biosdisk.c (find_grub_drive): Move free slot search code
16810 from here ...
16811 (find_free_slot): ... to here.
16812 (read_device_map): Use find_free_slot() to search for free slots.
16813
965c75ca 168142008-08-27 Marco Gerards <marco@gnu.org>
16815
16816 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16817 (scsi_mod_SOURCES): New variable.
16818 (scsi_mod_CFLAGS): Likewise
16819 (scsi_mod_LDFLAGS): Likewise.
16820
16821 * disk/scsi.c: New file.
16822
16823 * include/grub/scsi.h: Likewise.
16824
16825 * include/grub/scsicmd.h: Likewise.
16826
16827 * disk/ata.c: Include <grub/scsi.h>.
16828 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16829 instead.
16830 (grub_ata_iterate): Skip ATAPI devices.
16831 (grub_ata_open): Only handle ATAPI devices.
16832 (struct grub_atapi_read): Removed.
16833 (grub_atapi_readsector): Likewise.
16834 (grub_ata_read): No longer handle ATAPI devices.
16835 (grub_ata_write): Likewise.
16836 (grub_atapi_iterate): New function.
16837 (grub_atapi_read): Likewise.
16838 (grub_atapi_write): Likewise.
16839 (grub_atapi_open): Likewise.
16840 (grub_atapi_close): Likewise.
16841 (grub_atapi_dev): New variable.
16842 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16843 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16844
16845 * include/grub/disk.h (enum grub_disk_dev_id): Add
16846 `GRUB_DISK_DEVICE_SCSI_ID'.
16847
c07ae501 168482008-08-26 Robert Millan <rmh@aybabtu.com>
16849
16850 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16851 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16852 descriptive.
16853
5ed20adc 168542008-08-23 Bean <bean123ch@gmail.com>
16855
16856 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16857 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16858 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16859 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16860 dm_nv.mod.
16861 (raid5rec_mod_SOURCES): New macro.
16862 (raid5rec_mod_CFLAGS): Likewise.
16863 (raid5rec_mod_LDFLAGS): Likewise.
16864 (raid6rec_mod_SOURCES): Likewise.
16865 (raid6rec_mod_CFLAGS): Likewise.
16866 (raid6rec_mod_LDFLAGS): Likewise.
16867 (mdraid_mod_SOURCES): Likewise.
16868 (mdraid_mod_CFLAGS): Likewise.
16869 (mdraid_mod_LDFLAGS): Likewise.
16870 (dm_nv_mod_SOURCES): Likewise.
16871 (dm_nv_mod_CFLAGS): Likewise.
16872 (dm_nv_mod_LDFLAGS): Likewise.
16873
16874 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16875 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16876 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16877
16878 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16879 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16880
16881 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16882
16883 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16884
16885 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16886
16887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16888
16889 * disk/raid5_recover.c: New file.
16890
16891 * disk/raid6_recover.c: Likewise.
16892
16893 * disk/mdraid_linux.c: Likewise.
16894
16895 * disk/dmraid_nvidia.c: Likewise.
16896
16897 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16898 ULONG_MAX.
16899
16900 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16901 calculate the size of raid device.
16902 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16903 different layout of raid5.
16904 (grub_raid_scan_device): Remove code specific to mdraid.
16905 (grub_raid_list): New variable.
16906 (free_array): New function.
16907 (grub_raid_register): Likewise.
16908 (grub_raid_unregister): Likewise.
16909 (grub_raid_rescan): Likewise.
16910 (GRUB_MOD_INIT): Don't iterate device here.
16911 (GRUB_MOD_FINI): Use free_array to release resource.
16912
16913 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16914 (grub_raid5_recover_func_t): New function variable type.
16915 (grub_raid6_recover_func_t): Likewise.
16916 (grub_raid5_recover_func): New variable.
16917 (grub_raid6_recover_func): Likewise.
16918 (grub_raid_register): New function.
16919 (grub_raid_unregister): Likewise.
16920 (grub_raid_rescan): Likewise.
16921 (grub_raid_block_xor): Likewise.
16922
16923 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16924 (CMD_CRC): New macro.
16925 (part): Removed.
16926 (read_file): Handle device as well as file.
16927 (cmd_crc): New function.
16928 (fstest): Handle multiple disks.
16929 (options): Remove part, raw and long, add root and diskcount.
16930 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 16931 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 16932 add handling for the new options, support multiple disks.
16933
16934 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16935
29c18915 169362008-08-23 Bean <bean123ch@gmail.com>
16937
16938 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16939
16940 * genfslist.sh: Ignore kernel.mod.
16941
16942 * genpartmaplist.sh: Likewise.
16943
8415f261 169442008-08-23 Robert Millan <rmh@aybabtu.com>
16945
16946 * util/getroot.c (find_root_device): Skip anything that starts with
16947 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16948
d5a7dc5b 169492008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 16950
d5a7dc5b 16951 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16952 * util/grub.d/00_header.in: Allow the administrator to change default
16953 gfxmode via ${GRUB_GFXMODE}.
16954
380cfbb4 169552008-08-21 Felix Zielcke <fzielcke@z-51.de>
16956
16957 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16958
c9baafe7 169592008-08-21 Robert Millan <rmh@aybabtu.com>
16960
16961 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16962 loader.
16963 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16964 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16965
e290bef2 169662008-08-20 Carles Pina i Estany <carles@pina.cat>
16967
16968 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16969 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16970
f9dbfc96 169712008-08-19 Robert Millan <rmh@aybabtu.com>
16972
16973 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16974 (struct grub_virtual_screen): Remove `cursor_color'.
16975 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16976 initialization.
16977 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16978
dd6bd6ab 169792008-08-18 Robert Millan <rmh@aybabtu.com>
16980
16981 Unify (identical) linux_normal.c files.
16982 * loader/i386/efi/linux_normal.c: Move from here ...
16983 * loader/linux_normal.c: ... to here. Update all users.
16984 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16985 * loader/i386/ieee1275/linux_normal.c: Likewise.
16986
7f42f83e 169872008-08-18 Robert Millan <rmh@aybabtu.com>
16988
16989 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16990 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16991 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16992 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16993 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16994 New macros.
16995 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16996 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16997 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16998 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16999 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
17000 (GRUB_EFI_CL_END_OFFSET): Rename to ...
17001 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
17002 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
17003 Initialize `params->video_cursor_x' and `params->video_cursor_y'
17004 portably using grub_getxy().
17005 Replace `-EFI' with `-bzImage' in boot message.
17006
38487ddb 170072008-08-17 Robert Millan <rmh@aybabtu.com>
17008
17009 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
17010
deceb3ec 170112008-08-17 Robert Millan <rmh@aybabtu.com>
17012
17013 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
17014
17015 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
17016 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
17017 (grub_machine_mmap_iterate): New function declaration.
17018 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
17019 structure.
17020 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
17021 macros.
17022
17023 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
17024 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
17025 Move e820 parsing from here ...
17026 * kern/i386/pc/mmap.c: New file.
17027 (grub_machine_mmap_iterate): ... to here.
17028
17029 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
17030 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
17031 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
17032 (grub_available_iterate): Redeclare to return `void', and redeclare
17033 its hook to use grub_uint64_t as addr and size parameters, and rename
17034 to ...
17035 (grub_machine_mmap_iterate): ... this. Update all users.
17036
17037 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
17038 to make it more readable. Rename to ...
17039 (grub_machine_mmap_iterate): ... this.
17040
17041 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
17042 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
17043 (grub_multiboot): Allocate an extra region after the payload, and fill
17044 it with a Multiboot memory map. Adjust a.out loader to calculate size
17045 with the extra space.
17046 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
17047 with the extra space.
17048
f8aa0f43 170492008-08-17 Carles Pina i Estany <carles@pina.cat>
17050
9807deb9 17051 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 17052
605f5bb6 170532008-08-17 Felix Zielcke <fzielcke@z-51.de>
17054
17055 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
17056 mdate-sh to the list `find' searches for.
17057 * DISTLIST: Regenerated.
17058
210db6c6 170592008-08-16 Felix Zielcke <fzielcke@z-51.de>
17060
17061 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
17062 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 17063 genmoddep.awk, gensymlist.sh.in.
17064 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 17065 * DISTLIST: Regenerated.
48cdbfd4 17066 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 17067
1082b929 170682008-08-16 Robert Millan <rmh@aybabtu.com>
17069
17070 * disk/raid.c (grub_raid_init): Handle/report errors set by
17071 grub_device_iterate().
17072 * disk/lvm.c (grub_lvm_init): Likewise.
17073
42ce5170 170742008-08-15 Bean <bean123ch@gmail.com>
17075
17076 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17077 and datehook.mod.
17078 (datetime_mod_SOURCES): New macro.
17079 (datetime_mod_CFLAGS): Likewise.
17080 (datetime_mod_LDFLAGS): Likewise.
17081 (date_mod_SOURCES): Likewise.
17082 (date_mod_CFLAGS): Likewise.
17083 (date_mod_LDFLAGS): Likewise.
17084 (datehook_mod_SOURCES): Likewise.
17085 (datehook_mod_CFLAGS): Likewise.
17086 (datehook_mod_LDFLAGS): Likewise.
17087
17088 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17089 and datehook.mod.
17090 (datetime_mod_SOURCES): New macro.
17091 (datetime_mod_CFLAGS): Likewise.
17092 (datetime_mod_LDFLAGS): Likewise.
17093 (date_mod_SOURCES): Likewise.
17094 (date_mod_CFLAGS): Likewise.
17095 (date_mod_LDFLAGS): Likewise.
17096 (datehook_mod_SOURCES): Likewise.
17097 (datehook_mod_CFLAGS): Likewise.
17098 (datehook_mod_LDFLAGS): Likewise.
17099
17100 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17101 and datehook.mod.
17102 (datetime_mod_SOURCES): New macro.
17103 (datetime_mod_CFLAGS): Likewise.
17104 (datetime_mod_LDFLAGS): Likewise.
17105 (date_mod_SOURCES): Likewise.
17106 (date_mod_CFLAGS): Likewise.
17107 (date_mod_LDFLAGS): Likewise.
17108 (datehook_mod_SOURCES): Likewise.
17109 (datehook_mod_CFLAGS): Likewise.
17110 (datehook_mod_LDFLAGS): Likewise.
17111
17112 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17113 and datehook.mod.
17114 (datetime_mod_SOURCES): New macro.
17115 (datetime_mod_CFLAGS): Likewise.
17116 (datetime_mod_LDFLAGS): Likewise.
17117 (date_mod_SOURCES): Likewise.
17118 (date_mod_CFLAGS): Likewise.
17119 (date_mod_LDFLAGS): Likewise.
17120 (datehook_mod_SOURCES): Likewise.
17121 (datehook_mod_CFLAGS): Likewise.
17122 (datehook_mod_LDFLAGS): Likewise.
17123
17124 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17125 and datehook.mod.
17126 (datetime_mod_SOURCES): New macro.
17127 (datetime_mod_CFLAGS): Likewise.
17128 (datetime_mod_LDFLAGS): Likewise.
17129 (date_mod_SOURCES): Likewise.
17130 (date_mod_CFLAGS): Likewise.
17131 (date_mod_LDFLAGS): Likewise.
17132 (datehook_mod_SOURCES): Likewise.
17133 (datehook_mod_CFLAGS): Likewise.
17134 (datehook_mod_LDFLAGS): Likewise.
17135
17136 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
17137
17138 * commands/date.c: New file.
17139
17140 * hook/datehook.c: Likewise.
17141
17142 * include/grub/lib/datetime.h: Likewise.
17143
17144 * include/grub/i386/cmos.h: Likewise.
17145
17146 * lib/datetime.c: Likewise.
17147
17148 * lib/i386/datetime.c: Likewise.
17149
17150 * lib/efi/datetime.c: Likewise.
17151
0e9242da 171522008-08-14 Robert Millan <rmh@aybabtu.com>
17153
17154 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
17155 (grub_mkelfimage_SOURCES): New variable.
17156 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
17157
17158 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
17159 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
17160 * conf/powerpc-ieee1275.rmk: Likewise.
17161 * conf/i386-ieee1275.rmk: Likewise.
17162
17163 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
17164 * kern/i386/coreboot/init.c: Likewise.
17165
17166 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
17167 with `<grub/cpu/kernel.h>'.
17168 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
17169 to ...
17170 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
17171 * kern/i386/coreboot/startup.S: Likewise.
17172
17173 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
17174 (GRUB_MOD_GAP): Remove.
17175 * include/grub/powerpc/kernel.h: New file.
17176 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
17177 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17178 * include/grub/i386/kernel.h: New file.
17179 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
17180 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
17181 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17182
17183 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
17184 `grub-mkelfimage'.
17185 Use --directory when invoking grub_mkimage.
17186
17187 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
17188 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
17189 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
17190 and GRUB_KERNEL_CPU_PREFIX.
17191
b86408f8 171922008-08-14 Felix Zielcke <fzielcke@z-51.de>
17193
d5e619ca 17194 * include/grub/err.h (grub_err_printf): New function prototype.
17195 * util/misc.c (grub_err_printf): New function.
17196 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
17197 grub_printf.
17198 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 17199
7161f0e0 172002008-08-13 Robert Millan <rmh@aybabtu.com>
17201
17202 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
17203
a1967522 172042008-08-13 Robert Millan <rmh@aybabtu.com>
17205
17206 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
17207 boot entry.
17208
371458b5 172092008-08-12 Robert Millan <rmh@aybabtu.com>
17210
17211 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
17212 of the relocation code from here ...
17213 (grub_multiboot): ... to here.
17214 (forward_relocator, backward_relocator): Move from here ...
17215 * kern/i386/loader.S (grub_multiboot_forward_relocator)
17216 (grub_multiboot_backward_relocator): ... to here.
17217 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
17218 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
17219 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
17220 (grub_multiboot_forward_relocator_end)
17221 (grub_multiboot_backward_relocator)
17222 (grub_multiboot_backward_relocator_end): New variables.
17223
05f9452b 172242008-08-12 Bean <bean123ch@gmail.com>
17225
17226 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
17227
20024ab0 172282008-08-11 Robert Millan <rmh@aybabtu.com>
17229
17230 * kern/i386/linuxbios/startup.S: Move from here ...
17231 * kern/i386/coreboot/startup.S: ... to here.
17232
17233 * kern/i386/linuxbios/init.c: Move from here ...
17234 * kern/i386/coreboot/init.c: ... to here.
17235
17236 * kern/i386/linuxbios/table.c: Move from here ...
17237 * kern/i386/coreboot/mmap.c: ... to here.
17238
17239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
17240
e352e9cd 172412008-08-11 Robert Millan <rmh@aybabtu.com>
17242
17243 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
17244 errors. Leave it to the upper layer to handle them.
17245
2d05bc6a 172462008-08-09 Christian Franke <franke@computer.org>
17247
17248 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
17249 * conf/common.rmk: Install `grub-pe2elf' only if requested.
17250 Install `grub.d/10_windows' only on Cygwin.
17251 * configure.ac: Add subst of `target_os'.
17252 Check `target_os' also before setting TARGET_OBJ2ELF.
17253 Add `--enable-grub-pe2elf'.
17254
042bd419 172552008-08-08 Robert Millan <rmh@aybabtu.com>
17256
17257 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17258 (grub_last_time): Change type to grub_uint64_t.
17259 (grub_disk_open): Migrate code from to using grub_get_time_ms().
17260 (grub_disk_close): Likewise.
17261
17262 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17263 (run_menu): Migrate code from to using grub_get_time_ms().
17264
17265 * util/misc.c (grub_get_time_ms): New function.
17266
7f280db5 172672008-08-08 Marco Gerards <marco@gnu.org>
17268
17269 * disk/ata.c (grub_ata_regget): Change return type to
17270 `grub_uint8_t'.
17271 (grub_ata_regget2): Likewise.
17272 (grub_ata_wait_status): New function.
17273 (grub_ata_wait_busy): Removed function, updated all users to use
17274 `grub_ata_wait_status'.
17275 (grub_ata_wait_drq): Likewise.
17276 (grub_ata_cmd): New function.
17277 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
17278 error handling.
17279 (grub_ata_pio_write): Add error handling.
17280 (grub_atapi_identify): Likewise.
17281 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
17282 handling.
17283 (grub_ata_identify): Use `grub_ata_cmd' and improve error
17284 handling. Actually use the detected registers. Reorder the
17285 detection logic such that it is easier to read.
17286 (grub_ata_pciinit): Do not assign the same ID to each controller.
17287 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
17288 handling.
17289 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
17290
17291 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
17292
1fbc5e66 172932008-08-08 Marco Gerards <marco@gnu.org>
17294
17295 * NEWS: Update.
17296
819ce6c0 172972008-08-07 Bean <bean123ch@gmail.com>
17298
17299 * include/grub/x86_64/pci.h: New file.
17300
5c41d44d 173012008-08-07 Christian Franke <franke@computer.org>
17302
17303 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
17304 (TIMER2_GATE): Likewise.
17305 (grub_pit_wait): Add enable/disable of the timer2 gate
17306 bit of port 0x61. This fixes a possible infinite loop.
17307
5ebc275d 173082008-08-07 Bean <bean123ch@gmail.com>
17309
17310 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
17311 kern/i386/tsc.c and kern/i386/pit.c.
17312
17313 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
17314 x86_64 platform.
17315
17316 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
17317 <grub/i386/tsc.h>.
17318
17319 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
17320
e383b3d0 173212008-08-07 Bean <bean123ch@gmail.com>
17322
17323 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
17324
17325 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
17326
17327 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
17328 multiple inclusion. Add #include <grub/types.h>.
17329
1cbb58ac 173302008-08-06 Christian Franke <franke@computer.org>
17331
17332 * conf/common.rmk: Build and install `10_windows'.
17333 * util/grub.d/10_windows.in: New script.
17334
337f5a1e 173352008-08-06 Pavel Roskin <proski@gnu.org>
17336
17337 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
17338
057bc4ac 173392008-08-06 Robert Millan <rmh@aybabtu.com>
17340
17341 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
17342 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
17343
2b99f123 173442008-08-06 Bean <bean123ch@gmail.com>
17345
17346 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
17347 (grub_pxefs_fs_int): Remove dummy definition.
17348 (grub_pxefs_open): Use data->block_size to store the current block
17349 size setting.
17350 (grub_pxefs_read): Use block size stored in data->block_size. As the
17351 value of grub_pxe_blksize can be changed after the file is opened.
17352
9f0234cb 173532008-08-06 Bean <bean123ch@gmail.com>
17354
17355 * fs/i386/pc/pxe.c (curr_file): new variable.
17356 (grub_pxefs_open): Simply the handling of pxe file system. Don't
17357 require the dummy internal file system anymore.
17358 (grub_pxefs_read): Removed.
17359 (grub_pxefs_close): Likewise.
17360 (grub_pxefs_fs_int): Likewise.
17361 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
17362 connection when we switch file.
17363 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
17364
a55d42e0 173652008-08-06 Robert Millan <rmh@aybabtu.com>
17366
17367 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
17368 `halt.mod'.
17369 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
17370 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
17371
17372 * kern/i386/halt.c: New file.
17373 * kern/i386/reboot.c: Likewise.
17374 * include/grub/i386/reboot.h: Likewise.
17375 * include/grub/i386/halt.h: Likewise.
17376
17377 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
17378 Include `<grub/cpu/halt.h>'.
17379 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
17380 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
17381
17382 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
17383 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
17384 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
17385 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
17386 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
17387 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
17388 from here ...
17389 * include/grub/i386/at_keyboard.h: ... to here.
17390
24371d26 173912008-08-05 Robert Millan <rmh@aybabtu.com>
17392
17393 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
17394 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
17395 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
17396 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17397 `kern/generic/millisleep.c'.
17398
17399 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
17400 instead of grub_get_rtc().
17401 (grub_tsc_init): Initialize `tsc_boot_time'.
17402
17403 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
17404 (grub_machine_init): Use grub_tsc_init() rather than
17405 installing an RTC-based handler via grub_install_get_time_ms().
17406
17407 * kern/i386/pit.c: New file.
17408 * include/grub/i386/pit.h: Likewise.
17409
9e7007b3 174102008-08-05 Bean <bean123ch@gmail.com>
17411
17412 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17413
17414 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17415 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17416 (pxe_mod_SOURCES): New macro.
17417 (pxe_mod_CFLAGS): Likewise.
17418 (pxe_mod_LDFLAGS): Likewise.
17419 (pxecmd_mod_SOURCES): Likewise.
17420 (pxecmd_mod_CFLAGS): Likewise.
17421 (pxecmd_mod_LDFLAGS): Likewise.
17422
17423 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17424 (grub_pxe_call): Likewise.
17425
17426 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17427
17428 * commands/i386/pc/pxecmd.c: New file.
17429
9f0234cb 17430 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 17431
17432 * include/grub/i386/pc/pxe.h: Likewise.
17433
6977d49f 174342008-08-05 Bean <bean123ch@gmail.com>
17435
17436 * util/console.c (grub_console_cur_color): New variable.
17437 (grub_console_standard_color): Likewise.
17438 (grub_console_normal_color): Likewise.
17439 (grub_console_highlight_color): Likewise.
17440 (color_map): Likewise.
17441 (use_color): Likewise.
17442 (NUM_COLORS): New macro.
17443 (grub_ncurses_setcolorstate): Handle color properly.
17444 (grub_ncurses_setcolor): Don't change color here, just remember the
17445 settings, color will be set in grub_ncurses_setcolorstate.
17446 (grub_ncurses_getcolor): New function.
17447 (grub_ncurses_init): Initialize color pairs.
17448 (grub_ncurses_term): New member grub_ncurses_getcolor.
17449
9c2ff3ee 174502008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 17451
9c2ff3ee 17452 High resolution timer support. Implemented for x86 CPUs using TSC.
17453 Extracted generic grub_millisleep() so it's linked in only as needed.
17454 This requires a Pentium compatible CPU; if the RDTSC instruction is
17455 not supported, then it falls back on the generic grub_get_time_ms()
17456 implementation that uses the machine's RTC.
17457
17458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17459 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17460 `kern/generic/millisleep.c'.
17461
17462 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17463 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17464
17465 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17466 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17467
17468 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17469
17470 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17471 `kern/generic/millisleep.c'.
17472
17473 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17474
17475 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17476
17477 * kern/generic/rtc_get_time_ms.c: New file.
17478
17479 * kern/generic/millisleep.c: New file.
337f5a1e 17480
9c2ff3ee 17481 * kern/misc.c: Don't include
17482 <kern/time.h> anymore.
17483 (grub_millisleep_generic): Removed.
17484
17485 * commands/sleep.c (grub_interruptible_millisleep): Uses
17486 grub_get_time_ms() instead of grub_get_rtc().
17487
17488 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17489 function.
17490 (grub_cpu_is_cpuid_supported): New inline function.
17491 (grub_cpu_is_tsc_supported): New inline function.
17492 (grub_tsc_init): New function prototype.
17493 (grub_tsc_get_time_ms): New function prototype.
17494
17495 * kern/i386/tsc.c (grub_get_time_ms): New file.
17496
17497 * include/grub/time.h: Include <grub/types.h.
17498 (grub_millisleep_generic): Removed.
17499 (grub_get_time_ms): New prototype.
17500 (grub_install_get_time_ms): New prototype.
17501 (grub_rtc_get_time_ms): New prototype.
17502
17503 * kern/time.c (grub_get_time_ms): New function.
17504 (grub_install_get_time_ms): New function.
17505
17506 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17507 <grub/time.h> anymore.
17508 (grub_millisleep): Removed.
17509 (grub_machine_init): Call grub_tsc_init.
17510
17511 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17512 get_time_ms() implementation.
17513
17514 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17515 (ieee1275_get_time_ms): New function.
17516 (grub_machine_init): Install get_time_ms() implementation.
17517
17518 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17519 (grub_machine_init): Call grub_tsc_init().
17520 (grub_millisleep): Removed.
bf06a93f 17521
9c2ff3ee 17522 * kern/ieee1275/init.c (grub_millisleep): Removed.
17523 (grub_machine_init): Install ieee1275_get_time_ms()
17524 implementation.
17525 (ieee1275_get_time_ms): New function.
17526 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17527 real work.
17528
9ec92aaf 175292008-08-05 Marco Gerards <marco@gnu.org>
17530
17531 * disk/ata.c: Include <grub/pci.h>.
17532 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17533 (grub_ata_initialize): Rewritten.
17534 (grub_ata_device_initialize): New function.
17535
8d23f507 175362008-08-04 Pavel Roskin <proski@gnu.org>
17537
17538 * kern/main.c: Include grub/mm.h.
17539
5e15ee3d 175402008-08-04 Robert Millan <rmh@aybabtu.com>
17541
17542 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17543 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17544 corruption problem).
17545
a9053f8f 175462008-08-04 Robert Millan <rmh@aybabtu.com>
17547
17548 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17549 warnings introduced in my last commit.
17550
dd19c7d7 175512008-08-03 Robert Millan <rmh@aybabtu.com>
17552
17553 Make PCI available on all i386 architectures.
17554
17555 * include/grub/i386/pc/pci.h: Move from here ...
17556 * include/grub/i386/pci.h: ... to here.
17557
17558 * include/grub/i386/pc/pci.h: Remove.
17559 * include/grub/i386/efi/pci.h: Remove.
17560 * include/grub/x86_64/efi/pci.h: Remove.
17561
17562 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17563 `<grub/cpu/pci.h>'.
17564
17565 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17566 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17567 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17568
17569 * conf/i386-ieee1275.rmk: Likewise.
17570
e14a6184 175712008-08-03 Robert Millan <rmh@aybabtu.com>
17572
17573 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17574 (grub_console_setcursor): Make it possible to set cursor off.
17575
52768e37 175762008-08-03 Robert Millan <rmh@aybabtu.com>
17577
17578 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17579 of modules instead of assuming which platform provides what.
17580 * util/update-grub.in: Likewise.
17581
2d52f57f 175822008-08-03 Robert Millan <rmh@aybabtu.com>
17583
17584 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17585 instead of `grub_install_dos_part' to determine whether a drive needs
17586 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 17587 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 17588
2a5cd121 175892008-08-02 Robert Millan <rmh@aybabtu.com>
17590
17591 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17592
93808428 175932008-08-02 Robert Millan <rmh@aybabtu.com>
17594
17595 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17596 of informational grub_dprintf() calls.
17597
3bd0a12a 175982008-08-02 Robert Millan <rmh@aybabtu.com>
17599
17600 * disk/memdisk.c (memdisk_size): Don't initialize.
17601 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17602
17603 * include/grub/i386/pc/kernel.h
17604 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17605 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17606 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17607 (grub_arch_memdisk_size): Remove.
17608
17609 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17610 field (was only used to transfer a constant). Add `type' field to
17611 support multiple module types.
17612 (grub_module_iterate): New function.
17613
17614 * kern/device.c (grub_device_open): Do not hide error messages
17615 when grub_disk_open() fails. Use grub_print_error() instead.
17616
17617 * kern/i386/pc/init.c (grub_arch_modules_addr)
17618 (grub_arch_memdisk_size): Remove functions.
17619 (grub_arch_modules_addr): Return the module address in high memory
17620 (now that it isn't copied anymore).
17621
17622 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17623 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17624 decompression routine (grub_total_module_size already includes that
17625 now). Don't copy modules back to low memory.
17626
17627 * kern/main.c: Include `<grub/mm.h>'.
17628 (grub_load_modules): Split out (and use) ...
17629 (grub_module_iterate): ... this function, which iterates through
17630 module objects and runs a hook.
17631 Comment out grub_mm_init_region() call, as it would cause non-ELF
17632 modules to be overwritten.
17633
17634 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17635 the memdisk image in its own region, make it part of the module list.
17636 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17637 (main): Parse --memdisk|-m option, and pass user-provided path as
17638 parameter to generate_image().
17639 (add_segments): Pass `memdisk_path' down to load_modules().
17640 (load_modules): Embed memdisk image in module section when requested.
17641 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17642 `header.type' instead of `header.offset'.
17643
17644 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17645 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17646 (memdisk_mod_LDFLAGS): New variables.
17647 * conf/i386-coreboot.rmk: Likewise.
17648 * conf/i386-ieee1275.rmk: Likewise.
17649
a927cc73 176502008-08-02 Robert Millan <rmh@aybabtu.com>
17651
17652 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17653 (backward_relocator): New variables. Used to allocate and relocate
17654 the payload, respectively.
17655 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 17656 address, install the appropriate relocator code in each bound of
a927cc73 17657 the payload, and set the entry point such that
17658 grub_multiboot_real_boot() will jump to one of them.
17659
17660 * kern/i386/loader.S (grub_multiboot_payload_size)
17661 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17662 (grub_multiboot_payload_entry_offset): New variables.
17663 (grub_multiboot_real_boot): Set cpu context to what the relocator
17664 expects, and jump to the relocator instead of the payload.
17665
17666 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17667 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17668 (grub_multiboot_payload_entry_offset): Export.
17669
b15d8a0c 176702008-08-01 Bean <bean123ch@gmail.com>
17671
17672 * normal/menu_entry.c (editor_getline): Don't return the original
17673 string as result, as it will be released by lexer once it has done
17674 using it.
17675
cdfb3d22 176762008-08-01 Robert Millan <rmh@aybabtu.com>
17677
17678 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17679 within menuentries, not before them.
17680 util/grub.d/10_hurd.in: Likewise.
17681
9175e93d 176822008-08-01 Bean <bean123ch@gmail.com>
17683
17684 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17685 (bufio_mod_SOURCES): New macro.
17686 (bufio_mod_CFLAGS): Likewise.
17687 (bufio_mod_LDFLAGS): Likewise.
17688
17689 * include/grub/bufio.h: New file.
17690
17691 * io/bufio.c: Likewise.
17692
17693 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17694 (grub_video_reader_png): Use grub_buffile_open to open file.
17695
17696 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17697 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17698
17699 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17700 (grub_video_reader_tga): Use grub_buffile_open to open file.
17701
17702 * font/manager.c: Include <grub/bufio.h>.
17703 (add_font): Use grub_buffile_open to open file.
17704
3d8383e7 177052008-07-31 Robert Millan <rmh@aybabtu.com>
17706
17707 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17708 ELF segments, use a macro for arbitrarily accessing any of them instead
17709 of preparing a pointer that allows access to one at a time.
17710 (grub_multiboot_load_elf64): Likewise.
17711
16e641b6 177122008-07-31 Bean <bean123ch@gmail.com>
17713
17714 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17715 GRUB_KERNEL_MACHINE_DATA_END.
17716
59198b72 177172008-07-30 Robert Millan <rmh@aybabtu.com>
17718
17719 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17720 Increase from 0x50 to 0x60.
17721 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17722 use UUIDs to identify the root drive for them. If that's not
17723 possible, abort.
17724 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17725 check, for cross-disk installs.
17726
ae88bca3 177272008-07-30 Robert Millan <rmh@aybabtu.com>
17728
17729 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17730 is non-empty, use it to set the `prefix' environment variable instead
17731 of the usual approach.
17732 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17733 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17734 environment variable instead of dummy make_install_device().
17735
17736 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17737 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 17738 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 17739
17740 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17741 New variable reference.
17742 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17743 New macro. Defines offset of `grub_prefix' within startup.S (relative
17744 to `start').
17745 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17746 section within startup.S (relative to `start').
17747 * include/grub/i386/coreboot/kernel.h: Likewise.
17748
17749 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17750 Overwrite grub_prefix with its contents, at the beginning of the
17751 first segment.
17752 (main): Understand -p|--prefix.
17753
14f41dd1 177542008-07-30 Robert Millan <rmh@aybabtu.com>
17755
17756 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17757
4ca049a3 177582008-07-30 Robert Millan <rmh@aybabtu.com>
17759
17760 * term/i386/pc/vga_text.c (grub_console_cls): Use
17761 grub_console_gotoxy() to go back to beginning of the screen.
17762 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17763
2921d337 177642008-07-29 Christian Franke <franke@computer.org>
17765
17766 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17767 Add conversion of emulated mount points on Cygwin.
17768
b609876d 177692008-07-29 Christian Franke <franke@computer.org>
17770
17771 * util/update-grub.in: Add a check for admin
17772 group on Cygwin.
17773 Remove old `grub.cfg.new' before creation.
17774 Add `-f' to `mv' to handle the different filesystem
17775 semantics of Windows.
17776
e93e4679 177772008-07-29 Bean <bean123ch@gmail.com>
17778
17779 * normal/main.c (get_line): Fix buffer overflow bug.
17780
41694fd0 177812008-07-28 Robert Millan <rmh@aybabtu.com>
17782
17783 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17784 (struct grub_apple_header): New struct. Describes the layout of
17785 the partmap header.
17786 (apple_partition_map_iterate): Check the header magic as well as the
17787 partition magic (which was already being checked).
17788
cfd0b4e6 177892008-07-28 Pavel Roskin <proski@gnu.org>
17790
17791 * genmk.rb: Add a warning to the beginning of the output that
17792 it's a generated file and should not be edited.
17793
93cce016 177942008-07-28 Robert Millan <rmh@aybabtu.com>
17795
17796 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17797 with the same number are found, just use issue a warning with
17798 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 17799
cd1df915 178002008-07-27 Robert Millan <rmh@aybabtu.com>
17801
17802 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17803 information.
17804
b70a8427 178052008-07-27 Bean <bean123ch@gmail.com>
17806
17807 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17808 (grub_fat_find_dir): Ignore case when comparing filename.
17809
8f5e379f 178102008-07-27 Bean <bean123ch@gmail.com>
17811
17812 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17813 smallino, as it's more descriptive, and i8count can be confused with
17814 the other field count.
17815 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17816 inode type.
17817
a85cd5a0 178182008-07-27 Bean <bean123ch@gmail.com>
17819
17820 * commands/crc.c: New file.
17821
17822 * lib/crc.c: Likewise.
17823
17824 * include/grub/lib/crc.h: Likewise.
17825
17826 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17827
17828 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17829 (hexdump): Move this function to ...
17830
17831 * lib/hexdump.c: ... here.
17832
17833 * include/grub/hexdump.h: Renamed to ...
17834
17835 * include/grub/lib/hexdump.h: ... this.
17836
17837 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17838
17839 * util/grub-editenv.c: Likewise.
17840
17841 * include/envblk.h: Renamed to ...
17842
17843 * include/lib/envblk.h: ... this.
17844
17845 * util/envblk.c: Renamed to ...
17846
17847 * lib/envblk.c: ... this.
17848
17849 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17850 lib/hexdump.c.
17851 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17852 (pkglib_MODULES): Add crc.mod.
17853 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17854 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17855 (crc_mod_SOURCES): New macro.
17856 (crc_mod_CFLAGS): Likewise.
17857 (crc_mod_LDFLAGS): Likewise.
17858
17859 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17860
17861 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17862
17863 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17864
17865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17866
17867 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17868
c298def0 178692008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 17870
17871 * commands/help.c: Include <grub/term.h>.
17872 (TERM_WIDTH): Removed. Updated all users.
17873
cc349fb3 178742008-07-27 Pavel Roskin <proski@gnu.org>
17875
17876 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17877 spurious warnings about a comment within a comment.
17878
9051607e 178792008-07-25 Robert Millan <rmh@aybabtu.com>
17880
17881 * util/getroot.c (find_root_device): Skip devices that match
17882 /dev/dm-[0-9]. This lets the real device be found for any type of
17883 abstraction (LVM, EVMS, RAID..).
17884 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17885 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17886 device is found first, find_root_device() will now skip it.
17887
01453bfc 178882008-07-24 Pavel Roskin <proski@gnu.org>
17889
17890 * include/grub/types.h: Use __builtin_bswap32() and
17891 __builtin_bswap64() with gcc 4.3 and newer.
17892
6af9849f 178932008-07-24 Christian Franke <franke@computer.org>
17894
3a0fa256 17895 * util/i386/pc/grub-install.in: If `--debug' is specified,
17896 pass `--verbose' to grub-setup.
17897 Abort script if make_system_path_relative_to_its_root() fails.
17898
7810e747 178992008-07-24 Bean <bean123ch@gmail.com>
17900
17901 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17902 variable `target_platform' should be `platform'.
17903
42290e17 179042008-07-24 Bean <bean123ch@gmail.com>
17905
51cc5193 17906 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 17907 (grub_png_init_fixed_block): New function.
17908 (grub_png_decode_image_data): Handle fixed huffman code compression.
17909
2a8a80e4 179102008-07-24 Bean <bean123ch@gmail.com>
17911
17912 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17913 (grub_pe2elf_SOURCES): New macro.
17914 (CLEANFILES): Add grub-pe2elf.
17915
17916 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17917 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17918 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17919 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17920 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17921 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17922 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17923 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17924 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17925 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17926 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17927 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17928 (GRUB_PE32_DT_FUNCTION): Likewise.
17929 (GRUB_PE32_REL_I386_DIR32): Likewise.
17930 (GRUB_PE32_REL_I386_REL32): Likewise.
17931 (grub_pe32_symbol): New structure.
17932 (grub_pe32_reloc): Likewise.
17933
17934 * util/grub-pe2elf.c: New file.
17935
17936 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17937 start symbol in non pc platform.
17938
17939 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17940
17941 The following patches are from Christian Franke.
17942
17943 * include/grub/dl.h: Remove .previous, gas supports this only
17944 for ELF format.
17945
17946 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17947 Remove .type, gas supports this only for ELF format.
17948
17949 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17950 nullbytes in symbol table. This fixes an infinite loop if table is
17951 zero filled.
17952
17953 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17954 TARGET_IMG_LDFLAGS and EXEEXT.
17955
17956 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17957 TARGET_IMG_LDFLAGS_AC.
17958 (grub_CHECK_STACK_ARG_PROBE): New function.
17959
17960 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17961
17962 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17963
17964 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17965 to set TARGET_IMG_LD* accordingly.
17966 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17967 Add call to grub_CHECK_STACK_ARG_PROBE.
17968 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17969
17970 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17971
17972 * genmk.rb: Add EXEEXT to CLEANFILES.
17973
12ccdb75 179742008-07-23 Robert Millan <rmh@aybabtu.com>
17975
17976 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17977 define the codes for arrows and lines used for the menu).
17978 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17979 as well.
17980
17981 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17982 fonts, because the latter are too slow.
17983
18eeaf04 179842008-07-21 Bean <bean123ch@gmail.com>
17985
17986 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17987 a20. Run keyboard test last, as it will cause macbook to halt.
17988
b095e2ad 179892008-07-18 Pavel Roskin <proski@gnu.org>
17990
17991 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17992 load foreign architecture modules correctly anyway. Keep
17993 support for loading host architecture modules, whether we
17994 compile them or not.
17995
737feb35 179962008-07-17 Pavel Roskin <proski@gnu.org>
17997
3f4ce737 17998 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17999 change target_cpu. The compiler default can mismatch target_cpu
18000 in any case.
18001
4ad2d049 18002 * disk/efi/efidisk.c: Fix format warnings on x86_64.
18003 * kern/efi/efi.c: Likewise.
18004
f6130a12 18005 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
18006 target compiler is functional.
18007 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
18008 are set up.
18009
58393a2d 18010 * configure.ac: Default to efi platform for x86_64-apple. Allow
18011 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
18012 adjustments from the rest, only do them if target is not
18013 explicitly given. Merge other adjustments with the final sanity
18014 check. Remove an extraneous check for supported CPU. Be
18015 specific which CPU and which platform is not supported.
18016
737feb35 18017 * configure.ac: Default to pc platform for x86_64.
18018
546f966a 180192008-07-17 Robert Millan <rmh@aybabtu.com>
18020
18021 Partial LinuxBIOS -> Coreboot rename.
18022
18023 * conf/i386-linuxbios.rmk: Renamed to ...
18024 * conf/i386-coreboot.rmk: ... this.
18025 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
18026 * configure.ac: Accept "coreboot" as input platform (but maintain
18027 compatibility with "linuxbios").
18028 * include/grub/i386/linuxbios: Renamed to ...
18029 * include/grub/i386/coreboot: ... this.
18030
20011694 180312008-07-17 Bean <bean123ch@gmail.com>
18032
18033 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 18034 (appleldr_mod_SOURCE): New variable.
20011694 18035 (appleldr_mod_CFLAGS): Likewise.
18036 (appleldr_mod_LDFLAGS): Likewise.
18037 (pci_mod_SOURCES): Likewise.
18038 (pci_mod_CFLAGS): Likewise.
18039 (pci_mod_LDFLAGS): Likewise.
18040 (lspci_mod_SOURCES): Likewise.
18041 (lspci_mod_CFLAGS): Likewise.
18042 (lspci_mod_LDFLAGS): Likewise.
18043
18044 * conf/x86_64-efi.rmk: New file.
18045
18046 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
18047 macro.
18048 (grub_efidisk_write): Likewise.
18049
18050 * include/efi/api.h (efi_call_0): New macro.
18051 (efi_call_1): Likewise.
18052 (efi_call_2): Likewise.
18053 (efi_call_3): Likewise.
18054 (efi_call_4): Likewise.
18055 (efi_call_5): Likewise.
18056 (efi_call_6): Likewise.
18057
18058 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
18059 grub_rescue_cmd_chainloader.
18060
18061 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
18062 (grub_pe32_optional_header): Change some fields based on i386 or
18063 x86_64 platform.
18064 (GRUB_PE32_PE32_MAGIC): Likewise.
18065
18066 * include/grub/efi/uga_draw.h: New file.
18067
18068 * include/grub/elf.h (STN_ABS): New constant.
18069 (R_X86_64_NONE): Relocation constant for x86_64.
18070 (R_X86_64_64): Likewise.
18071 (R_X86_64_PC32): Likewise.
18072 (R_X86_64_GOT32): Likewise.
18073 (R_X86_64_PLT32): Likewise.
18074 (R_X86_64_COPY): Likewise.
18075 (R_X86_64_GLOB_DAT): Likewise.
18076 (R_X86_64_JUMP_SLOT): Likewise.
18077 (R_X86_64_RELATIVE): Likewise.
18078 (R_X86_64_GOTPCREL): Likewise.
18079 (R_X86_64_32): Likewise.
18080 (R_X86_64_32S): Likewise.
18081 (R_X86_64_16): Likewise.
18082 (R_X86_64_PC16): Likewise.
18083 (R_X86_64_8): Likewise.
18084 (R_X86_64_PC8): Likewise.
18085
18086 * include/grub/i386/efi/pci.h: New file.
18087
18088 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
18089 Change it value based on platform.
18090 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
18091 (GRUB_E820_RAM): Likewise.
18092 (GRUB_E820_RESERVED): Likewise.
18093 (GRUB_E820_ACPI): Likewise.
18094 (GRUB_E820_NVS): Likewise.
18095 (GRUB_E820_EXEC_CODE): Likewise.
18096 (GRUB_E820_MAX_ENTRY): Likewise.
18097 (grub_e820_mmap): New structure.
18098 (linux_kernel_header): Change the efi field according to different
18099 kernel version, also field from linux_kernel_header.
18100
18101 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
18102
18103 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
18104 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
18105 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
18106 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
18107 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
18108 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
18109 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
18110 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
18111 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
18112 (GRUB_PCI_ADDR_IO_MASK): Likewise.
18113
18114 * include/grub/x86_64/efi/kernel.h: New file.
18115
18116 * include/grub/x86_64/efi/loader.h: Likewise.
18117
18118 * include/grub/x86_64/efi/machine.h: Likewise.
18119
18120 * include/grub/x86_64/efi/pci.h: Likewise.
18121
18122 * include/grub/x86_64/efi/time.h: Likewise.
18123
18124 * include/grub/x86_64/linux.h: Likewise.
18125
18126 * include/grub/x86_64/setjmp.h: Likewise.
18127
18128 * include/grub/x86_64/time.h: Likewise.
18129
18130 * include/grub/x86_64/types.h: Likewise.
18131
18132 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
18133 GRUB_TARGET_SIZEOF_VOID_P.
18134
18135 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
18136 (grub_efi_locate_handle): Likewise.
18137 (grub_efi_open_protocol): Likewise.
18138 (grub_efi_set_text_mode): Likewise.
18139 (grub_efi_stall): Likewise.
18140 (grub_exit): Likewise.
18141 (grub_reboot): Likewise.
18142 (grub_halt): Likewise.
18143 (grub_efi_exit_boot_services): Likewise.
18144 (grub_get_rtc): Likewise.
18145
18146 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
18147 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
18148 (grub_efi_allocate_pages): Wrap efi calls.
18149 (grub_efi_free_pages): Wrap efi calls.
18150 (grub_efi_get_memory_map): Wrap efi calls.
18151
18152 * kern/x86_64/dl.c: New file.
18153
18154 * kern/x86_64/efi/callwrap.S: Likewise.
18155
18156 * kern/x86_64/efi/startup.S: Likewise.
18157
18158 * loader/efi/appleloader.c: Likewise.
18159
18160 * loader/efi/chainloader.c (cmdline): New variable.
18161 (grub_chainloader_unload): Wrap efi calls.
18162 (grub_chainloader_boot): Likewise.
18163 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
18164 command line.
18165
18166 * loader/efi/chainloader_normal.c (chainloader_command):
18167 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
18168 command line.
18169
18170 * loader/i386/efi/linux.c (allocate_pages): Change allocation
18171 method.
18172 (grub_e820_add_region): New function.
18173 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
18174 booting.
18175 (grub_find_video_card): New function.
18176 (grub_linux_setup_video): New function.
18177 (grub_rescue_cmd_linux): Probe for video information.
18178
18179 * normal/x86_64/setjmp.S: New file.
18180
18181 * term/efi/console.c (map_char): New function.
18182 (grub_console_putchar): Map unicode char.
18183 (grub_console_checkkey): Wrap efi calls.
18184 (grub_console_getkey): Likewise.
18185 (grub_console_getwh): Likewise.
18186 (grub_console_gotoxy): Likewise.
18187 (grub_console_cls): Likewise.
18188 (grub_console_setcolorstate): Likewise.
18189 (grub_console_setcursor): Likewise.
18190
18191 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
18192
59652a20 181932008-07-16 Pavel Roskin <proski@gnu.org>
18194
ef294055 18195 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
18196 format strings.
18197
59652a20 18198 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
18199 pointer, not an integer. This fixes a warning and prevents
18200 precision loss on 64-bit systems.
18201 (relocate_addresses): Remove unneeded cast.
18202
afc3b5d7 182032008-07-15 Pavel Roskin <proski@gnu.org>
18204
506b2b3e 18205 * kern/i386/ieee1275/init.c: Include grub/cache.h.
18206
62ead89c 18207 * term/ieee1275/ofconsole.c: Disable code unused on i386.
18208
c4cd51d7 18209 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
18210 Fix comparison between signed and unsigned.
18211
0d3d8f28 18212 * include/grub/i386/ieee1275/console.h: Declare
18213 grub_console_init() and grub_console_fini().
18214
8804b286 18215 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
18216 It's empty and unused.
18217
ee01cf35 18218 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
18219 beginning to avoid warnings with some compilers.
18220
afc3b5d7 18221 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
18222 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
18223
e4e8eaa5 182242008-07-14 Pavel Roskin <proski@gnu.org>
18225
407aceb4 18226 * kern/env.c (grub_register_variable_hook): Don't copy empty
18227 string, it leaks memory. Pass "" to grub_env_set(), it should
18228 handle constant strings.
18229
e4e8eaa5 18230 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
18231 * commands/cmp.c (grub_cmd_cmp): Likewise.
18232 * kern/dl.c (grub_dl_flush_cache): Likewise.
18233 (grub_dl_load_core): Likewise.
18234 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
18235 (grub_elf64_load_phdrs): Likewise.
18236
d4e2dad3 182372008-07-13 Pavel Roskin <proski@gnu.org>
18238
18239 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
18240 between signed and unsigned.
18241 (LzmaEnc_Finish): Fix warning about an unused parameter.
18242
aa24b516 182432008-07-13 Bean <bean123ch@gmail.com>
18244
18245 * Makefile.in (enable_lzo): New rule.
18246
18247 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
18248
18249 * configure.ac (ENABLE_LZO): New option --enable-lzo.
18250
18251 * boot/i386/pc/lnxboot.S: #include <config.h>.
18252
18253 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 18254 its value according to the compression algorithm used, lzo or lzma.
aa24b516 18255
18256 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
18257 compression algorithm according to configure macro.
18258
18259 * kern/i386/pc/startup.S (codestart): Likewise.
18260
18261 * kern/i386/pc/lzma_decode.S: New file.
18262
18263 * include/grub/lib/LzFind.h: Likewise.
18264
18265 * include/grub/lib/LzHash.h: Likewise.
18266
18267 * include/grub/lib/LzmaDec.h: Likewise.
18268
18269 * include/grub/lib/LzmaEnc.h: Likewise.
18270
18271 * include/grub/lib/LzmaTypes.h: Likewise.
18272
18273 * lib/LzFind.c: Likewise.
18274
18275 * lib/LzmaDec.c: Likewise.
18276
18277 * lib/LzmaEnc.c: Likewise.
18278
4ae821ac 182792008-07-13 Bean <bean123ch@gmail.com>
18280
18281 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
18282 (grub_ext4_extent_header): New structure.
18283 (grub_ext4_extent): Likewise.
18284 (grub_ext4_extent_idx): Likewise.
18285 (grub_ext4_find_leaf): New function.
18286 (grub_ext2_read_block): Handle extents.
18287
9a745147 182882008-07-12 Robert Millan <rmh@aybabtu.com>
18289
18290 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
18291
d49a4cf6 182922008-07-11 Robert Millan <rmh@aybabtu.com>
18293
18294 * util/grub.d/40_custom.in: New file. Example on how to add custom
18295 entries to /etc/grub.d.
18296 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
18297 40_custom (implicitly, by merging all the grub.d rules).
18298
947414b4 182992008-07-11 Pavel Roskin <proski@gnu.org>
18300
0059cf6f 18301 * commands/read.c (grub_getline): Fix invalid memory access.
18302 Don't add newline to the variable value.
18303
947414b4 18304 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
18305 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
18306 (serial_hw_get_port): Check validity of the port number.
18307 (grub_cmd_serial): Check return value of serial_hw_get_port().
18308
62a02d00 183092008-07-07 Pavel Roskin <proski@gnu.org>
18310
18311 * boot/i386/pc/diskboot.S (notification_string): Replace
18312 "Loading kernel" with just "loading". This is shorter, less
18313 confusing and saves a few bytes for possible future changes.
18314
3e5581b0 183152008-07-05 Pavel Roskin <proski@gnu.org>
18316
ea387a48 18317 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
18318 size for ATAPI devices, they are undefined. Output sector
18319 number in decimal form.
18320
3e5581b0 18321 * disk/ata.c: Use named constants for status bits.
18322
fdecb8fd 183232008-07-04 Pavel Roskin <proski@gnu.org>
18324
bcd35b90 18325 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
18326 grub_addr_t before casting it to the void pointer to fix a
18327 warning. Non-addressable regions are discarded earlier.
18328 (grub_arch_modules_addr): Cast _end to grub_addr_t.
18329 * kern/i386/linuxbios/table.c: Include grub/misc.h.
18330 (check_signature): Don't shadow table_header.
18331 (grub_linuxbios_table_iterate): Cast numeric constants to
18332 grub_linuxbios_table_header_t.
18333 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
18334 grub_stop().
18335
af58ab3d 18336 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
18337 prevent warnings.
18338
1759aa57 18339 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
18340 pointer, which can cause warnings. Support 64-bit addresses.
18341
fdecb8fd 18342 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
18343 of sizeof(long). This fixes PowerPC image generation on x86_64.
18344
8516d2a8 183452008-07-04 Robert Millan <rmh@aybabtu.com>
18346
18347 This fixes a performance issue when pc & gpt partmap iterators
18348 didn't abort iteration even after our hook found what it was
fe987087 18349 looking for (often causing expensive probes of non-existent drives).
8516d2a8 18350
18351 Some callers relied on previous buggy behaviour, since they would
34c44600 18352 raise an error when their own hooks caused early abortion of its
8516d2a8 18353 iteration.
18354
18355 * kern/device.c (grub_device_open): Improve error message.
18356 * disk/lvm.c (grub_lvm_open): Likewise.
18357 * disk/raid.c (grub_raid_open): Likewise.
18358
18359 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
18360 when hook requests it, independently of grub_errno.
18361 (pc_partition_map_probe): Do not fail when find_func() caused
18362 early abortion of pc_partition_map_iterate().
18363
18364 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
18365 when hook requests it, independently of grub_errno.
18366 (gpt_partition_map_probe): Do not fail when find_func() caused
18367 early abortion of gpt_partition_map_iterate().
18368
18369 * kern/partition.c (grub_partition_iterate): Abort parent iteration
18370 when hook requests it, independently of grub_errno. Do not fail when
18371 part_map_iterate_hook() caused early abortion of p->iterate().
18372
18373 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
18374 when grub_partition_iterate() returned with non-zero.
18375
277d0de9 183762008-07-03 Pavel Roskin <proski@gnu.org>
18377
18378 * disk/ata.c (grub_ata_pio_write): Check status before writing,
18379 like we do in grub_ata_pio_read().
18380 (grub_ata_readwrite): Always write individual sectors. Fix the
18381 sector count for the remainder.
18382 (grub_ata_write): Enable writing to ATA devices. Correctly
18383 report error for ATAPI devices.
18384
d4c9b428 183852008-07-02 Pavel Roskin <proski@gnu.org>
18386
e43fc690 18387 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
18388 warning.
18389
f707af42 18390 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
18391 for every read sector, we already increment it for the whole
18392 batch. This fixes reading more than 256 sectors at once.
18393
11e16b15 18394 * util/grub-editenv.c (cmd_info): Cast argument to long
18395 explicitly. ptrdiff_t reduces to int on i386.
18396
cbabfdd4 18397 * util/grub-editenv.c (main): Be specific which parameter is
18398 missing.
18399
b8fbce0a 18400 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
18401 (memdisk): Make memdisk_orig_addr a pointer.
18402
c9c8e606 18403 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
18404 for file offsets, use grub_off_t instead. Fix printf format
18405 warnings.
18406
ca62e598 18407 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18408 there. Real unexpected warnings should not drown in the noise
18409 about known problems.
18410
ce8d1766 18411 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18412 grub_disk_addr_t for memory addresses.
18413
00c7a56a 18414 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18415 explicitly to fix a warning.
18416
08d3ef09 18417 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18418
cb71ba20 18419 * Makefile.in (MODULE_LDFLAGS): New variable.
18420 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18421 the linker accepts --build-id=none.
18422 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18423 MODULE_LDFLAGS.
18424 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18425
d4c9b428 18426 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18427 those in Linux XFS code. Provide a way to access 64-bit parent
18428 inode.
18429 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18430 the end of struct grub_xfs_dir_header.
18431
d4156eee 184322008-07-02 Bean <bean123ch@gmail.com>
18433
18434 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18435 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18436 and GRUB_IEEE1275_FLAG_NO_ANSI.
18437
18438 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18439 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18440 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18441
18442 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18443 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18444
18445 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18446 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18447
18448 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18449 esc sequence on non ANSI terminal.
18450 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18451
18452 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18453 beginning of file.
18454
2270f77b 184552008-07-02 Bean <bean123ch@gmail.com>
18456
18457 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18458 (grub_editenv_SOURCES): New variable.
18459 (pkglib_MODULES): Add loadenv.mod.
18460 (loadenv_mod_SOURCES): New variable.
18461 (loadenv_mod_CFLAGS): Likewise.
18462 (loadenv_mod_LDFLAGS): Likewise.
18463
18464 * include/grub/envblk.h: New file.
18465
18466 * util/envblk.c: New file.
18467
18468 * util/grub-editenv.c: New file.
18469
18470 * commands/loadenv.c: New file.
18471
0e9e51ec 184722008-07-01 Pavel Roskin <proski@gnu.org>
18473
d89b7634 18474 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18475 not unsigned char. This fixes warnings and is consistent with
18476 other tags.
18477
bf1835b1 18478 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18479
8222a04b 18480 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18481
6a42d99d 18482 * term/tparm.c (analyze): Always set *popcount.
18483
10b159d1 18484 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18485 cast to fix a warning.
18486
b8789f6c 18487 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18488 cast to suppress a warning.
18489
29d7e38a 18490 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18491 grub_fshelp_read_file() expects.
18492
f341f669 18493 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18494 write uuid as a 32-bit value in CPU byte order, so declare and
18495 use it as such.
18496
0e9e51ec 18497 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18498 long if the format specifier expects it.
18499 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18500 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18501 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18502 long to fix a warning.
18503 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18504 grub_dprintf() arguments to fix warnings.
18505
3aefa857 185062008-06-30 Pavel Roskin <proski@gnu.org>
18507
56c7668b 18508 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18509 install_bsd_part immediately before core.img is embedded or
18510 modified on disk. This fixes core.img verification if core.img
18511 cannot be embedded.
18512
3aefa857 18513 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18514 core_path to calculate the blocklist.
18515 Patch from Javier Martín <lordhabbit@gmail.com>
18516
5444088d 185172008-06-29 Robert Millan <rmh@aybabtu.com>
18518
18519 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18520 block to disk block.
18521 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18522 Patch from Niels Böhm <bitbucket@arcor.de>
18523
674835c8 185242008-06-29 Robert Millan <rmh@aybabtu.com>
18525
18526 * util/update-grub_lib.in (font_path): Search for fonts in
18527 /boot/grub first, which is more likely to be readable (we aren't
18528 deciding where fonts live, just looking for them).
18529
f527dbc8 185302008-06-26 Pavel Roskin <proski@gnu.org>
18531
6c2d8df6 18532 * util/biosdisk.c (read_device_map): Don't leave dead map
18533 entries for devices failing stat() check.
18534
f527dbc8 18535 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18536 core_path_dev for the core.img path on the target device.
18537
aebe3d13 185382008-06-26 Robert Millan <rmh@aybabtu.com>
18539
18540 * disk/fs_uuid.c: New file.
18541 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18542 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18543 (fs_uuid_mod_LDFLAGS): New variables.
18544 * include/grub/disk.h (grub_disk_dev_id): Add
18545 `GRUB_DISK_DEVICE_UUID_ID'.
18546 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18547 implement iterate().
18548
37aaf354 185492008-06-26 Robert Millan <rmh@aybabtu.com>
18550
18551 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18552 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18553 Linux image includes no initrd.
18554
25ff262a 185552008-06-21 Javier Martín <lordhabbit@gmail.com>
18556
18557 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18558 call to resolve the core image location that effectively appended the
18559 name twice.
18560
76a2bd44 185612008-06-21 Robert Millan <rmh@aybabtu.com>
18562
18563 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18564 call from here ...
18565
18566 * util/grub.d/10_hurd.in: ... to here ...
18567 * util/grub.d/10_linux.in: ... and here.
18568
650e1c79 185692008-06-19 Robert Millan <rmh@aybabtu.com>
18570
fe987087 18571 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 18572 after it has been set by grub_machine_set_prefix().
18573
6ce63911 185742008-06-19 Robert Millan <rmh@aybabtu.com>
18575
18576 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18577 search result when not saving to variable, not the other way around.
18578 When saving to variable, abort iteration as soon as a match is found.
18579
73940cec 185802008-06-19 Robert Millan <rmh@aybabtu.com>
18581
18582 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18583 check for partition that provides /boot/grub. Its logic is flawed,
18584 as it prevents prepare_grub_to_access_device() from being called
18585 multiple times.
18586
3c62a39d 185872008-06-19 Robert Millan <rmh@aybabtu.com>
18588
18589 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18590 "insmod" command directly when abstraction modules are needed,
fe987087 18591 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 18592 since it had already been processed).
18593
47395a42 185942008-06-19 Pavel Roskin <proski@gnu.org>
18595
18596 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18597 changed. This is needed in case GRUB_LIBDIR changes.
18598 * conf/i386-ieee1275.rmk: Likewise.
18599 * conf/i386-linuxbios.rmk: Likewise.
18600 * conf/i386-pc.rmk: Likewise.
18601 * conf/powerpc-ieee1275.rmk: Likewise.
18602
a145ac2d 186032008-06-18 Pavel Roskin <proski@gnu.org>
18604
18605 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18606 kernel_elf_symlist.c to symlist.c for consistency with other
18607 architectures. Update all users.
18608 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18609
7847c51e 186102008-06-18 Robert Millan <rmh@aybabtu.com>
18611
18612 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18613 it in prefix.
18614
18615 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18616 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18617 a RAID device, run setup() for all members independently on whether
18618 LVM abstraction is being used.
18619 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18620 If grub-mkimage has set `*install_dos_part == -2', don't override this
18621 value.
18622 Perform *install_dos_part adjustments independently on whether
18623 we're embedding or not.
18624 Clarify error message when image is too big for embedding.
18625 Remove duplicate *install_dos_part stanza.
18626
b23e5644 186272008-06-17 Robert Millan <rmh@aybabtu.com>
18628
18629 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18630 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18631 variables.
18632 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18633 values in grub_ofconsole_normal_color and
18634 grub_ofconsole_highlight_color (they're not directly related to
18635 background and foreground).
18636 (grub_ofconsole_setcolorstate): Extract background and foreground
18637 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18638
0aac2f79 186392008-06-17 Robert Millan <rmh@aybabtu.com>
18640
18641 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18642 /boot/grub for the check in last commit, not /boot (they could be
18643 different partitions).
18644
3cca7ef3 186452008-06-16 Robert Millan <rmh@aybabtu.com>
18646
18647 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18648 asked to setup access for the same partition that provides /boot,
18649 don't bother using UUIDs since our root already has the value we
18650 want.
18651
347396d8 186522008-06-16 Robert Millan <rmh@aybabtu.com>
18653
18654 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18655 I2O devices.
18656 Patch from Sven Mueller <sven@debian.org>.
18657
991477f8 186582008-06-16 Robert Millan <rmh@aybabtu.com>
18659
18660 * util/update-grub.in: Check for $EUID instead of $UID.
18661 Reported by Vincent Zweije.
18662
d31a32a1 186632008-06-16 Bean <bean123ch@gmail.com>
18664
fe987087 18665 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 18666 (grub_ext2_read_block): Likewise.
18667 (grub_ext2_read_inode): Likewise.
18668 (grub_ext2_mount): Likewise.
18669 (grub_ext2_close): Likewise.
18670 (grub_ext3_get_journal): Removed.
18671
fe987087 18672 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 18673 (grub_reiserfs_read_symlink): Likewise.
18674 (grub_reiserfs_mount): Likewise.
18675 (grub_reiserfs_open): Likewise.
18676 (grub_reiserfs_read): Likewise.
18677 (grub_reiserfs_close): Likewise.
18678 (grub_reiserfs_get_journal): Removed.
18679
18680 * fs/fshelp.c (grub_fshelp_read): Removed.
18681 (grub_fshelp_map_block): Likewise.
18682
18683 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18684 (grub_fshelp_journal): Likewise.
18685 (grub_fshelp_read): Likewise.
18686 (grub_fshelp_map_block): Likewise.
18687
3540a760 186882008-06-16 Pavel Roskin <proski@gnu.org>
18689
18690 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18691 floating point anymore.
18692 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18693
95614c84 186942008-06-15 Pavel Roskin <proski@gnu.org>
18695
18696 * commands/ls.c (grub_ls_list_files): Use integer calculations
18697 for human readable format, avoid floating point use.
18698 * kern/misc.c (grub_ftoa): Remove.
18699 (grub_vsprintf): Remove floating point support.
18700
50465dd6 187012008-06-15 Robert Millan <rmh@aybabtu.com>
18702
fe6b695a 18703 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 18704 devices.
18705 Reported by Max Vozeler.
18706
a9207284 187072008-06-15 Robert Millan <rmh@aybabtu.com>
18708
18709 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18710 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18711 skipped later.
18712 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18713 the beginning of the prefix.
18714
18715 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18716 It is assumed that if we have a memdisk, grub-mkimage has set
18717 grub_prefix to include the "(memdisk)" drive in it.
18718
a7cbd45a 187192008-06-15 Robert Millan <rmh@aybabtu.com>
18720
18721 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18722 Initialize keyboard controller after registering the terminal, so that
18723 grub_printf() can be called from grub_keyboard_controller_init().
18724
21cf716a 187252008-06-15 Robert Millan <rmh@aybabtu.com>
18726
18727 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18728 extent-btree which is written as big endian on disk.
18729 Reported by Alain Greppin <al@chilibi.org>.
18730
23a64d8e 187312008-06-14 Robert Millan <rmh@aybabtu.com>
18732
18733 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18734 * util/i386/pc/grub-install.in (modules): Likewise.
18735
d687651c 187362008-06-13 Pavel Roskin <proski@gnu.org>
18737
18738 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18739
dfe9ddd4 187402008-06-13 Bean <bean123ch@gmail.com>
18741
18742 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18743
18744 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18745
18746 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18747 to indicate sparse block.
18748
16ae7781 187492008-06-12 Pavel Roskin <proski@gnu.org>
18750
e6d1a308 18751 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18752 number, grub_fshelp_read() does it for us.
18753
16ae7781 18754 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18755 linear disk read with journal translation.
18756 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18757 * include/grub/fshelp.h: Declare grub_fshelp_read().
18758
40fd3a2b 187592008-06-09 Pavel Roskin <proski@gnu.org>
18760
18761 * fs/minix.c (grub_minix_mount): Handle error reading
18762 superblock.
18763
f5679726 187642008-06-08 Robert Millan <rmh@aybabtu.com>
18765
18766 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18767 don't append the RAID prefix afterwards.
18768 Reported by Clint Adams.
18769
ce525529 187702008-06-08 Robert Millan <rmh@aybabtu.com>
18771
18772 Based on description from Pavel:
18773 * kern/disk.c (grub_disk_check_range): Rename to ...
18774 (grub_disk_adjust_range): ... this. Add a comment explaining the
18775 tasks performed by this function.
18776
ad4936a0 187772008-06-08 Robert Millan <rmh@aybabtu.com>
18778
18779 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18780 `num_serial' (for consistency with other variables).
18781 (struct grub_ntfs_data): Add `uuid' member.
18782 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18783 (grub_ntfs_uuid): New function.
18784 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18785
dc20b0f9 187862008-06-07 Pavel Roskin <proski@gnu.org>
18787
18788 * util/biosdisk.c (open_device): Revert last change to the
18789 function, it broke installation. The sector needs to be
18790 different dependent on which device is opened.
18791
c5e3cfba 187922008-06-06 Robert Millan <rmh@aybabtu.com>
18793
18794 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18795 rest of GRUB, and breakage doesn't happen if its value were modified.
18796
18797 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18798 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18799 a constant (same value).
18800 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18801 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18802
26a1f8c4 188032008-06-06 Robert Millan <rmh@aybabtu.com>
18804
18805 * util/biosdisk.c (open_device): Do not modify sector offset when
18806 accessing a partition. kern/disk.c already handles this for us.
18807
25d6b327 188082008-06-06 Robert Millan <rmh@aybabtu.com>
18809
18810 * util/grub-emu.c (grub_machine_init): Move code in this function from
18811 here ...
18812 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18813 segfault in case grub_printf() is called).
18814
18815 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18816 grub_probe. Update all users not to explicitly add it again.
18817 (grub_device): New variable; contains corresponding device for grubdir.
18818 (fs_module, partmap_module, devabstraction_module): Pass
18819 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18820 every time.
18821
9ece62fb 188222008-06-05 Robert Millan <rmh@aybabtu.com>
18823
18824 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18825 is found, print it (same layout as with labels).
18826
1ad36d37 188272008-06-04 Robert Millan <rmh@aybabtu.com>
18828
18829 * util/biosdisk.c (get_drive): Rename to ...
18830 (find_grub_drive): ... this. Update all users.
18831
18832 (get_os_disk): Rename to ...
18833 (convert_system_partition_to_system_disk): ... this. Update all users.
18834
18835 (find_drive): Rename to ...
18836 (find_system_device): ... this. Update all users.
18837
e6a30859 188382008-06-04 Robert Millan <rmh@aybabtu.com>
18839
18840 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18841 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18842 (make_device_map): Likewise.
18843
00c108a4 188442008-06-01 Robert Millan <rmh@aybabtu.com>
18845
18846 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18847 before dereferencing it.
18848
18849 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18850 union with fat12/fat16-specific ones. Add some new fields, including
18851 `num_serial' for both versions.
18852 (struct grub_fat_data): Add `uuid' member.
18853 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18854 names. Initialize `data->uuid' using `num_serial'.
18855 (grub_fat_uuid): New function.
18856 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18857
18858 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18859 (grub_reiserfs_uuid): New function.
18860 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18861 member.
18862
18863 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18864 (grub_xfs_uuid): New function.
18865 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18866
1385c5bb 188672008-06-01 Robert Millan <rmh@aybabtu.com>
18868
18869 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18870 code that is backward compatible with pre-uuid search command.
18871
c682dfd7 188722008-05-31 Robert Millan <rmh@aybabtu.com>
18873
18874 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18875 floppies after everything else, to ensure floppy drive isn't accessed
18876 unnecessarily (patch from Bean).
18877
b7db5d47 188782008-05-31 Robert Millan <rmh@aybabtu.com>
18879
18880 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18881 not print device names when we were asked to set a variable.
18882
6e037aa9 188832008-05-31 Robert Millan <rmh@aybabtu.com>
18884
18885 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18886 using "cursor-on" and "cursor-off" commands (understood at least by
18887 the Open Firmware flavour on OLPC).
18888
41305bc8 188892008-05-31 Michael Gorven <michael@gorven.za.net>
18890
18891 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18892 on and off sequences.
18893
69ba137e 188942008-05-31 Robert Millan <rmh@aybabtu.com>
18895
18896 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18897 * util/update-grub.in: Likewise.
18898
520ae21b 188992008-05-30 Pavel Roskin <proski@gnu.org>
18900
18901 * util/biosdisk.c (linux_find_partition): Simplify logic and
18902 make the code more universal. Keep special processing for
18903 devfs, but use a simple rule for all other devices. If the
18904 device ends with a number, append 'p' and the partition number.
18905 Otherwise, append only the partition number.
18906
5786569b 189072008-05-30 Robert Millan <rmh@aybabtu.com>
18908
18909 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18910 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18911 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18912 the `root' parameter to Linux.
18913
51500452 189142008-05-30 Robert Millan <rmh@aybabtu.com>
18915
18916 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18917 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18918 --fs_uuid with --fs-uuid.
18919 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18920 all filesystems support them).
18921
811d3878 189222008-05-30 Robert Millan <rmh@aybabtu.com>
18923
18924 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 18925 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 18926
cab63c95 189272008-05-30 Robert Millan <rmh@aybabtu.com>
18928
18929 * util/grub.d/00_header.in: Remove obsolete comment referencing
18930 convert_system_path_to_grub_path().
18931 * util/update-grub.in: Likewise.
18932 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18933 (convert_system_path_to_grub_path): Add a warning message explaining
18934 that this function is deprecated. Rely on is_path_readable_by_grub()
18935 for the readability checks.
18936 (font_path): Use is_path_readable_by_grub() for the readability
18937 check rather than convert_system_path_to_grub_path().
18938
972e2f7a 189392008-05-30 Robert Millan <rmh@aybabtu.com>
18940
18941 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18942 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18943 converting it first.
18944 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18945 grub.cfg for access to font file, and afterwards call it again to set
18946 the root device.
18947
62191274 189482008-05-30 Robert Millan <rmh@aybabtu.com>
18949
18950 * commands/search.c (options): Add --fs_uuid option.
18951 (search_fs_uuid): New function.
18952 (grub_cmd_search): Fix --set argument passing.
18953 Use search_fs_uuid() when requested via --fs_uuid.
18954 (grub_search_init): Update help message.
18955 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18956 and redeclare it as an array of 16-bit words.
18957 (grub_ext2_uuid): New function.
18958 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18959 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18960 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18961 (GRUB_DEVICE_BOOT_UUID): New variables.
18962 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18963 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18964 whenever possible.
18965 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18966 just assume `root' variable has the right value.
18967 * util/grub.d/10_linux.in: Likewise.
18968 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18969 via PRINT_FS_UUID.
18970 (main): Recognise `-t fs_uuid' argument.
18971
01b73ec8 189722008-05-30 Robert Millan <rmh@aybabtu.com>
18973
18974 * util/biosdisk.c (map): Redefine structure to hold information
18975 about GRUB drive name.
fe6b695a 18976 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 18977 drive names.
18978 (call_hook): Remove.
18979 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18980 member. Assume drive has partitions.
18981 (grub_util_biosdisk_open): Access device names via `.device' struct
18982 member.
18983 (open_device): Likewise.
18984 (find_drive): Likewise.
18985 (read_device_map): Adjust map[] usage to match the new struct
18986 definition. Don't check for duplicates (still possible, but not cheap
18987 anymore).
18988 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18989 (make_device_name): Remove assumption of BIOS-like drive names.
18990
22f16596 189912008-05-30 Pavel Roskin <proski@gnu.org>
18992
18993 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18994 compiling execute.c doesn't need grub_script.tab.h anymore.
18995 (normal/command.c_DEPENDENCIES): Likewise.
18996 (normal/function.c_DEPENDENCIES): Likewise.
18997 * conf/i386-ieee1275.rmk: Likewise.
18998 * conf/i386-linuxbios.rmk: Likewise.
18999 * conf/i386-pc.rmk: Likewise.
19000 * conf/powerpc-ieee1275.rmk: Likewise.
19001 * conf/sparc64-ieee1275.rmk: Likewise.
19002
528ad8f2 190032008-05-29 Pavel Roskin <proski@gnu.org>
19004
d1dff95d 19005 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
19006 when scanning metadata for volume group name.
19007
528ad8f2 19008 * include/grub/script.h: Don't include grub_script.tab.h. It's
19009 a generated file, which may only be included from the files with
19010 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
19011 use union YYSTYPE, as the later allows forward declaration.
19012 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
19013
47248e08 190142008-05-29 Robert Millan <rmh@aybabtu.com>
19015
19016 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
19017 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
19018 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
19019 (grub_console_checkkey): Add grub_dprintf() call to report unknown
19020 scan codes.
19021
ee632529 190222008-05-29 Robert Millan <rmh@aybabtu.com>
19023
19024 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
19025 control key combinations.
19026
eee96e08 190272008-05-29 Robert Millan <rmh@aybabtu.com>
19028
19029 * util/powerpc/ieee1275/grub-install.in: Move from here ...
19030 * util/ieee1275/grub-install.in: ... to here.
19031 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
19032 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
19033 (grub_install_SOURCES): Likewise.
19034
da9a6a94 190352008-05-29 Robert Millan <rmh@aybabtu.com>
19036
19037 * fs/affs.c: Update copyright year.
19038 * fs/ext2.c: Likewise.
19039 * fs/fshelp.c: Likewise.
19040 * fs/hfsplus.c: Likewise.
19041 * fs/ntfs.c: Likewise.
19042 * fs/xfs.c: Likewise.
19043 * include/grub/fshelp.h: Likewise.
19044 * util/grub-mkdevicemap.c: Likewise.
19045
12e65f3a 190462008-05-28 Robert Millan <rmh@aybabtu.com>
19047
19048 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
19049 might need to be fatfs to support some firmware implementations
19050 (e.g. OFW or EFI).
19051
23023641 190522008-05-28 Robert Millan <rmh@aybabtu.com>
19053
19054 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
19055 devices.
19056 * util/grub-mkdevicemap.c (get_mmc_disk_name)
19057 (make_device_map): Likewise.
19058
887d2619 190592008-05-20 Bean <bean123ch@gmail.com>
19060
19061 * fs/fshelp.c (grub_fshelp_map_block): New function.
19062 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
19063 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
19064
19065 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
19066 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
19067 (grub_fshelp_journal): New structure.
19068 (grub_fshelp_map_block): New function prototype.
19069 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
19070 (grub_fshelp_map_block): Likewise.
19071
19072 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
19073 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
19074 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
19075 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
19076 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
19077 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
19078 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
19079 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
19080 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
19081 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
19082 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
19083 (grub_ext2_sblock): New members for journal support.
19084 (grub_ext3_journal_header): New structure.
19085 (grub_ext3_journal_revoke_header): Likewise.
19086 (grub_ext3_journal_block_tag): Likewise.
19087 (grub_ext3_journal_sblock): Likewise.
19088 (grub_fshelp_node): New members logfile and journal.
19089 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
19090 grub_fshelp_map_block to get real block number.
19091 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
19092 number.
19093 (grub_ext2_read_inode): Likewise.
19094 (grub_ext3_get_journal): New function.
19095 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
19096 (grub_ext2_close): Release memory used by journal.
19097
19098 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
19099 (REISERFS_MAGIC_DESC_BLOCK): New macro.
19100 (grub_reiserfs_transaction_header): Renamed to
19101 grub_reiserfs_description_block, replace field data with real_blocks.
19102 (grub_reiserfs_commit_block): New structure.
19103 (grub_reiserfs_data): New member journal.
19104 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
19105 number.
19106 (grub_reiserfs_read_symlink): Likewise.
19107 (grub_reiserfs_iterate_dir): Likewise.
19108 (grub_reiserfs_open): Likewise.
19109 (grub_reiserfs_read): Likewise.
19110 (grub_reiserfs_get_journal): New function.
19111 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
19112 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
19113 using grub_reiserfs_get_journal.
19114 (grub_reiserfs_close): Release memory used by journal.
19115
19116 * fs/affs.c (grub_affs_read_block): Change block type to
19117 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
19118
19119 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
19120
19121 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
19122
19123 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
19124
19125 * fs/udf.c (grub_udf_read_block): Change block type to
19126 grub_disk_addr_t. Use type cast to avoid warning.
19127
19128 * fs/xfs.c (grub_xfs_read_block): Likewise.
19129
b7c6bed5 191302008-05-16 Christian Franke <franke@computer.org>
19131
19132 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
19133 to ensure that break with ESC will always work.
19134 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
19135 Remove ESC from keyboard queue.
19136
eedf167f 191372008-05-16 Christian Franke <franke@computer.org>
19138
19139 * util/biosdisk.c: [__CYGWIN__] Add includes.
19140 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
19141 (get_os_disk): Move variable declarations to OS specific
19142 parts to avoid warning.
19143 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
19144 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
19145 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
19146 Cygwin.
19147 * util/getroot.c: [__CYGWIN__] Add includes.
19148 (strip_extra_slashes): Fix "/" case.
19149 [__CYGWIN__] (get_win32_path): New function.
19150 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
19151 [__CYGWIN__] (find_root_device): Disable.
19152 [__CYGWIN__] (get_bootsec_serial): New function.
19153 [__CYGWIN__] (find_cygwin_root_device): Likewise.
19154 [__linux__] (grub_guess_root_device): Add early returns to simplify
19155 structure.
19156 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
19157 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
19158 check for Linux only.
19159
a079699e 191602008-05-15 Bean <bean123ch@gmail.com>
19161
19162 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
19163 keyboard hang problem in apple's intel mac.
19164
1cf4059a 191652008-05-09 Robert Millan <rmh@aybabtu.com>
19166
19167 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
19168 devices.
19169 * util/grub-mkdevicemap.c (get_virtio_disk_name)
19170 (make_device_map): Likewise.
19171 Reported by Aurelien Jarno <aurel32@debian.org>
19172
ed759390 191732008-05-07 Ian Campbell <ijc@hellion.org.uk>
19174
19175 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
19176 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
19177 (make_device_map): Output entries for xvd type disks.
19178
b56c4eaa 191792008-05-07 Robert Millan <rmh@aybabtu.com>
19180
19181 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
19182 devices.
19183 * util/grub-mkdevicemap.c (get_cciss_disk_name)
19184 (make_device_map): Likewise.
19185 Reported by Roland Dreier <rdreier@cisco.com>
19186
7f8866ed 191872008-05-07 Robert Millan <rmh@aybabtu.com>
19188
19189 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
19190 grub_strstr() call. Correct a few mistakes in failure path handling.
19191
b0346e0f 191922008-05-06 Robert Millan <rmh@aybabtu.com>
19193
19194 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19195 Do not print a trailing slash (therefore, the root directory is an
19196 empty string).
19197 (convert_system_path_to_grub_path): Do not remove trailing slash
19198 from make_system_path_relative_to_its_root() output.
19199
19200 * util/i386/pc/grub-install.in: Add trailing slash to output from
19201 make_system_path_relative_to_its_root().
19202
6cf12cbd 192032008-05-06 Robert Millan <rmh@aybabtu.com>
19204
19205 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
19206 ensures that output lines aren't intermangled with those sent to
19207 stderr (via grub_util_info()).
19208 * util/grub-probe.c (grub_refresh): Likewise.
19209 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
19210
0fbb3117 192112008-05-05 Christian Franke <franke@computer.org>
19212
19213 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
19214 Add Cygwin device names.
19215 (get_ide_disk_name) [__CYGWIN__]: Likewise.
19216 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
19217 (check_device): Return error instead of success on empty name.
19218 (make_device_map): Move label inside linux specific code to
19219 prevent compiler warning.
19220
8124cdb7 192212008-04-30 Robert Millan <rmh@aybabtu.com>
19222
19223 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
19224 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
19225 first boot option.
19226 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
19227
094c01d0 192282008-04-29 Robert Millan <rmh@aybabtu.com>
19229
19230 * docs/grub.cfg: New file (example GRUB configuration).
19231
f4b1fc02 192322008-04-26 Robert Millan <rmh@aybabtu.com>
19233
329ce2a5 19234 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
19235 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
19236 and `disk/ieee1275/nand.c'.
f4b1fc02 19237
25f16ec1 192382008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 19239
25f16ec1 19240 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
19241 i386-linuxbios.
19242
19243 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
19244 change the buffer size to 4096 for cdrom device.
19245
19246 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
19247 and nand.mod.
19248 (_linux_mod_SOURCES): New variable.
19249 (_linux_mod_CFLAGS): Likewise.
19250 (_linux_mod_LDFLAGS): Likewise.
19251 (linux_mod_SOURCES): Likewise.
19252 (linux_mod_CFLAGS): Likewise.
19253 (linux_mod_LDFLAGS): Likewise.
19254 (nand_mod_SOURCES): Likewise.
19255 (nand_mod_CFLAGS): Likewise.
19256 (nand_mod_LDFLAGS): Likewise.
19257
19258 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
19259 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
19260 type property. (nand device in olpc don't have this property)
19261
19262 * include/grub/disk.h (grub_disk_dev_id): New macro
19263 GRUB_DISK_DEVICE_NAND_ID.
19264
19265 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
19266 function prototype.
19267 (grub_rescue_cmd_initrd): Likewise.
19268
19269 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
19270 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
19271 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 19272
25f16ec1 19273 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
19274 GRUB_MACHINE_IEEE1275 is defined.
19275
19276 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
19277 Use NESTED_FUNC_ATTR attribute on the hook parameter.
19278
19279 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
19280 on nested function heap_init.
19281 (grub_upper_mem): New variable for i386-ieee1275.
19282 (grub_get_extended_memory): New function for i386-ieee1275.
19283 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
19284
19285 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
19286 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
19287 property.
f19dbdb7 19288
25f16ec1 19289 * loader/i386/ieee1275/linux.c: New file.
19290
19291 * loader/i386/ieee1275/linux_normal.c: New file.
19292
19293 * disk/ieee1275/nand.c: New file.
19294
e89d61e9 192952008-04-18 Thomas Schwinge <tschwinge@gnu.org>
19296
19297 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
19298 value.
19299 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
19300
602566f6 193012008-04-18 Robert Millan <rmh@aybabtu.com>
19302
19303 Restructures early code path on ieee1275 to unify grub_main() as
19304 the first C function that is executed in every platform.
19305
19306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
19307 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
19308 cmain().
19309 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
19310 * kern/ieee1275/cmain.c (cmain): Rename to ...
19311 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
19312 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
19313 at the beginning.
19314
57490c2b 193152008-04-18 Robert Millan <rmh@aybabtu.com>
19316
19317 * util/update-grub.in: Fix syntax error when setting
19318 `GRUB_PRELOAD_MODULES'.
19319 Reported by Stephane Chazelas <stephane@artesyncp.com>
19320
1977517d 193212008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
19322
19323 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
19324 section into account, newer toolchains generate unique build ids
19325 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 19326 we want build ids to be preserved
1977517d 19327 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
19328 far from other sections don't cause the raw binary images grow
19329 size
19330
bfb1f1a2 193312008-04-15 Robert Millan <rmh@aybabtu.com>
19332
19333 * disk/lvm.c: Update copyright year.
19334 * kern/misc.c: Likewise.
19335
01979850 193362008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19337
19338 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 19339 there is no memory left for physical volume name.
01979850 19340
0a1150e2 193412008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19342
19343 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
19344 volume name mapping to support bigger than 9 character names properly.
19345
82ead3fe 193462008-04-13 Robert Millan <rmh@aybabtu.com>
19347
19348 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
19349 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
19350
e54a72f5 193512008-04-13 Christian Franke <franke@computer.org>
19352
19353 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
19354 to create a floppy emulation boot CD when non emulation mode
19355 does not work.
19356 Enable Joliet CD filesystem extension.
19357
9fe86034 193582008-04-13 Robert Millan <rmh@aybabtu.com>
19359
19360 * kern/misc.c (grub_strncat): Fix off-by-one error.
19361 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
19362
19363 * kern/env.c (grub_env_context_close): Clear current context, not
19364 previous one.
19365 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
19366
19367 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
19368
7ceeee39 193692008-04-13 Robert Millan <rmh@aybabtu.com>
19370
19371 Improve robustness when handling LVM.
19372
19373 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 19374 (and leave `*p' unmodified).
7ceeee39 19375 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
19376 through it.
19377 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
19378 iterating through it.
19379 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
19380 through it.
fe6b695a 19381 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 19382 when due) on each grub_lvm_getvalue() or grub_strstr() call.
19383 Don't assume `vg->pvs != NULL' when iterating through it.
19384
58cd3d85 193852008-04-13 Robert Millan <rmh@aybabtu.com>
19386
19387 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
19388 * genmk.rb (partmap): New variable.
19389 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
19390 (#{partmap}): New target rule.
19391 * genpartmaplist.sh: New file.
19392 * Makefile.in (pkglib_DATA): Add partmap.lst.
19393 (partmap.lst): New target rule.
19394 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
19395 modules (including all partition maps), instead of preloading them.
19396
78b51059 193972007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
19398
19399 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
19400 `linux-boot-prober' (if installed) to detect other operating
19401 systems which are installed on the computer and add them to
19402 the boot menu.
19403 * conf/common.rmk: Build and install 30_os-prober.
19404
a91627b4 194052008-04-12 Robert Millan <rmh@aybabtu.com>
19406
19407 * kern/powerpc/ieee1275/init.c: Move from here ...
19408 * kern/ieee1275/init.c: ... to here. Update all users.
19409
19410 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19411 * kern/ieee1275/cmain.c: ... to here. Update all users.
19412
19413 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19414 * kern/ieee1275/openfw.c: ... to here. Update all users.
19415
19416 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19417 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19418
322562ea 194192008-04-10 Pavel Roskin <proski@gnu.org>
19420
19421 * configure.ac: Always use "_cv_" in cache variables for
19422 compatibility with Autoconf 2.62.
19423
a02a73c5 194242008-04-07 Robert Millan <rmh@aybabtu.com>
19425
19426 Revert grub/machine/init.h addition by Pavel (since it breaks on
19427 i386-ieee1275 and others):
19428 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19429 * util/powerpc/ieee1275/misc.c: Likewise.
19430
25c024b1 194312008-04-07 Robert Millan <rmh@aybabtu.com>
19432
19433 * util/grub-probe.c (probe): Improve error message.
19434
3cbd2f98 194352008-04-07 Robert Millan <rmh@aybabtu.com>
19436
19437 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19438 (this prevents the presence of a bogus entry from ruining the whole
19439 thing).
19440
87a297bf 194412008-04-06 Pavel Roskin <proski@gnu.org>
19442
36747a62 19443 * util/biosdisk.c: Include grub/util/biosdisk.h.
19444 * util/grub-fstest.c (execute_command): Make static.
19445 * util/grub-mkdevicemap.c (check_device): Likewise.
19446 * util/i386/pc/misc.c: Include grub/machine/init.h.
19447 * util/powerpc/ieee1275/misc.c: Likewise.
19448 * util/lvm.c: Include grub/util/lvm.h.
19449 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19450 grub/cache.h.
19451 * util/raid.c: Include grub/util/raid.h.
19452 (grub_util_getdiskname): Make static.
19453
87a297bf 19454 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19455 grub_hostfs_fini(), as they are called from grub_init_all() and
19456 grub_fini_all() respectively. This fixes an infinite loop in
19457 grub-fstest due to double registration of hostfs.
19458 Reported by Christian Franke <Christian.Franke@t-online.de>
19459
f6ce7629 194602008-04-05 Pavel Roskin <proski@gnu.org>
19461
19462 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19463 all 8 functions. Otherwise, probe function 0 only.
19464
070e49e4 194652008-04-04 Pavel Roskin <proski@gnu.org>
19466
8b088a4c 19467 * commands/lspci.c (grub_lspci_iter): Print the bus number
19468 correctly.
19469
4f657021 19470 * commands/lspci.c (grub_pci_classes): Fix typos.
19471 (grub_lspci_iter): Don't print func twice. Print vendor ID
19472 before device ID, as it's normally done.
19473
070e49e4 19474 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19475 Fix signedness warnings.
19476 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19477 Likewise.
19478 * util/ieee1275/get_disk_name.c: Include config.h so that
19479 _GNU_SOURCE is defined and getline() is declared. Mark an
19480 unused argument as such. Fix a signedness warning.
19481
ba7328dc 194822008-04-02 Pavel Roskin <proski@gnu.org>
19483
26887f22 19484 * genkernsyms.sh.in: Use more robust assignments for CC and
19485 srcdir. Quote srcdir.
19486 * gensymlist.sh.in: Likewise. Assert at the compile time that
19487 the symbol table is not empty.
19488
ba7328dc 19489 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19490 * fs/cpio.c (grub_cpio_read): Likewise.
19491
0f582c6b 194922008-04-01 Pavel Roskin <proski@gnu.org>
19493
4b6e1995 19494 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19495 * disk/host.c (grub_host_open): Likewise.
19496 * disk/loopback.c (grub_loopback_open): Likewise.
19497 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19498 disk->id as in disk/host.c, not a multi-character constant.
19499
828a2768 19500 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19501 later is obsolete, potentially dangerous and sets a bad example.
19502 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19503 * util/misc.c (grub_util_get_image_size): Likewise.
19504
2bb4fb47 19505 * disk/loopback.c (options): Improve help for "--partitions".
19506
0f582c6b 19507 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19508 options to align them with the short options, e.g. "echo -e".
19509
a33224e0 195102008-03-31 Bean <bean123ch@gmail.com>
19511
19512 * video/reader/png.c (grub_png_data): New member is_16bit and
19513 image_data.
19514 (grub_png_decode_image_header): Detect 16 bit png image.
19515 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19516 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19517 (grub_video_reader_png): Release memory occupied by image_data.
19518
19519 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19520 4096 bytes.
19521 (grub_nfs_mount): Skip the test for sector per cluster.
19522
19523 * include/grub/ntfs.h (MAX_SPC): Removed.
19524
86cb4f54 195252008-03-31 Bean <bean123ch@gmail.com>
19526
19527 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19528 (grub_probe_SOURCES): Add fs/afs.c.
19529 (grub_fstest_SOURCES): Likewise.
19530 (afs_mod_SOURCES): New variable.
19531 (afs_mod_CFLAGS): Likewise.
19532 (afs_mod_LDFLAGS): Likewise.
19533
19534 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19535 (grub_emu_SOURCES): Likewise.
19536
19537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19538
19539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19540
19541 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19542
19543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19544
19545 * fs/afs.c: New file.
19546
17c74c21 195472008-03-30 Pavel Roskin <proski@gnu.org>
19548
4cb68e89 19549 * disk/host.c: Include grub/misc.h to fix a warning.
19550 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19551 warnings about implicit declarations.
19552
8790bb04 19553 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19554 variable.
19555 * include/grub/i386/loader.h: Change declaration of
19556 grub_linux_boot() to match what grub_loader_set() expects.
19557 * util/getroot.c (grub_guess_root_device): Return const char* to
19558 fix a warning.
19559 * util/grub-probe.c (probe): Fix a warning about uninitialized
19560 abstraction_name variable.
19561 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19562 second argument as unused to fix a warning.
19563
9a3f3296 19564 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19565 missing grub_error() call.
19566
0ecef90d 19567 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19568 2.60 and newer uses it to define datadir.
19569
0bf6d401 19570 * commands/sleep.c: Fix warning about implicit declaration.
19571 * disk/memdisk.c: Likewise.
19572 * loader/aout.c: Likewise.
19573 * loader/i386/bsd_normal.c: Likewise.
19574 * util/grub-probe.c: Likewise.
19575
7cdacf97 19576 * commands/i386/cpuid.c (has_longmode): Make static.
19577 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19578 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19579
17c74c21 19580 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19581 GDT. This is more robust, as %ds can change.
19582 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19583 calling real_to_prot().
19584 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19585
80a3e68b 195862008-03-28 Pavel Roskin <proski@gnu.org>
19587
19588 * kern/i386/pc/startup.S: Assert that uncompressed functions
19589 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19590 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19591 code, as they push parts of the code (error handlers) beyond
19592 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19593 code as correctness and size.
19594
77bcd272 195952008-03-28 Pavel Roskin <proski@gnu.org>
19596
19597 * kern/i386/pc/startup.S
19598 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19599 data block address to the real mode, keep offset minimal. This
19600 works around a bug in AWARD BIOS on old Athlon systems, which
19601 makes CD detection hang.
19602
c5dfd43b 196032008-03-26 Pavel Roskin <proski@gnu.org>
19604
19605 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19606 const.
19607 * include/grub/normal.h: Add grub_parse_color_name_pair()
19608 declaration.
19609
bf962df2 196102008-03-24 Bean <bean123ch@gmail.com>
19611
19612 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19613 (cd_count): Removed.
19614 (cd_drive): New variable.
19615 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19616 (grub_biosdisk_call_hook): Likewise.
19617 (grub_biosdisk_iterate): Change cdrom detection method.
19618 (grub_biosdisk_open): Replace cd_start with cd_drive.
19619 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19620 detect cdrom device.
19621
19622 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19623 Removed.
19624 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19625 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19626 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19627 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19628 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19629 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19630 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19631 (grub_biosdisk_cdrp): New structure.
19632 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19633
19634 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19635
19636 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19637 device.
19638
19639 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19640 New function.
19641
68e7fc7a 196422008-03-20 Robert Millan <rmh@aybabtu.com>
19643
19644 Remove 2 TiB limit in ata.mod.
19645 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19646 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19647 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19648 grub_uint64_t instead of grub_uint32_t.
19649
38ad2cf5 196502008-03-05 Bean <bean123ch@gmail.com>
19651
19652 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19653 (grub_multiboot): Set boot device.
19654
19655 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19656
2b89344e 196572008-03-02 Bean <bean123ch@gmail.com>
19658
19659 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19660 symlink_buffer.
19661
87a95d1f 196622008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19663
19664 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19665 texinfo.tex.
19666
19667 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19668 modified.
19669
19670 * docs/fdl.texi: New file.
f19dbdb7 19671
87a95d1f 19672 * docs/mdate-sh: New file. Copied from gnulib.
19673 * docs/texinfo.tex: Likewise.
19674
19675 * config.guess: Updated from gnulib.
19676 * install-sh: Likewise.
19677
7dc15d8e 196782008-02-28 Robert Millan <rmh@aybabtu.com>
19679
19680 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19681 (aout_mod_SOURCES): New variable.
19682 (aout_mod_CFLAGS): Likewise.
19683 (aout_mod_LDFLAGS): Likewise.
19684
19685 * conf/i386-ieee1275.rmk: Likewise.
19686
b00ab696 196872008-02-28 Robert Millan <rmh@aybabtu.com>
19688
19689 * util/update-grub.in: Reorganise terminal validity check. Accept
19690 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19691 Based on suggestion by Franklin PIAT.
19692
79ca2d78 196932008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19694
19695 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19696 function.
19697 * util/getroot.c (grub_util_check_block_device): New function that
19698 returns the given argument if it is a block device and returns NULL else.
19699 * util/grub-probe.c (argument_is_device): New variable.
19700 (probe): Promote device_name from a variable to an argument. Receive
19701 device_name from grub_util_check_block_device() if path is NULL and from
19702 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 19703 (options): Introduce new parameter '-d, --device'.
79ca2d78 19704 (main): Add description of the new parameter to the help screen.
19705 Rename path variable to argument. Set argument_is_device if the '-d'
19706 option is given. Pass argument to probe() depending on
19707 argument_is_device.
19708
0d16e571 197092008-02-24 Bean <bean123ch@gmail.com>
19710
19711 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19712 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19713 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19714 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19715 (GRUB_ISO9660_VOLDESC_END): Likewise.
19716 (grub_iso9660_primary_voldesc): New member escape.
19717 (grub_iso9660_data): New member joliet.
19718 (grub_iso9660_convert_string): New function.
19719 (grub_iso9660_mount): Detect joliet extension.
19720 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19721 (grub_iso9660_iso9660_label): Likewise.
19722
19723 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19724 (grub_setup_SOURCES): Add fs/udf.c.
19725 (grub_fstest_SOURCES): Likewise.
19726 (udf_mod_SOURCES): New variable.
19727 (udf_mod_CFLAGS): Likewise.
19728 (udf_mod_LDFLAGS): Likewise.
19729
19730 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19731 (grub_emu_SOURCES): Likewise.
19732
19733 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19734
19735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19736
19737 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19738
19739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19740
19741 * fs/udf.c: New file.
19742
8a594a17 197432008-02-24 Robert Millan <rmh@aybabtu.com>
19744
19745 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19746 (normal/lexer.c_DEPENDENCIES): New variables.
19747 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19748 (normal/lexer.c_DEPENDENCIES): Likewise.
19749 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19750 (normal/lexer.c_DEPENDENCIES): Likewise.
19751 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19752 (normal/lexer.c_DEPENDENCIES): Likewise.
19753 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19754 (normal/lexer.c_DEPENDENCIES): Likewise.
19755 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19756 (normal/lexer.c_DEPENDENCIES): Likewise.
19757
2dc33c03 197582008-02-23 Robert Millan <rmh@aybabtu.com>
19759
19760 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19761 since they were intended to be in hex. This didn't break previously
19762 because of a bug in gpt_partition_map_iterate() (see below).
19763
19764 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19765 when checking the validity of GPT header.
19766 Remove `partno', since it always provides the same information as `i'.
19767
f6f4cfb0 197682008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19769
19770 * include/grub/efi/time.h: Fix a wrong comment.
19771
79ff665f 197722008-02-19 Pavel Roskin <proski@gnu.org>
19773
19774 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19775 message.
19776
d38e24c2 197772008-02-19 Bean <bean123ch@gmail.com>
19778
19779 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19780 (aout_mod_SOURCES): New variable.
19781 (aout_mod_CFLAGS): Likewise.
19782 (aout_mod_LDFLAGS): Likewise.
19783 (_bsd_mod_SOURCES): New variable.
19784 (_bsd_mod_CFLAGS): Likewise.
19785 (_bsd_mod_LDFLAGS): Likewise.
19786 (bsd_mod_SOURCES): New variable.
19787 (bsd_mod_CFLAGS): Likewise.
19788 (bsd_mod_LDFLAGS): Likewise.
19789
19790 * include/grub/aout.h: New file.
19791
19792 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19793
19794 * include/grub/i386/bsd.h: New file.
19795
19796 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19797 to make it public.
19798
19799 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19800 function is called, so that it's possible to change it inside the hook.
19801 (grub_elf64_load): Likewise.
19802 (grub_elf_file): Don't close the file if elf header is not found.
19803 (grub_elf_close): Close the file if grub_elf_file fails (The new
19804 grub_elf_file won't close it).
19805 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19806 (grub_elf64_size): Likewise.
19807
19808 * kern/i386/loader.S (grub_unix_real_boot): New function.
19809
19810 * loader/aout.c: New file.
19811
19812 * loader/i386/bsd.c: New file.
19813
19814 * loader/i386/bsd_normal.c: New file.
19815
19816 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19817
19818 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 19819 can test other formats.
d38e24c2 19820
b93bdb0f 198212008-02-19 Robert Millan <rmh@aybabtu.com>
19822
19823 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19824 (grub_gpt_partition_type_empty): Redefine with macro from
19825 `<grub/gpt_partition.h>'.
19826 (gpt_partition_map_iterate): Adjust partition type comparison.
19827
19828 Export `entry' as partmap-specific `part.data' struct.
19829 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19830
19831 * include/grub/gpt_partition.h (grub_gpt_header)
19832 (grub_gpt_partentry): ... to here (new file).
19833
19834 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19835
19836 (grub_gpt_partition_type_bios_boot): New const variable, defined
19837 with macro from `<grub/gpt_partition.h>'.
19838
19839 (setup): Replace `first_start' with `embed_region', which keeps
19840 track of the embed region (and is partmap-agnostic).
19841
19842 Replace find_first_partition_start() with find_usable_region(),
19843 which finds a usable region for embedding using partmap-specific
19844 knowledge (supports PC/MSDOS and GPT).
19845
19846 Fix all assumptions that the embed region start at sector 1, using
19847 `embed_region.start' from now on. Similarly, use `embed_region.end'
19848 rather than `first_start' to calculate available size.
19849
19850 In grub_util_info() message, replace "into after the MBR" with an
19851 indication of the specific sector our embed region starts at.
19852
66cb40f6 198532008-02-19 Robert Millan <rmh@aybabtu.com>
19854
19855 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19856 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19857 `commands/reboot.c'.
19858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19859 (halt_mod_SOURCES): Likewise.
19860 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19861 (halt_mod_SOURCES): Likewise.
19862
b7202015 198632008-02-17 Christian Franke <franke@computer.org>
19864
19865 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19866
32b0fc49 198672008-02-17 Robert Millan <rmh@aybabtu.com>
19868
19869 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19870 set `first_start' to 0 for non-PC/MSDOS partition maps.
19871
aca63502 198722008-02-16 Robert Millan <rmh@aybabtu.com>
19873
19874 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19875 do not assume partition map is PC/MSDOS before performing checks that
19876 are specific to that layout.
19877
0de8be86 198782008-02-13 Robert Millan <rmh@aybabtu.com>
19879
19880 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19881 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19882 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19883
c3db8364 198842008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19885
19886 * configure.ac: Only a cosmetic change on the handling of
19887 -fno-stack-protector.
19888
f714229e 198892008-02-12 Alexandre Boeglin <alex@boeglin.org>
19890
c3db8364 19891 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19892 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19893 reboot.c.
f714229e 19894 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19895 (halt_mod_SOURCES): New variable.
19896 (halt_mod_CFLAGS): Likewise.
19897 (halt_mod_LDFLAGS): Likewise.
19898 (reboot_mod_SOURCES): Likewise.
19899 (reboot_mod_CFLAGS): Likewise.
19900 (reboot_mod_LDFLAGS): Likewise.
19901
c3db8364 19902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19903 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19904 reboot.c.
f714229e 19905 (halt_mod_SOURCES): Likewise.
19906 (reboot_mod_SOURCES): Likewise.
19907
c3db8364 19908 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19909 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 19910 (reboot_mod_SOURCES): Likewise.
19911
19912 * commands/i386/pc/reboot.c: merge this file ...
19913
19914 * commands/ieee1275/reboot.c: ... and this file ...
19915
19916 * commands/reboot.c: ... to this file.
c3db8364 19917 Add some precompiler directive to include the correct header for
19918 each machine.
f714229e 19919
19920 * commands/ieee1275/halt.c: move this file ...
19921
19922 * commands/halt.c: ... to here.
c3db8364 19923 Add some precompiler directive to include the correct header for
19924 each machine.
f714229e 19925
19926 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19927 (grub_halt): Likewise.
19928
19929 * kern/efi/efi.c (grub_reboot): New function.
19930 (grub_halt): Likewise.
19931
c74493e0 199322008-02-12 Robert Millan <rmh@aybabtu.com>
19933
19934 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19935 /dev (like it is done for /dev/mapper). This doesn't provide support
19936 for EVMS, but at least it is now easy to identify the problem when it
19937 arises.
19938
d0db4b04 199392008-02-11 Robert Millan <rmh@aybabtu.com>
19940
19941 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19942 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19943 comparing it with -1, not 0.
19944
bf748642 199452008-02-10 Robert Millan <rmh@aybabtu.com>
19946
19947 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19948 `disk/lvm.c'.
19949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19950 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19951
19952 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19953 `disk/lvm.c' to the end of the list.
19954 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19955 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19956
b5db202a 199572008-02-10 Robert Millan <rmh@aybabtu.com>
19958
19959 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19960 grub_print_error() instead. This will let user know why we're entering
19961 rescue mode.
19962 Based on suggestions from Sam Morris.
19963
83abee31 199642008-02-10 Alexandre Boeglin <alex@boeglin.org>
19965
19966 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19967 on remaining N args, instead of "--" arg N times.
19968
78d5a08b 199692008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19970
19971 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19972 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19973 pattern for unknown glyphs.
19974
68807e5f 199752008-02-09 Robert Millan <rmh@aybabtu.com>
19976
19977 * configure.ac: Probe for `help2man'.
19978 * Makefile.in (builddir): New variable.
19979 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19980 or otherwise add a few flags/options to it.
19981 (install-local): For every executable utility or script that is
19982 installed, invoke $(HELP2MAN) to install a manpage based on --help
19983 output.
19984
19985 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19986 that it doesn't prevent --help from working in build tree.
19987
19988 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19989 with `bug-grub@gnu.org'.
19990 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19991 * util/update-grub.in (usage): New function.
19992 Implement proper argument check, with support for --help and --version
19993 (as well as existing -y).
19994
199952008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 19996
19997 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19998 avoid overwriting previous output.
19999 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
20000
c1962162 200012008-02-09 Robert Millan <rmh@aybabtu.com>
20002
20003 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
20004 drawing the menu.
20005
3dac2e3f 200062008-02-09 Robert Millan <rmh@aybabtu.com>
20007
20008 * commands/sleep.c: New file.
20009 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
20010 (sleep_mod_SOURCES): New variable.
20011 (sleep_mod_CFLAGS): Likewise.
20012 (sleep_mod_LDFLAGS): Likewise.
20013
7a634e08 200142008-02-09 Robert Millan <rmh@aybabtu.com>
20015
20016 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
20017 situations in which we can deduce the RAID size and the superblock
20018 doesn't match it.
20019
b92f0c18 200202008-02-09 Robert Millan <rmh@aybabtu.com>
20021
20022 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
20023 and return a grub_diskmemberlist_t composed of LVM physical volumes.
20024 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
20025
20026 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
20027 and return a grub_diskmemberlist_t composed of physical array members.
20028 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
20029
20030 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
20031 prototype.
20032 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
20033 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
20034 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
20035
20036 * util/grub-probe.c (probe): Move partmap probing code from here ...
20037 (probe_partmap): ... to here.
20038 (probe): Use probe_partmap() once for the disk we're probing, and
20039 additionally, when such disk contains a memberlist() struct member,
20040 once for each disk that is contained in the structure returned by
20041 memberlist().
20042
91a4bf68 200432008-02-09 Robert Millan <rmh@aybabtu.com>
20044
20045 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
20046 environment variable to 'all' in order to obtain debug output from
20047 non-util/ code.
20048 * util/i386/pc/grub-setup.c (main): Likewise.
20049
a96f9caa 200502008-02-08 Robert Millan <rmh@aybabtu.com>
20051
20052 * disk/raid.c (grub_raid_scan_device): Check for
20053 `array->device[sb.this_disk.number]' rather than for
20054 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 20055 guaranteed to be accessible.
a96f9caa 20056
b37a9222 200572008-02-08 Robert Millan <rmh@aybabtu.com>
20058
20059 * disk/raid.c: Update copyright.
20060 * fs/cpio.c: Likewise.
20061 * include/grub/raid.h: Likewise.
20062 * loader/i386/pc/multiboot.c: Likewise.
20063 * util/hostfs.c: Likewise.
20064
5626aee1 200652008-02-08 Robert Millan <rmh@aybabtu.com>
20066
20067 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
20068 to a grub_disk_t array.
20069 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
20070 `device[x]'.
20071 (grub_raid_scan_device): Replace `device[x].name' accesses with
20072 `device[x]->name'. Simplify initialization of `array->device[x]'.
20073
554f0187 200742008-02-08 Robert Millan <rmh@aybabtu.com>
20075
20076 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
20077 grub_dprintf() calls.
20078 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
20079 error message.
20080
1ec8425d 200812008-02-07 Christian Franke <franke@computer.org>
20082
20083 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
20084 instead of fseek and ftell to support large files.
20085 (grub_hostfs_read): Likewise.
20086
f2156fda 200872008-02-07 Robert Millan <rmh@aybabtu.com>
20088
20089 Patch from Jeroen Dekkers.
20090 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 20091 failure, since successfully reading all array members might not be
f2156fda 20092 required.
20093
9216e0e7 200942008-02-06 Robert Millan <rmh@aybabtu.com>
20095
20096 * util/grub-probe.c (probe): Simplify partmap probing (with the
20097 assumption that the first word up to the underscore equals to
20098 the module name).
20099
b0dfd29a 201002008-02-06 Christian Franke <franke@computer.org>
20101
20102 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
20103 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
20104 last block of a cpio or tar stream.
20105 Check for "TRAILER!!!" instead of any empty data
20106 block to detect last block of a cpio stream.
20107 (grub_cpio_dir): Fix constness of variable np.
20108 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
20109 cpio or tar trailer is detected. This fixes a crash
20110 on open of a non existing file.
20111
c32865bf 201122008-02-05 Bean <bean123ch@gmail.com>
20113
20114 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
20115 address of entry.
20116 (grub_multiboot_load_elf64): Likewise.
20117 (grub_multiboot): Initialize mbi structure.
20118
20119 * util/grub-fstest.c: Don't include unused header file script.h.
20120
fe6b695a 20121 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 20122 of file.
20123 (grub_fstest_SOURCES): Likewise.
20124
409480b7 201252008-02-05 Robert Millan <rmh@aybabtu.com>
20126
20127 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
20128 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
20129 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
20130 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
20131
20132 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
20133 (translation_table): Replace hardcoded values with macros
20134 provided by `<grub/term.h>'.
20135
20136 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
20137 (keyboard_map): Correct/add a few values, with macros provided
20138 by `<grub/term.h>'.
20139 (keyboard_map_shift): Zero values that don't differ from their
20140 `keyboard_map' equivalents.
20141 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
20142 Discard the second scan code that is always sent by Caps lock.
20143 Only use `keyboard_map_shift' when it provides a non-zero value,
20144 otherwise fallback to `keyboard_map'.
20145
99fadbaa 201462008-02-04 Bean <bean123ch@gmail.com>
20147
20148 * Makefile.in (enable_grub_fstest): New variable.
20149
20150 * conf/common.rmk (grub_fstest_init.lst): New rule.
20151 (grub_fstest_init.h): Likewise.
20152 (grub_fstest_init.c): Likewise.
20153 (util/grub-fstest.c_DEPENDENCIES): New variable.
20154 (grub_fstest_SOURCES): Likewise.
20155
20156 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
20157
20158 * util/grub-fstest.c: New file.
20159
bf567c50 201602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20161
20162 Make grub-setup handle a separate root device.
f19dbdb7 20163
bf567c50 20164 * util/i386/pc/grub-setup.c (setup): Always open the root device,
20165 so that the root device can be compared with the destination
20166 device.
20167 When embedding the core image, if the root and destination devices
20168 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
20169 0xFF.
20170 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 20171
9be6b98b 201722008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20173
20174 Add support for having a grub directory in a different drive. This
20175 is still only the data handling part.
f19dbdb7 20176
9be6b98b 20177 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
20178 (codestart): Save %dh in GRUB_ROOT_DRIVE.
20179 (grub_root_drive): New variable.
20180
20181 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
20182 instead of GRUB_BOOT_DRIVE to construct a device name. Set
20183 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
20184 as it was.
20185
20186 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
20187
20188 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
20189 macro.
20190 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
20191
20192 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
20193 is bogus, because PXE booting does not specify any drive
20194 correctly.
20195
20196 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
20197 am not sure if this is really correct.
20198
20199 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
20200 is always identical to the boot drive when booting from a CD.
20201
20202 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
20203 longer.
20204 (root_drive): New variable.
20205 (real_start): Unconditionally set %dh to ROOT_DRIVE.
20206 (setup_sectors): Push %dx right after popping it, because %dh will
20207 be modified later.
20208 (copy_buffer): Restore %dx.
20209
e0ca0677 202102008-02-03 Robert Millan <rmh@aybabtu.com>
20211
20212 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
20213 use `cdboot.img' for cdrom images.
20214
3b3f6629 202152008-02-03 Robert Millan <rmh@aybabtu.com>
20216
20217 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
20218 only setup gfxterm when `font' command has succeeded.
20219
d42b3672 202202008-02-03 Robert Millan <rmh@aybabtu.com>
20221
20222 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
20223 (grub_rescue_cmd_multiboot_loader)
20224 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
20225
fa370ea6 202262008-02-03 Pavel Roskin <proski@gnu.org>
20227
e0c5dacb 20228 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 20229 %edx and %esi from stack only after grub_gate_a20() is called.
20230 grub_gate_a20() clobbers %edx.
20231
f2a76e1d 202322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20233
20234 * configure.ac (AC_INIT): Bumped to 1.96.
20235
20236 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
20237 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
20238 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
20239 video/readers/png.c.
20240
90fd32d1 202412008-02-03 Bean <bean123ch@gmail.com>
9be665dd 20242
20243 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
20244 (cdboot_img_SOURCES): New variable.
20245 (cdboot_img_ASFLAGS): New variable.
20246 (cdboot_img_LDFLAGS): New variable.
20247
20248 * boot/i386/pc/cdboot.S: New file.
20249
20250 * disk/i386/pc/biosdisk.c (cd_start): New variable.
20251 (cd_count): Likewise.
20252 (grub_biosdisk_get_drive): Add support for cd device.
20253 (grub_biosdisk_call_hook): Likewise.
20254 (grub_biosdisk_iterate): Likewise.
20255 (grub_biosdisk_open): Likewise.
20256 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
20257 (grub_biosdisk_rw): Support reading from cd device.
20258 (GRUB_MOD_INIT): Iterate cd devices.
20259
20260 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
20261 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
20262 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
20263
20264 * kern/i386/pc/init.c (make_install_device): Check for cd device.
20265
4020aa53 202662008-02-02 Robert Millan <rmh@aybabtu.com>
20267
20268 * commands/read.c: New file.
20269 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
20270 (read_mod_SOURCES): New variable.
20271 (read_mod_CFLAGS): Likewise.
20272 (read_mod_LDFLAGS): Likewise.
20273
e03a1132 202742008-02-02 Robert Millan <rmh@aybabtu.com>
20275
20276 * normal/main.c (grub_normal_execute): Check for `menu->size' when
20277 determining whether menu has to be displayed.
20278
58c69220 202792008-02-02 Marco Gerards <marco@gnu.org>
20280
20281 * bus/pci.c: New file.
20282
20283 * include/grub/pci.h: Likewise.
20284
20285 * include/grub/i386/pc/pci.h: Likewise.
20286
20287 * commands/lspci.c: Likewise.
20288
20289 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
20290 `lspci.mod'.
20291 (pci_mod_SOURCES): New variable.
20292 (pci_mod_CFLAGS): Likewise.
20293 (pci_mod_LDFLAGS): Likewise.
20294 (lspci_mod_SOURCES): Likewise.
20295 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 20296 (lspci_mod_LDFLAGS): Likewise.
58c69220 20297
c004e1b4 202982008-02-02 Bean <bean123ch@gmail.com>
20299
20300 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
20301 (grub_ufs_get_file_block): Fix indirect block calculation problem.
20302
20303 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
20304 (grub_xfs_btree_node): New structure.
20305 (grub_xfs_btree_root): New structure.
20306 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
20307 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
20308 (GRUB_XFS_EXTENT_BLOCK): Likewise.
20309 (GRUB_XFS_EXTENT_SIZE): Likewise.
20310 (grub_xfs_read_block): Support btree format type.
20311 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
20312 Use directory block as basic unit.
20313
20314 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
20315
20316 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
20317 __attribute__ ((__regparm__ (1))).
20318
f95562bf 203192008-02-01 Robert Millan <rmh@aybabtu.com>
20320
20321 Correct a mistake in previous commit.
20322
20323 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
20324 top.
20325 (normal/command.c_DEPENDENCIES): New variable.
20326
7d31f41f 203272008-02-01 Robert Millan <rmh@aybabtu.com>
20328
20329 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
20330 top.
20331 (normal/command.c_DEPENDENCIES): New variable.
20332 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
20333 * conf/i386-ieee1275.rmk: Likewise.
20334 * conf/i386-linuxbios.rmk: Likewise.
20335 * conf/i386-pc.rmk: Likewise.
20336 * conf/sparc64-ieee1275.rmk: Likewise.
20337 * conf/powerpc-ieee1275.rmk: Likewise.
20338 (grub_emu_SOURCES): Add `fs/fshelp.c'.
20339
20340 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
20341
60b6be74 203422008-02-01 Robert Millan <rmh@aybabtu.com>
20343
20344 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
20345 call at beginning of function.
20346
078522ab 203472008-01-31 Pavel Roskin <proski@gnu.org>
20348
20349 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 20350 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
20351 (grub_mkrescue_SOURCES): Likewise.
078522ab 20352 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
20353
ccaa8a5f 203542008-01-30 Robert Millan <rmh@aybabtu.com>
20355
20356 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
20357 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
20358 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
20359 (grub_probe_SOURCES): ... to here.
20360
20361 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
20362 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
20363 * conf/i386-ieee1275.rmk: Likewise.
20364 * conf/i386-linuxbios.rmk: Likewise.
20365 * conf/powerpc-ieee1275.rmk: Likewise.
20366
ae5a9cd7 203672008-01-30 Tristan Gingold <gingold@free.fr>
20368
20369 * kern/rescue.c: Silently accept empty lines.
20370
70bc2ef2 203712008-01-29 Bean <bean123ch@gmail.com>
20372
20373 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
20374 (real_code_2): Code cleanup and change comment style.
20375 (move_memory): Avoid using 32-bit address mode.
20376
6a4d50ea 203772008-01-29 Bean <bean123ch@gmail.com>
20378
20379 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
20380 (png_mod_SOURCES): New variable.
20381 (png_mod_CFLAGS): Likewise.
20382 (png_mod_LDFLAGS): Likewise.
20383
20384 * video/readers/png.c: New file.
20385
11cc30ac 203862008-01-28 Robert Millan <rmh@aybabtu.com>
20387
20388 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
20389 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
20390 `ifndef GRUB_MOD_GAP' hack.
20391 * util/elf/grub-mkimage.c (add_segments): Likewise.
20392
3abc589f 203932008-01-27 Robert Millan <rmh@aybabtu.com>
20394
20395 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
20396 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 20397 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 20398
e1907778 203992008-01-27 Robert Millan <rmh@aybabtu.com>
20400
20401 Get grub-emu to build again (including parallel builds).
20402
20403 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
20404 Split into ...
20405 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20406 (normal/execute.c_DEPENDENCIES): ... this, ...
20407 (grub-emu_DEPENDENCIES): ... and this.
20408
20409 * conf/i386-efi.rmk: Likewise.
20410 * conf/i386-linuxbios.rmk: Likewise.
20411 * conf/i386-ieee1275.rmk: Likewise.
20412 * conf/powerpc-ieee1275.rmk: Likewise.
20413 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20414
2216b101 204152008-01-27 Robert Millan <rmh@aybabtu.com>
20416
20417 * NEWS: Add a few items.
20418
f75172d9 204192008-01-27 Robert Millan <rmh@aybabtu.com>
20420
20421 Fix parallel builds with grub-emu. Based on earlier commit for
20422 grub-probe and grub-setup.
20423
20424 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20425 (util/grub-emu.c_DEPENDENCIES): ... this.
20426 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20427 (util/grub-emu.c_DEPENDENCIES): ... this.
20428 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20429 (util/grub-emu.c_DEPENDENCIES): ... this.
20430 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20431 (util/grub-emu.c_DEPENDENCIES): ... this.
20432 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20433 (util/grub-emu.c_DEPENDENCIES): ... this.
20434
3f51de77 204352008-01-27 Pavel Roskin <proski@gnu.org>
20436
20437 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20438 to create a gap between _end and the modules added to the image
20439 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20440 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20441 * util/elf/grub-mkimage.c (add_segments): Likewise.
20442
2033f53e 204432008-01-26 Pavel Roskin <proski@gnu.org>
20444
20445 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20446 just return an error.
20447
22da1f6f 204482008-01-26 Bean <bean123ch@gmail.com>
20449
20450 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20451 (grub_reiserfs_get_item): Save offset of the next item.
20452 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20453
2a9525e6 204542008-01-25 Robert Millan <rmh@aybabtu.com>
20455
20456 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20457 make all filesystem sources appear together (possibly fixing omissions
20458 while at it).
20459 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20460 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20461 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20463
20464 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20465 add `kern/file.c'.
20466 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20467 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20468 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20469 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20470
20471 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20472 (probe): Add a sanity check to make sure of our ability to read
20473 requested files when probing for filesystem type.
20474
20475 * genmk.rb: Update copyright year (2007).
20476
20477 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20478 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20479 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20480 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20481 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20482 : Remove function prototypes.
20483
b95f71b5 204842008-01-25 Robert Millan <rmh@aybabtu.com>
20485
20486 Revert my previous commits (based on wrong assumption of how grub_errno
20487 works).
20488
fe6b695a 20489 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 20490 * kern/file.c (grub_file_open): Likewise.
20491
d08bbb49 204922008-01-24 Pavel Roskin <proski@gnu.org>
20493
20494 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20495 that hang if GRUB tries to setup colors.
20496 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20497 colors for firmwares that don't support it.
20498 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20499 Recognize Open Hack'Ware, set flags to work around its
20500 limitations.
20501
605e36ed 205022008-01-24 Robert Millan <rmh@aybabtu.com>
20503
20504 * kern/file.c (grub_file_open): Do not account previous failures of
20505 unrelated functions when grub_errno is checked for.
20506 Reported by Oleg Strikov.
20507
bac332a1 205082008-01-24 Bean <bean123ch@gmail.com>
20509
20510 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20511 (grub_ufs_sblock): New member volume name.
20512 (grub_ufs_find_file): Fix string copy bug.
20513 (grub_ufs_label): Implement this function properly.
20514
20515 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20516 (grub_hfs_iterate_records): Use the correct file number for extents
20517 and catalog file. Fix problem in next index calculation.
20518 (grub_hfs_find_node): Replace recursive function call with loop.
20519 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20520
15c80c09 205212008-01-23 Robert Millan <rmh@aybabtu.com>
20522
20523 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20524 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20525 (grub_multiboot2_real_boot): New function prototype.
20526
20527 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20528 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20529
20530 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20531 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20532
305338fd 205332008-01-23 Robert Millan <rmh@aybabtu.com>
20534
20535 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20536 #ifdef'ed out grub_printf().
20537
3ea52685 205382008-01-23 Robert Millan <rmh@aybabtu.com>
20539
20540 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20541 grub_dprintf calls, since they make "debug=all" mode unusable.
20542 (grub_console_checkkey): Likewise.
20543
5882ae4b 205442008-01-23 Robert Millan <rmh@aybabtu.com>
20545
20546 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20547 `term/i386/pc/at_keyboard.c'.
20548 (pkglib_MODULES): Add `serial.mod'.
20549 (serial_mod_SOURCES): New variable.
20550 (serial_mod_CFLAGS): Likewise.
20551 (serial_mod_LDFLAGS): Likewise.
20552
20553 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20554 `<grub/powerpc/ieee1275/console.h>'.
20555 (grub_keyboard_controller_init): New function prototype.
20556 (grub_console_checkkey): Likewise.
20557 (grub_console_getkey): Likewise.
20558
20559 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20560 keyboard on i386.
20561
20562 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20563 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20564
06ab5303 205652008-01-23 Robert Millan <rmh@aybabtu.com>
20566
20567 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20568 present, "(memdisk)/boot/grub" becomes the default prefix.
20569
20570 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20571 a memdisk tarball with all the modules. Add --overlay=DIR option that
20572 allows users to overlay additional files into the image.
20573
dbb475a4 205742008-01-23 Robert Millan <rmh@aybabtu.com>
20575
20576 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20577 and `machine/memory.h'.
20578 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20579 (_multiboot_mod_SOURCES): New variable.
20580 (_multiboot_mod_CFLAGS): Likewise.
20581 (_multiboot_mod_LDFLAGS): Likewise.
20582 (multiboot_mod_SOURCES): Likewise.
20583 (multiboot_mod_CFLAGS): Likewise.
20584 (multiboot_mod_LDFLAGS): Likewise.
20585
20586 * include/grub/i386/ieee1275/loader.h: New file.
20587
20588 * include/grub/i386/ieee1275/machine.h: Likewise.
20589
20590 * include/grub/i386/ieee1275/memory.h: Likewise.
20591
20592 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20593 variable declaration.
20594 (grub_os_area_size): Likewise.
20595
20596 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20597 (grub_lower_mem, grub_upper_mem): New variables.
20598 (grub_stop_floppy): New function (just to make
20599 grub_multiboot2_real_boot() happy).
20600
20601 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20602 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20603 (grub_stop): New function.
20604 Include `"../realmode.S"' and `"../loader.S"'.
20605
20606 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20607 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20608
20609 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20610 rely on grub_multiboot2_real_boot() for final boot.
20611
25638629 206122008-01-22 Robert Millan <rmh@aybabtu.com>
20613
20614 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20615 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20616 device that doesn't look like an SD card.
20617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20618 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20619 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20620 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20621 found.
20622
9dad816d 206232008-01-22 Robert Millan <rmh@aybabtu.com>
20624
20625 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20626 avoid claiming over our own code.
20627
34842f2d 206282008-01-22 Bean <bean123ch@gmail.com>
20629
20630 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20631 (jpeg_mod_SOURCES): New variable.
20632 (jpeg_mod_CFLAGS): Likewise.
20633 (jpeg_mod_LDFLAGS): Likewise.
20634
20635 * video/readers/jpeg.c : New file.
20636
44023a28 206372008-01-22 Bean <bean123ch@gmail.com>
20638
20639 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20640 there are no more items.
20641
bc2d8ac6 206422008-01-21 Robert Millan <rmh@aybabtu.com>
20643
20644 * kern/mm.c (grub_mm_init_region): Improve debug message.
20645
261bd4bc 206462008-01-21 Robert Millan <rmh@aybabtu.com>
20647
20648 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20649 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20650 address.
20651 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20652 a C macro.
20653 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20654 Indicates start of upper memory.
20655 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20656 (generate_image): Abort when image size is big enough to corrupt
20657 upper memory.
20658
20659 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20660 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20661 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20662 instead of hardcoding 0xA0000.
20663 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20664 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20665 instead of hardcoding 0xA0000.
20666
f970b55e 206672008-01-21 Robert Millan <rmh@aybabtu.com>
20668
20669 * disk/memdisk.c (memdisk_size): New variable.
20670 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20671 `memdisk_size'.
20672 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20673 image to dynamic memory.
20674 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20675 `memdisk_size'. Free memdisk block.
20676
1a8b0526 206772008-01-21 Robert Millan <rmh@aybabtu.com>
20678
20679 Fix detection of very small filesystems (like tar).
20680
20681 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20682 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20683 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20684 a problem with this disk).
20685
6e9b4aab 206862008-01-21 Robert Millan <rmh@aybabtu.com>
20687
20688 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20689 on grub_biosdisk_rw_standard() error.
20690
0d8837b2 206912008-01-21 Robert Millan <rmh@aybabtu.com>
20692
20693 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20694 recent changes.
20695 * kern/elf.c: Likewise.
20696 * kern/ieee1275/ieee1275.c: Likewise.
20697 * kern/powerpc/ieee1275/openfw.c: Likewise.
20698 * term/ieee1275/ofconsole.c: Likewise.
20699
ffd36e34 207002008-01-21 Robert Millan <rmh@aybabtu.com>
20701
20702 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20703
3f0093d0 20704 * include/grub/kernel.h (grub_arch_memdisk_addr)
20705 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 20706
3f0093d0 20707 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20708 (grub_arch_memdisk_size): ... to here.
ffd36e34 20709
6c391b21 207102008-01-21 Robert Millan <rmh@aybabtu.com>
20711
20712 Mostly based on bugfix from Bean.
20713
20714 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20715 attribute with hook() parameter.
20716 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20717 declaration.
20718 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20719 attribute with hook() parameter.
20720 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20721 declaration.
20722
55a581dc 207232008-01-21 Robert Millan <rmh@aybabtu.com>
20724
20725 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20726 (pkglib_MODULES): Add `memdisk.mod'.
20727 (memdisk_mod_SOURCES): New variable.
20728 (memdisk_mod_CFLAGS): Likewise.
20729 (memdisk_mod_LDFLAGS): Likewise.
20730
20731 * disk/memdisk.c: New file.
20732
20733 * include/grub/disk.h (grub_disk_dev_id): Add
20734 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20735
20736 * include/grub/i386/pc/kernel.h
20737 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20738 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20739 (grub_kernel_image_size): New variable declaration.
20740 (grub_total_module_size): Likewise.
20741 (grub_memdisk_image_size): Likewise.
20742
20743 * include/grub/i386/pc/memory.h
20744 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20745
20746 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20747 (grub_arch_memdisk_addr): New variable declaration.
20748 (grub_arch_memdisk_size): Likewise.
20749
20750 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20751 (grub_arch_memdisk_size): Likewise.
20752
20753 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20754 (codestart): Replace hardcoded `0x100000' with
20755 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20756
20757 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20758 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20759 not NULL, append the contents of the file it refers to, at the end of
20760 the compressed kernel image. Initialize `grub_memdisk_image_size'
20761 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20762 (options): Add "memdisk"|'m' option.
20763 (main): Parse --memdisk|-m option, and pass user-provided path as
20764 parameter to generate_image().
20765
3d7f54c9 207662008-01-20 Robert Millan <rmh@aybabtu.com>
20767
20768 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20769 grub_dprintf() calls from here ...
20770 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20771
0bf74728 207722008-01-20 Robert Millan <rmh@aybabtu.com>
20773
20774 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20775
20776 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20777 declaration.
20778 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20779 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20780 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 20781 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 20782 property).
20783 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20784 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20785
33bf70a7 207862008-01-19 Robert Millan <rmh@aybabtu.com>
20787
fe6b695a 20788 Get rid of confusing function (superseded by
33bf70a7 20789 `grub_ieee1275_get_integer_property')
20790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20791 prototype.
20792 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20793 function.
20794 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20795 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 20796 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 20797
e2da7d26 207982008-01-19 Robert Millan <rmh@aybabtu.com>
20799
20800 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20801 command after "shut-down", since implementations differ on which
20802 the command for halt is.
20803
59f1fd8d 208042008-01-19 Robert Millan <rmh@aybabtu.com>
20805
20806 * include/grub/i386/linuxbios/console.h: Add header protection.
20807 (grub_keyboard_controller_init): New function prototype.
20808 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20809 (KEYBOARD_COMMAND_READ): Likewise.
20810 (KEYBOARD_COMMAND_WRITE): Likewise.
20811 (KEYBOARD_SCANCODE_SET1): Likewise.
20812 (grub_keyboard_controller_write): New function.
20813 (grub_keyboard_controller_read): Likewise.
20814 (grub_keyboard_controller_init): Likewise.
20815
20816 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20817 (grub_console_init): On coreboot/LinuxBIOS, call
20818 grub_keyboard_controller_init().
20819
5f5a7c15 208202008-01-19 Robert Millan <rmh@aybabtu.com>
20821
20822 PowerPC changes provided by Pavel Roskin.
20823
20824 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20825 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20826 don't rely on cmain() doing it.
20827 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20828 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20829
1210e168 208302008-01-16 Robert Millan <rmh@aybabtu.com>
20831
20832 * include/grub/i386/linuxbios/memory.h
20833 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20834 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20835 receive `table_header' as argument. Instead, probe for it in the
20836 known memory ranges where it can be present.
20837 (grub_available_iterate): Do not pass a fixed `table_header' address
20838 to grub_linuxbios_table_iterate().
20839
3d04eab8 208402008-01-15 Robert Millan <rmh@aybabtu.com>
20841
20842 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20843 * conf/i386-ieee1275.rmk: New file.
20844 * include/grub/i386/ieee1275/console.h: Likewise.
20845 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20846 * include/grub/i386/ieee1275/kernel.h: Likewise.
20847 * include/grub/i386/ieee1275/time.h: Likewise.
20848 * kern/i386/ieee1275/init.c: Likewise.
20849 * kern/i386/ieee1275/startup.S: Likewise.
20850
d1bc1b73 208512008-01-15 Robert Millan <rmh@aybabtu.com>
20852
20853 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20854 when pointers are 32-bit (but still do set it to one when they are
20855 64-bit).
20856
66a65807 208572008-01-15 Robert Millan <rmh@aybabtu.com>
20858
20859 * include/grub/ieee1275/ieee1275.h
20860 (grub_ieee1275_get_integer_property): New function prototype.
20861
20862 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20863 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 20864 grub_ieee1275_get_property() to handle endianness.
66a65807 20865
20866 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20867 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 20868 where appropriate.
66a65807 20869 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20870 (grub_map): Likewise.
20871 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20872
a83ccafd 208732008-01-15 Bean <bean123ch@gmail.com>
20874
20875 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20876 (grub_script_execute_cmdline): Reset grub_errno.
20877
20878 * normal/main.c (read_config_file): Reset grub_errno.
20879
20880 * normal/parse.y (script_init): New.
20881 (script): Move function and menuentry here.
20882 (delimiter): New.
20883 (command): Add delimiter at the end of command.
20884 (commands): Adjust to match the new command.
20885 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 20886 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 20887 (if): Use the new commands.
20888
20889 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20890
df6ecfc6 208912008-01-15 Robert Millan <rmh@aybabtu.com>
20892
20893 * normal/menu.c (run_menu): Move timeout message from here ...
20894 (print_timeout): ... to here.
20895 (run_menu): Use print_timeout() once during initial draw to print
20896 the whole message, and again in every clock tick to update only
20897 the number of seconds.
20898
87ae25eb 208992008-01-15 Robert Millan <rmh@aybabtu.com>
20900
20901 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20902 actual size of `available' from grub_ieee1275_get_property(), and
20903 restrict parsing to that bound.
20904
47bf09a4 209052008-01-15 Christian Franke <franke@computer.org>
20906
20907 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20908 (argp_program_version): Remove variable.
20909 (argp_program_bug_address): Likewise.
20910 (options): Convert from struct argp_option to struct option.
20911 (struct arguments): Remove.
20912 (parse_opt): Remove.
20913 (usage): New function.
20914 (main): Replace struct args members by simple variables.
20915 Replace argp_parse() by getopt_long().
20916 Add switch to evaluate options.
20917 Add missing "(...)" around root_dev in prefix string.
20918
c86f1469 209192008-01-14 Robert Millan <rmh@aybabtu.com>
20920
20921 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20922 for grub_ieee1275_exit(), in order to improve portability.
20923
e622c559 209242008-01-14 Robert Millan <rmh@aybabtu.com>
20925
20926 * util/grub.d/10_linux.in (prefix): Define.
20927 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20928
44cb1ec8 209292008-01-13 Pavel Roskin <proski@gnu.org>
20930
20931 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20932 grub_errno if no errors have been detected.
20933
1eb8c802 209342008-01-12 Robert Millan <rmh@aybabtu.com>
20935
20936 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20937 (grub_util_get_dev_abstraction): New function prototype.
20938
20939 * util/getroot.c: Include `<grub/util/getroot.h>'
20940 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20941 (grub_util_get_dev_abstraction): ... here (new function).
20942
20943 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20944 `PRINT_ABSTRACTION'.
20945 (probe): Probe for abstraction type when requested.
20946 (main): Understand `--target=abstraction'.
20947
20948 * util/i386/efi/grub-install.in: Add abstraction module to core
20949 image when it is found to be necessary.
20950 * util/i386/pc/grub-install.in: Likewise.
20951 * util/powerpc/ieee1275/grub-install.in: Likewise.
20952
20953 * util/update-grub_lib.in (font_path): Return system path without
20954 converting to GRUB path.
20955 * util/update-grub.in: Convert system path returned by font_path()
20956 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20957 abstraction module is needed for loading fonts (if any). Export
20958 that as `GRUB_PRELOAD_MODULES'.
20959 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20960 insmod commands).
20961
52bd3de9 209622008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20963
20964 Remove some unused code from reiserfs.
f19dbdb7 20965
52bd3de9 20966 * fs/reiserfs.c (struct grub_reiserfs_key)
20967 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20968 (struct grub_reiserfs_node_body): Removed.
20969 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20970 Likewise.
20971 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20972 Likewise.
20973 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20974 Likewise.
20975 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20976 Likewise.
20977 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20978 Likewise.
20979 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20980 Likewise.
20981 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20982 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20983 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20984
2f80039d 209852008-01-10 Robert Millan <rmh@aybabtu.com>
20986
20987 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20988 Determines if a file is garbage left by packaging systems, etc.
20989 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20990 for processing /etc/grub.d scripts.
20991 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20992 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20993 as a condition for processing Linux images.
20994
87888032 209952008-01-10 Pavel Roskin <proski@gnu.org>
20996
20997 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20998 to compile reiserfs.c on PowerPC.
20999
7e54fced 210002008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 21001
21002 * kern/device.c (grub_device_iterate): Do not abort device iteration
21003 when one of the devices cannot be opened.
21004 * kern/disk.c (grub_disk_open): Do not account previous failures of
21005 unrelated functions when grub_errno is checked for.
21006
5aa541e6 210072008-01-08 Robert Millan <rmh@aybabtu.com>
21008
21009 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
21010 `! grub_linux_is_bzimage', change order of address comparison to make
21011 it more intuitive, and improve "too big zImage" error message.
21012
7076340d 210132008-01-08 Robert Millan <rmh@aybabtu.com>
21014
21015 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
21016 `$(update-grub_DATA)'.
21017 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
21018 targets.
21019
9ca70333 210202008-01-07 Robert Millan <rmh@aybabtu.com>
21021
21022 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
21023 which instruction is modified by grub-setup during installation
21024 (since it wasn't obvious by only looking at this file).
21025
38ccf575 210262008-01-07 Robert Millan <rmh@aybabtu.com>
21027
21028 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
21029 listing actual TODO items.
21030
f5db4291 210312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21032
868967cf 21033 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
21034 correctly.
21035 (grub_reiserfs_get_key_offset): Likewise.
21036 (grub_reiserfs_set_key_offset): Likewise.
21037 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 21038 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 21039
21040 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
21041 better to remove the bitfield version completely.
f19dbdb7 21042
868967cf 210432008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21044
f5db4291 21045 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
21046 allocated from the heap, due to the fshelp implementation.
21047 (grub_reiserfs_dir): Free NODE, due to the same reason.
21048
492e6d9d 210492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21050
21051 Mostly from Vincent Pelletier:
f19dbdb7 21052
492e6d9d 21053 * fs/reiserfs.c: New file.
f19dbdb7 21054
492e6d9d 21055 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
21056 (reiserfs_mod_SOURCES): New variable.
21057 (reiserfs_mod_CFLAGS): Likewise.
21058 (reiserfs_mod_LDFLAGS): Likewise.
21059
21060 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
21061 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
21062 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
21063 normal/color.c.
21064
9ce3e7c1 210652008-01-06 Robert Millan <rmh@aybabtu.com>
21066
21067 * normal/color.c: Remove `<grub/env.h>'.
21068
f3b58148 210692008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
21070
21071 * include/grub/normal.h: Include <grub/env.h>.
21072
7ac3bcfa 210732008-01-05 Robert Millan <rmh@aybabtu.com>
21074
21075 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
21076 usage example with `(hd0,1)'.
fb358190 21077 Reported by Samuel Thibault.
7ac3bcfa 21078
c8ee99d7 210792008-01-05 Robert Millan <rmh@aybabtu.com>
21080
21081 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
21082 (grub_linux_boot_zimage): Rename to ...
21083 (grub_linux_boot): ... this.
21084 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
21085 (grub_linux_boot_zimage): Conditionalize zImage copy.
21086
21087 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
21088 (grub_linux_boot_bzimage): Remove prototype.
21089 (grub_linux_boot_zimage): Rename to ...
21090 (grub_linux_boot): ... this.
21091
21092 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
21093 (grub_linux_boot): Remove function.
21094
0ece25b1 210952008-01-05 Robert Millan <rmh@aybabtu.com>
21096
21097 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
21098 (grub_env_write_color_highlight): Likewise.
21099 (grub_wait_after_message): Likewise.
21100
21101 * normal/color.c: New file.
21102
21103 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21104 (normal_mod_DEPENDENCIES): Likewise.
21105
21106 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21107 (normal_mod_DEPENDENCIES): Likewise.
21108
21109 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21110 (normal_mod_DEPENDENCIES): Likewise.
21111
21112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21113 (normal_mod_DEPENDENCIES): Likewise.
21114
21115 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
21116 for waiting after a message is printed.
21117 * normal/main.c (read_config_file): Likewise.
21118 (grub_normal_init): Register grub_env_write_color_normal() and
21119 grub_env_write_color_highlight() hooks. Mark `color_normal' and
21120 `color_highlight' variables as global.
21121
21122 * normal/menu.c (grub_wait_after_message): New function.
21123 (grub_color_menu_normal): New variable. Replaces ...
21124 (GRUB_COLOR_MENU_NORMAL): ... this macro.
21125 (grub_color_menu_highlight): New variable. Replaces ...
21126 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
21127 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
21128 `GRUB_TERM_COLOR_STANDARD'.
21129 (print_message): Use `grub_setcolorstate' to reload colors. Rename
21130 `normal_code' and `highlight_code' to `old_color_normal' and
21131 `old_color_highlight', respectively.
21132 (grub_menu_init_page): Update colors when drawing the menu, based on
21133 `menu_color_normal' and `menu_color_highlight' variables.
21134 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
21135 a message is printed.
21136
182dd4e5 211372008-01-05 Robert Millan <rmh@aybabtu.com>
21138
21139 * kern/env.c (grub_env_context_open): Propagate hooks for global
21140 variables to new context.
21141
21142 * kern/main.c (grub_set_root_dev): Export `root' variable.
21143
ddf8f6ad 211442008-01-05 Robert Millan <rmh@aybabtu.com>
21145
21146 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 21147 discs unconditionally, since udev and others have options to provide
ddf8f6ad 21148 them.
21149
d8b43d9b 211502008-01-05 Robert Millan <rmh@aybabtu.com>
21151
21152 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
21153
2bff2de3 211542008-01-04 Christian Franke <franke@computer.org>
21155
21156 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
21157 of eisa_mmap.
21158
97eab917 211592008-01-03 Pavel Roskin <proski@gnu.org>
21160
21161 * kern/i386/linuxbios/init.c: Put "void" to all function
21162 declarations with no arguments.
21163 * kern/powerpc/ieee1275/init.c: Likewise.
21164 * term/i386/pc/at_keyboard.c: Likewise.
21165 * term/i386/pc/vga_text.c: Likewise.
21166 * util/grub-mkdevicemap.c: Likewise.
21167
b9416d00 211682008-01-02 Robert Millan <rmh@aybabtu.com>
21169
21170 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
21171 message when loaded image is out of bounds.
21172 (grub_multiboot_load_elf64): Likewise.
21173
92695df9 211742008-01-02 Pavel Roskin <proski@gnu.org>
21175
21176 * util/grub.d/10_linux.in: Try version without ".old" when
21177 looking for initrd. It's better to use initrd from the newer
21178 kernel of the same version than no initrd at all.
21179
d98d9cad 211802008-01-01 Robert Millan <rmh@aybabtu.com>
21181
21182 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
21183
dbfdce36 211842008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
21185
f19dbdb7 21186 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 21187 grub_video_get_active_render_target.
21188 (grub_video_adapter): Added unmap_color and get_active_render_target.
21189
f19dbdb7 21190 * video/video.c: Added grub_video_unmap_color and
dbfdce36 21191 grub_video_get_active_render_target.
21192 (grub_video_get_info): Changed method to accept NULL pointer as an
21193 argument to allow detection of active video adapter.
21194
21195 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
21196 grub_video_vbe_unmap_color_int.
21197 Added grub_video_vbe_unmap_color and
21198 grub_video_vbe_get_active_render_target.
21199 (grub_video_vbe_adapter): Added unmap_color and
21200 get_active_render_target.
21201
f19dbdb7 21202 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 21203 with grub_video_vbe_unmap_color_int.
21204
21205 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
21206 (DEFAULT_NORMAL_COLOR): Likewise.
21207 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
21208 (DEFAULT_FG_COLOR): Removed.
21209 (DEFAULT_BG_COLOR): Likewise.
21210 (DEFAULT_CURSOR_COLOR): Changed value.
21211 (grub_virtual_screen): Added standard_color_setting,
21212 normal_color_setting, highlight_color_setting and term_color.
21213 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
21214 (bitmap_width): Added.
21215 (bitmap_height): Likewise.
21216 (bitmap): Likewise.
21217 (set_term_color): Likewise.
21218 (grub_virtual_screen_setup): Changed to use new terminal coloring
21219 settings.
21220 (grub_gfxterm_init): Added init for bitmap.
21221 (grub_gfxterm_fini): Added destroy for bitmap.
21222 (redraw_screen_rect): Updated to use background bitmap and new
21223 terminal coloring.
21224 (scroll_up): Added optimization for case when there is no bitmap.
21225 (grub_gfxterm_cls): Fixed to use correct background color.
21226 (grub_virtual_screen_setcolorstate): Changed to use new terminal
21227 coloring.
21228 (grub_virtual_screen_setcolor): Likewise.
21229 (grub_virtual_screen_getcolor): Added.
21230 (grub_gfxterm_background_image_cmd): Likewise.
21231 (grub_video_term): Added setcolor and getcolor.
21232 (MOD_INIT): Added registration of background_image command.
21233 (MOD_TERM): Added unregistration for background_image command.
21234
c3c20931 212352007-12-30 Pavel Roskin <proski@gnu.org>
21236
21237 * loader/multiboot_loader.c: Fix multiboot command
21238 unregistration. Fix all typos in the word "multiboot".
21239
df266716 212402007-12-29 Pavel Roskin <proski@gnu.org>
94239199 21241
21242 * util/grub.d/10_linux.in: Refactor search for initrd. Add
21243 support for initrd names used in Fedora.
21244
fc6e896c 212452007-12-26 Bean <bean123ch@gmail.com>
21246
21247 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
21248 (cpio_mod_SOURCES): New variable.
21249 (cpio_mod_CFLAGS): Likewise.
21250 (cpio_mod_LDFLAGS): Likewise.
21251
21252 * fs/cpio.c: New file.
21253
21254 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
21255
21256 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21257
21258 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21259
21260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21261
533110ad 212622007-12-25 Robert Millan <rmh@aybabtu.com>
21263
21264 * include/grub/term.h (struct grub_term): Add `getcolor' function.
21265 (grub_getcolor): New function.
21266
21267 * kern/term.c (grub_getcolor): New function.
21268 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
21269 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
21270 (print_entry): Set normal and highlight colors to
21271 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
21272 respectively, before printing and restore them to old
21273 values afterwards.
21274 (grub_menu_init_page): Likewise. Fill an additional colored space
21275 that would otherwise be left blank.
21276
21277 * term/efi/console.c (grub_console_getcolor): New function.
21278 (struct grub_console_term.getcolor): New variable.
21279 * term/i386/pc/console.c (grub_console_getcolor): New function.
21280 (struct grub_console_term.getcolor): New variable.
21281 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
21282 (struct grub_console_term.getcolor): New variable.
21283
21284 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
21285 (struct grub_console_term.setcolor): Remove variable.
21286 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
21287 (struct grub_console_term.setcolor): Remove variable.
21288 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
21289 (struct grub_console_term.setcolor): Remove variable.
21290 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
21291 (struct grub_console_term.setcolor): Remove variable.
21292
4931827f 212932007-12-25 Robert Millan <rmh@aybabtu.com>
21294
21295 * configure.ac: Search for possible unifont.hex locations, and
21296 define UNIFONT_HEX if found.
21297
21298 * Makefile.in (UNIFONT_HEX): Define variable.
21299 (DATA): Rename to ...
21300 (PKGLIB): ... this. Update all users.
21301 (PKGDATA): New variable.
21302 (pkgdata_IMAGES): Rename to ...
21303 (pkglib_IMAGES): ... this. Update all users.
21304 (pkgdata_MODULES): Rename to ...
21305 (pkglib_MODULES): ... this. Update all users.
21306 (pkgdata_PROGRAMS): Rename to ...
21307 (pkglib_PROGRAMS): ... this. Update all users.
21308 (pkgdata_DATA): Rename to ...
21309 (pkglib_DATA): ... this. Update all users.
21310 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
21311 (unicode.pff, ascii.pff): New rules.
21312 (all-local): Add `$(PKGDATA)' dependency.
21313 (install-local): Process `$(PKGDATA)'.
21314
21315 * util/update-grub_lib.in (font_path): Search for *.pff files in
21316 a few more locations, including `${pkgdata}'.
21317
57e57e31 213182007-12-23 Robert Millan <rmh@aybabtu.com>
21319
21320 Patch from Bean <bean123ch@gmail.com>:
21321 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
21322 `size'.
21323
4bc72aa9 213242007-12-21 Bean <bean123ch@gmail.com>
21325
21326 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
21327 (ntfscomp_mod_SOURCES): New variable.
21328 (ntfscomp_mod_CFLAGS): Likewise.
21329 (ntfscomp_mod_LDFLAGS): Likewise.
21330
21331 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
21332 (grub_probe_SOURCES): Likewise.
21333 (grub_emu_SOURCES): Likewise.
21334
21335 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21336 (grub_emu_SOURCES): Likewise.
21337
21338 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21339 (grub_emu_SOURCES): Likewise.
21340
21341 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21342 (grub_emu_SOURCES): Likewise.
21343
21344 * fs/ntfs.c (grub_ntfscomp_func): New variable.
21345 (read_run_list): Renamed to grub_ntfs_read_run_list.
21346 (decomp_nextvcn): Moved to ntfscomp.c.
21347 (decomp_getch): Likewise.
21348 (decomp_get16): Likewise.
21349 (decomp_block): Likewise.
21350 (read_block): Likewise.
21351 (read_data): Partially moved to ntfscomp.c.
21352 (fixup): Change unsigned to grub_uint16_t.
21353 (read_mft): Change unsigned long to grub_uint32_t.
21354 (read_attr): Likewise.
21355 (read_data): Likewise.
21356 (read_run_data): Likewise.
21357 (read_run_list): Likewise.
21358 (read_mft): Likewise.
21359
21360 * fs/ntfscomp.c: New file.
21361
21362 * include/grub/ntfs.h: New file.
21363
af680a87 213642007-12-16 Robert Millan <rmh@aybabtu.com>
21365
21366 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
21367 IDE disk check, since Linux is known to support 20 IDE disks.
21368 Reported by Colin Watson.
21369
84be7599 213702007-12-15 Bean <bean123ch@gmail.com>
21371
21372 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
21373 (lnxboot_img_SOURCES): New variable.
21374 (lnxboot_img_ASFLAGS): Likewise.
21375 (lnxboot_img_LDFLAGS): Likewise.
21376
21377 * boot/i386/pc/lnxboot.S: New file.
21378
6af9db01 213792007-11-24 Pavel Roskin <proski@gnu.org>
21380
21381 * configure.ac: Test if '--build-id=none' is supported by the
21382 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
21383 objcopy to generate incorrect binary files (binutils
21384 2.17.50.0.18-1 as shipped by Fedora 8).
21385 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
21386 linking, so that build ID doesn't break the test.
21387
7361cfe6 213882007-11-24 Pavel Roskin <proski@gnu.org>
21389
21390 * include/grub/i386/time.h: use "void" in the argument list
21391 of grub_cpu_idle().
21392 * include/grub/powerpc/time.h: Likewise.
21393 * include/grub/sparc64/time.h: Likewise.
21394
1593e10c 213952007-11-18 Christian Franke <franke@computer.org>
21396
21397 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
21398 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
21399 This fixes the problem that function keys did not work in grub-emu.
21400
3b8db1a8 214012007-11-18 Christian Franke <franke@computer.org>
21402
21403 * disk/host.c (grub_host_open): Remove attribute unused from
21404 name parameter. Add check for "host". This fixes the problem
21405 that grub-emu does not find partitions.
21406
2e29408d 214072007-11-18 Christian Franke <franke@computer.org>
21408
21409 * util/hostfs.c (is_dir): New function.
21410 (grub_hostfs_dir): Handle missing dirent.d_type case.
21411 (grub_hostfs_read): Add missing fseek().
21412 (grub_hostfs_label): Clear label pointer. This fixes a crash
21413 of grub-emu on "ls (host)".
21414
398cd047 214152007-11-18 Christian Franke <franke@computer.org>
21416
21417 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21418 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21419 to 64 bit boundary by default.
21420
c405c391 214212007-11-18 Bean <bean123ch@gmail.com>
21422
21423 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21424 (hexdump_mod_SOURCES): New variable.
21425 (hexdump_mod_CFLAGS): Likewise.
21426 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 21427
c405c391 21428 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21429
21430 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21431
21432 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21433
21434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21435
21436 * include/grub/hexdump.h: New file.
21437
21438 * commands/hexdump.c: New file.
21439
5cced7fd 214402007-11-10 Robert Millan <rmh@aybabtu.com>
21441
21442 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21443 in grub_outb() calls.
21444 (beep_on): Likewise.
21445
8b714eb0 214462007-11-10 Christian Franke <franke@computer.org>
21447
21448 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21449 (grub_menu_run): Likewise.
21450
ce0f1839 214512007-11-10 Robert Millan <rmh@aybabtu.com>
21452
21453 * include/grub/i386/efi/machine.h: New file.
21454 * include/grub/i386/linuxbios/machine.h: Likewise.
21455 * include/grub/i386/pc/machine.h: Likewise.
21456 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21457 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21458
21459 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21460 (serial_hw_io_addr): New variable.
21461 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21462 instead of `(unsigned short *) 0x400'.
21463
270c237d 214642007-11-10 Bean <bean123ch@gmail.com>
21465
21466 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21467
a87783bf 214682007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21469
21470 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21471 (vga_mod_SOURCES): Added.
21472 (vga_mod_CFLAGS): Likewise.
21473 (vga_mod_LDFLAGS): Likewise.
21474
21475 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21476 grub_outb() calls.
21477 (set_map_mask): Likewise.
21478 (set_read_map): Likewise.
21479 (set_read_address): Likewise.
21480 (vga_font): Removed variable.
21481 (get_vga_glyph): Removed function.
21482 (invalidate_char): Likewise.
21483 (write_char): Changed to use grub_font_get_glyph() for font
21484 information.
21485 (grub_vga_putchar): Likewise.
21486 (grub_vga_getcharwidth): Likewise.
21487
6433b448 214882007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21489
21490 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21491 flags.
21492 (pxeboot_img_LDFLAGS): Likewise.
21493 (diskboot_img_LDFLAGS): Likewise.
21494 (kernel_img_LDFLAGS): Likewise.
21495
49178511 214962007-11-06 Robert Millan <rmh@aybabtu.com>
21497
21498 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21499 in grub_outb() calls.
21500 (serial_hw_init): Likewise.
21501
53b052de 215022007-11-05 Robert Millan <rmh@aybabtu.com>
21503
21504 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21505 spaces. Skip non-regular files.
21506
5ab33bba 215072007-11-05 Robert Millan <rmh@aybabtu.com>
21508
21509 * kern/disk.c (grub_disk_firmware_fini)
21510 (grub_disk_firmware_is_tainted): New variables.
21511
21512 * include/grub/disk.h (grub_disk_firmware_fini)
21513 (grub_disk_firmware_is_tainted): Likewise.
21514
21515 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21516 (grub_disk_biosdisk_fini): ... to here.
21517 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21518 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21519 is set. Register grub_disk_biosdisk_fini() in
21520 `grub_disk_firmware_fini'.
21521
21522 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21523 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21524 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21525 to finish existing firmware disk interface.
21526
21527 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21528 (ata_mod_SOURCES): New variable.
21529 (ata_mod_CFLAGS): Likewise.
21530 (ata_mod_LDFLAGS): Likewise.
21531
0149ab7c 215322007-11-05 Robert Millan <rmh@aybabtu.com>
21533
21534 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21535 (grub_ata_wait): Reimplement using grub_millisleep().
21536
21537 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21538 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21539
be7ac41e 215402007-11-03 Marco Gerards <marco@gnu.org>
21541
21542 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21543 (CRTC_ADDR_PORT): New macro.
21544 (CRTC_DATA_PORT): Likewise.
21545 (CRTC_CURSOR): Likewise.
21546 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21547 (CRTC_CURSOR_ADDR_LOW): Likewise.
21548 (update_cursor): New function.
21549 (grub_console_real_putchar): Call `update_cursor'.
21550 (grub_console_gotoxy): Likewise.
21551 (grub_console_cls): Set the default color when clearing the
21552 screen.
21553 (grub_console_setcursor): Implemented.
21554
bb06ab2e 215552007-11-03 Marco Gerards <marco@gnu.org>
21556
21557 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21558 become activate.
21559 (grub_ata_pio_write): Likewise.
21560
21561 (grub_atapi_identify): Wait after issuing an ATA command.
21562 (grub_atapi_packet): Likewise.
21563 (grub_ata_identify): Likewise.
21564 (grub_ata_readwrite): Likewise.
21565
cf8f780b 215662007-11-03 Marco Gerards <marco@gnu.org>
21567
21568 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21569 (grub_ata_pio_write): Likewise.
21570 (grub_ata_readwrite): Use `grub_error', instead of
21571 returning `grub_errno'.
21572
ed649e54 215732007-11-03 Marco Gerards <marco@gnu.org>
21574
21575 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21576 grub_ata_pio_write once for every single sector, instead of for
21577 multiple sectors.
21578
ca25d8f0 215792007-10-31 Robert Millan <rmh@aybabtu.com>
21580
21581 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21582
21583 * conf/i386-linuxbios.rmk: New file.
21584
21585 * kern/i386/pc/hardware.c: Likewise.
21586 * term/i386/pc/at_keyboard.c: Likewise.
21587 * term/i386/pc/vga_text.c: Likewise.
21588
21589 * include/grub/i386/linuxbios/boot.h: Likewise.
21590 * include/grub/i386/linuxbios/console.h: Likewise.
21591 * include/grub/i386/linuxbios/init.h: Likewise.
21592 * include/grub/i386/linuxbios/kernel.h: Likewise.
21593 * include/grub/i386/linuxbios/loader.h: Likewise.
21594 * include/grub/i386/linuxbios/memory.h: Likewise.
21595 * include/grub/i386/linuxbios/serial.h: Likewise.
21596 * include/grub/i386/linuxbios/time.h: Likewise.
21597
21598 * kern/i386/linuxbios/init.c: Likewise.
21599 * kern/i386/linuxbios/startup.S: Likewise.
21600 * kern/i386/linuxbios/table.c: Likewise.
21601
e911ecc1 216022007-10-31 Marco Gerards <marco@gnu.org>
21603
21604 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21605 (ata_mod_SOURCES): New variable.
21606 (ata_mod_CFLAGS): Likewise.
21607 (ata_mod_LDFLAGS): Likewise.
21608
21609 * disk/ata.c: New file.
21610
21611 * include/grub/disk.h (grub_disk_dev_id): Add
21612 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 21613
7f66d0e0 216142007-10-31 Robert Millan <rmh@aybabtu.com>
21615
21616 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21617 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21618
21619 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21620 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21621
21622 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21623 `<grub/types.h>'.
21624
21625 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21626
5cd7dd46 216272007-10-27 Robert Millan <rmh@aybabtu.com>
21628
3236ca65 21629 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 21630
2ebfc90f 216312007-10-22 Robert Millan <rmh@aybabtu.com>
21632
21633 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21634 `"../realmode.S"'.
21635 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21636
73fcb0f3 216372007-10-22 Robert Millan <rmh@aybabtu.com>
21638
21639 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21640 (pkgdata_MODULES): Add `biosdisk.mod'.
21641 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21642 variables.
21643
21644 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21645 (grub_biosdisk_init): Replace with ...
21646 (GRUB_MOD_INIT(biosdisk)): ... this.
21647 (grub_biosdisk_fini): Replace with ...
21648 (GRUB_MOD_FINI(biosdisk)): ... this.
21649
21650 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21651 (grub_machine_init): Remove call to grub_biosdisk_init().
21652 (grub_machine_fini): Remove call to grub_machine_fini().
21653
21654 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21655
3381d274 216562007-10-22 Robert Millan <rmh@aybabtu.com>
21657
21658 * include/grub/time.h: New file.
21659 * include/grub/i386/time.h: Likewise.
21660 * include/grub/powerpc/time.h: Likewise.
21661 * include/grub/sparc64/time.h: Likewise.
21662
21663 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21664 instances to ...
21665 (KERNEL_MACHINE_TIME_HEADER): ... this.
21666 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21667 instances to ...
21668 (KERNEL_MACHINE_TIME_HEADER): ... this.
21669 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21670 instances to ...
21671 (KERNEL_MACHINE_TIME_HEADER): ... this.
21672
21673 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21674 (grub_millisleep): New function.
21675 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21676 (grub_millisleep): New function.
21677 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21678 Remove `grub/machine/time.h' include.
21679 (grub_millisleep): New function.
21680 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21681 Remove `grub/machine/time.h' include.
21682 (grub_millisleep): New function.
21683
21684 * include/grub/misc.h (grub_div_roundup): New function.
21685
21686 * kern/misc.c: Include `<grub/time.h>'.
21687 (grub_millisleep_generic): New function.
21688
21689 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21690 Add `time.h'.
21691 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21692 Add `time.h'.
21693 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21694 `machine/time.h'. Add `time.h'.
21695 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21696
a39a0312 216972007-10-21 Robert Millan <rmh@aybabtu.com>
21698
21699 * include/grub/misc.h (grub_max): New function.
21700
2aad70e2 217012007-10-21 Robert Millan <rmh@aybabtu.com>
21702
21703 * util/misc.c (grub_util_info): Call fflush() before returning.
21704
54b71c4b 217052007-10-20 Robert Millan <rmh@aybabtu.com>
21706
21707 * genmk.rb (Image): Copy `extra_flags' from here ...
21708 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21709
21710 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21711 to `argc' and `args' arguments.
21712
a979f513 217132007-10-17 Robert Millan <rmh@aybabtu.com>
21714
21715 * kern/i386/loader.S: New file.
21716
21717 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21718 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21719 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21720 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21721 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21722 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21723 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21724 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21725 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21726 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21727 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21728 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21729 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21730 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21731
21732 * kern/i386/realmode.S: New file.
21733
21734 * kern/i386/pc/startup.S (protstack): Moved from here ...
21735 * kern/i386/realmode.S (protstack)... to here.
21736 * kern/i386/pc/startup.S (gdt): Moved from here ...
21737 * kern/i386/realmode.S (gdt)... to here.
21738 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21739 * kern/i386/realmode.S (prot_to_real)... to here.
21740
21741 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21742 `kern/i386/realmode.S'.
21743
825fc8fd 217442007-10-17 Robert Millan <rmh@aybabtu.com>
21745
21746 * include/grub/i386/loader.h: New file.
21747
21748 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21749 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21750 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21751 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21752 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21753 * include/grub/i386/loader.h (grub_linux_prot_size)
21754 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21755 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21756 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21757 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21758
21759 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21760
e179b2f4 217612007-10-15 Robert Millan <rmh@aybabtu.com>
21762
21763 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21764 filesystem when dev->disk is unset.
21765 Do probe for filesystem even when dev->disk->has_partitions is set.
21766 In case a filesystem is found, always report it.
21767 In case it isn't, if dev->disk->has_partitions is set, report that
21768 a partition table was found instead of reporting that no filesystem
21769 could be identified.
21770
5db82af6 217712007-10-12 Robert Millan <rmh@aybabtu.com>
21772
21773 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21774 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21775
68f6ac74 21776 * include/grub/types.h (grub_host_to_target16): New macro.
21777 (grub_host_to_target32): Likewise.
21778 (grub_host_to_target64): Likewise.
21779 (grub_target_to_host16): Likewise.
21780 (grub_target_to_host32): Likewise.
21781 (grub_target_to_host64): Likewise.
5db82af6 21782
21783 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21784 Renamed from to ...
21785 (GRUB_MOD_ALIGN): ...this. Update all users.
21786
68f6ac74 21787 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21788 grub_host_to_target32.
21789 Replace grub_be_to_cpu32 with grub_target_to_host32.
21790 (load_modules): Likewise.
21791 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21792 Replace grub_be_to_cpu32 with grub_target_to_host32.
21793 Replace grub_cpu_to_be16 with grub_host_to_target16.
21794 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 21795
3cf497cc 217962007-10-12 Robert Millan <rmh@aybabtu.com>
21797
21798 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21799 * util/elf/grub-mkimage.c: ... here.
21800
21801 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21802 `util/powerpc/ieee1275/grub-mkimage.c'.
21803
c8cc3692 218042007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 21805
c8cc3692 21806 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21807 and make it easier to figure out.
21808 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21809 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21810 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21811 leave us with less than HEAP_MIN_SIZE total heap.
21812 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 21813
5c58b791 218142007-10-03 Robert Millan <rmh@aybabtu.com>
21815
21816 * include/grub/i386/io.h: New file.
21817 * commands/i386/pc/play.c (inb): Removed.
21818 (outb): Removed.
21819 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21820 with grub_outb().
afcd2ef8 21821 * term/i386/pc/serial.c (inb): Removed.
21822 (outb): Removed.
21823 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21824 with grub_outb().
21825 * term/i386/pc/vga.c (inb): Removed.
21826 (outb): Removed.
21827 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21828 with grub_outb().
5c58b791 21829
1a477ed6 218302007-10-02 Robert Millan <rmh@aybabtu.com>
21831
21832 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21834 Reported by Marcin Kurek.
21835
6b5d80fa 218362007-09-07 Robert Millan <rmh@aybabtu.com>
21837
21838 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21839 SmartFirmware version updates (as released by Sven Luther), and avoid
21840 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21841 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21842 known broken.
21843
5618afbf 218442007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21845
21846 From Hitoshi Ozeki:
21847 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21848 when merging two regions.
21849
6139dcd9 218502007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21851
508e39ee 21852 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21853 * normal/completion.c (grub_normal_do_completion): Likewise.
21854 Reported by Hitoshi Ozeki.
21855
218562007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21857
6139dcd9 21858 Do not use devices at boot in chainloading.
f19dbdb7 21859
6139dcd9 21860 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21861 (boot_part_addr): Likewise.
21862 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21863 with BOOT_DRIVE and BOOT_PART_ADDR.
21864 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21865 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21866
38da6516 218672007-08-29 Robert Millan <rmh@aybabtu.com>
21868
21869 Patch from Simon Peter <dn.tlp@gmx.net>:
21870 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21871 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21872 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21873 util/i386/pc/grub-setup.c_DEPENDENCIES.
21874 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21875 util/grub-probe.c_DEPENDENCIES.
21876 * conf/powerpc-ieee1275.rmk: Likewise.
21877
29d0928c 218782007-08-28 Robert Millan <rmh@aybabtu.com>
21879
21880 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21881 to tell grub-mkdevicemap how to name devices.
21882 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21883 feature).
21884
21885 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21886 util/i386/get_disk_name.c.
21887 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21888 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21889 util/ieee1275/get_disk_name.c.
21890
21891 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21892
21893 * DISTLIST: Add util/i386/get_disk_name.c and
21894 util/ieee1275/get_disk_name.c.
21895
21896 * util/grub-mkdevicemap.c: Replace device naming logic with
21897 grub_util_get_disk_name() calls.
21898
5a0d3cca 218992007-08-20 Robert Millan <rmh@aybabtu.com>
21900
21901 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21902 (so that it works for both plural and singular quantities).
21903
8b72db2f 219042007-08-05 Robert Millan <rmh@aybabtu.com>
21905
21906 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21907 so that [xz] isn't taken into account when determining order.
21908
352466bf 219092007-08-02 Marco Gerards <marco@gnu.org>
21910
21911 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21912 `include/multiboot2.h', `include/grub/elfload.h',
21913 `include/multiboot.h', `include/grub/multiboot.h',
21914 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21915 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21916 `kern/elf.c', `loader/multiboot_loader.c',
21917 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21918 `loader/i386/pc/multiboot2.c',
21919 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21920 `util/i386/pc/grub-mkrescue.in'. Remove
21921 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21922 `include/grub/i386/pc/util/biosdisk.h' and
21923 `include/grub/powerpc/ieee1275/multiboot.h'.
21924
8f096014 219252007-08-02 Bean <bean123ch@gmail.com>
21926
21927 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21928 (ntfs_mod_SOURCES): New variable.
21929 (ntfs_mod_CFLAGS): Likewise.
21930 (ntfs_mod_LDFLAGS): Likewise.
21931
21932 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21933 (grub_probe_SOURCES): Likewise.
21934 (grub_emu_SOURCES): Likewise.
21935
21936 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21937 (grub_emu_SOURCES): Likewise.
21938
21939 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21940 (grub_emu_SOURCES): Likewise.
f19dbdb7 21941
8f096014 21942 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21943
21944 * fs/ntfs.c: New file.
21945
9959f7db 219462007-08-02 Bean <bean123ch@gmail.com>
21947
21948 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21949
21950 * file.h (grub_file): Likewise.
21951
21952 * fshelp.h (grub_fshelp_read_file): Likewise.
21953
21954 * util/i386/pc/grub-setup.c (setup): Likewise.
21955 (save_first_sector): Likewise.
21956 (save_blocklists): Likewise.
f19dbdb7 21957
9959f7db 21958 * fs/affs.c (grub_affs_read_file): Likewise.
21959
21960 * fs/ext2.c (grub_ext2_read_file): Likewise.
21961
21962 * fs/fat.c (grub_fat_read_data): Likewise.
21963
21964 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21965
21966 * fs/hfs.c (grub_hfs_read_file): Likewise.
21967
21968 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21969
21970 * fs/jfs.c (grub_jfs_read_file): Likewise.
21971
21972 * fs/minix.c (grub_minix_read_file): Likewise.
21973
21974 * fs/sfs.c (grub_sfs_read_file): Likewise.
21975
21976 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 21977
9959f7db 21978 * fs/xfs.c (grub_xfs_read_file): Likewise.
21979
21980 * command/blocklist.c (read_blocklist): Likewise.
21981 (print_blocklist): Likewise.
21982
0a203f83 219832007-08-02 Marco Gerards <marco@gnu.org>
21984
21985 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21986 `util/hostfs.c'.
21987
21988 * disk/host.c: New file.
21989
21990 * util/hostfs.c: Likewise.
21991
21992 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21993 return `GRUB_ERR_BAD_FS'.
21994 * fs/sfs.c (grub_sfs_mount): Likewise.
21995 * fs/xfs.c (grub_xfs_mount): Likewise.
21996
21997 * include/grub/disk.h (enum grub_disk_dev_id): Add
21998 `GRUB_DISK_DEVICE_HOST_ID'.
21999
22000 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
22001
e5dfe777 220022007-07-24 Jerone Young <jerone@gmail.com>
22003
f19dbdb7 22004 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 22005 modules for compilation.
22006 * conf/powerpc-ieee1275.rmk: Likewise.
22007
22008 * include/multiboot.h: Move multiboot definitions to one file. Rename
22009 many definitions to not get grub specific.
22010 * include/multiboot2.h: Create header with multiboot 2 definitions.
22011 * include/grub/multiboot.h: Header for grub specific function
22012 prototypes and definitions.
22013 * include/grub/multiboot2.h: Likewise.
22014 * include/grub/multiboot_loader.h: Likewise.
22015 * include/grub/i386/pc/multiboot.h: Removed.
22016 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
22017
22018 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
22019 and 2 to allow for one multiboot and module commands.
22020 * loader/multiboot2.c: Add multiboot2 functionality.
22021 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
22022 and definition names.
22023 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
22024 2 functions.
22025 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
22026 ieee1275 specific multiboot2 code.
22027
22028 * kern/i386/pc/startup.S: Change headers and definition names for
22029 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
22030
daf0f0ba 220312007-07-22 Robert Millan <rmh@aybabtu.com>
22032
22033 * geninitheader.sh: Process file specified in first parameter rather
22034 than hardcoding grub_modules_init.lst.
fe6b695a 22035 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 22036 than hardcoding grub_modules_init.h.
22037
22038 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
22039 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
22040 grub_probe_init.[ch] and grub_setup_init.[ch].
22041
22042 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
22043 grub_modules_init.h with grub_emu_init.h.
22044 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
22045 grub_probe_init.[ch] files.
22046 * conf/i386-efi.rmk: Likewise.
22047 * conf/i386-pc.rmk: Likewise.
22048 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
22049 grub_setup_init.[ch] files.
22050
22051 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
22052 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
22053 to initialize modules rather than a list of hardcoded functions.
22054 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
22055 grub_init_all() to initialize modules rather than a list of hardcoded
22056 functions.
22057
54cdc1cc 220582007-07-22 Robert Millan <rmh@aybabtu.com>
22059
22060 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22061 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
22062
ad0686cc 220632007-07-22 Robert Millan <rmh@aybabtu.com>
22064
22065 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
22066 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
22067 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
22068 flag when running on SmartFirmware.
22069 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
22070 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
22071 was set.
22072
22073 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22074 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
22075 rather than decreasing it.
22076
22077 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
22078 there's not enough space to do it, fail in the same way as when it
22079 can't be done because there are no partitions.
22080
22081 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
22082 when nvsetenv failed.
22083
969c02ec 220842007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22085
22086 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
22087 because this rule is automatically generated.
22088 (grub-mkrescue): Removed for the same reason as above.
22089
5a79f472 220902007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22091
22092 Migrate to GNU General Public License Version 3.
f19dbdb7 22093
5a79f472 22094 * COPYING: Replaced with the plain text version of GPLv3.
22095
22096 * config.guess: Updated from gnulib.
22097 * config.sub: Likewise.
22098
22099 * geninit.sh: Output a GPLv3 copyright notice.
22100 * geninitheader.sh: Likewise.
22101 * genmodsrc.sh: Likewise.
22102 * gensymlist.sh.in: Likewise.
22103
22104 * boot/i386/pc/boot.S: Upgraded to GPLv3.
22105 * boot/i386/pc/diskboot.S: Likewise.
22106 * boot/i386/pc/pxeboot.S: Likewise.
22107 * commands/blocklist.c: Likewise.
22108 * commands/boot.c: Likewise.
22109 * commands/cat.c: Likewise.
22110 * commands/cmp.c: Likewise.
22111 * commands/configfile.c: Likewise.
22112 * commands/echo.c: Likewise.
22113 * commands/help.c: Likewise.
22114 * commands/ls.c: Likewise.
22115 * commands/search.c: Likewise.
22116 * commands/terminal.c: Likewise.
22117 * commands/test.c: Likewise.
22118 * commands/videotest.c: Likewise.
22119 * commands/i386/cpuid.c: Likewise.
22120 * commands/i386/pc/halt.c: Likewise.
22121 * commands/i386/pc/play.c: Likewise.
22122 * commands/i386/pc/reboot.c: Likewise.
22123 * commands/i386/pc/vbeinfo.c: Likewise.
22124 * commands/i386/pc/vbetest.c: Likewise.
22125 * commands/ieee1275/halt.c: Likewise.
22126 * commands/ieee1275/reboot.c: Likewise.
22127 * commands/ieee1275/suspend.c: Likewise.
22128 * disk/loopback.c: Likewise.
22129 * disk/lvm.c: Likewise.
22130 * disk/raid.c: Likewise.
22131 * disk/efi/efidisk.c: Likewise.
22132 * disk/i386/pc/biosdisk.c: Likewise.
22133 * disk/ieee1275/ofdisk.c: Likewise.
22134 * font/manager.c: Likewise.
22135 * fs/affs.c: Likewise.
22136 * fs/ext2.c: Likewise.
22137 * fs/fat.c: Likewise.
22138 * fs/fshelp.c: Likewise.
22139 * fs/hfs.c: Likewise.
22140 * fs/hfsplus.c: Likewise.
22141 * fs/iso9660.c: Likewise.
22142 * fs/jfs.c: Likewise.
22143 * fs/minix.c: Likewise.
22144 * fs/sfs.c: Likewise.
22145 * fs/ufs.c: Likewise.
22146 * fs/xfs.c: Likewise.
22147 * hello/hello.c: Likewise.
22148 * include/grub/acorn_filecore.h: Likewise.
22149 * include/grub/arg.h: Likewise.
22150 * include/grub/bitmap.h: Likewise.
22151 * include/grub/boot.h: Likewise.
22152 * include/grub/cache.h: Likewise.
22153 * include/grub/device.h: Likewise.
22154 * include/grub/disk.h: Likewise.
22155 * include/grub/dl.h: Likewise.
22156 * include/grub/elfload.h: Likewise.
22157 * include/grub/env.h: Likewise.
22158 * include/grub/err.h: Likewise.
22159 * include/grub/file.h: Likewise.
22160 * include/grub/font.h: Likewise.
22161 * include/grub/fs.h: Likewise.
22162 * include/grub/fshelp.h: Likewise.
22163 * include/grub/gzio.h: Likewise.
22164 * include/grub/hfs.h: Likewise.
22165 * include/grub/kernel.h: Likewise.
22166 * include/grub/loader.h: Likewise.
22167 * include/grub/lvm.h: Likewise.
22168 * include/grub/misc.h: Likewise.
22169 * include/grub/mm.h: Likewise.
22170 * include/grub/net.h: Likewise.
22171 * include/grub/normal.h: Likewise.
22172 * include/grub/parser.h: Likewise.
22173 * include/grub/partition.h: Likewise.
22174 * include/grub/pc_partition.h: Likewise.
22175 * include/grub/raid.h: Likewise.
22176 * include/grub/rescue.h: Likewise.
22177 * include/grub/script.h: Likewise.
22178 * include/grub/setjmp.h: Likewise.
22179 * include/grub/symbol.h: Likewise.
22180 * include/grub/term.h: Likewise.
22181 * include/grub/terminfo.h: Likewise.
22182 * include/grub/tparm.h: Likewise.
22183 * include/grub/types.h: Likewise.
22184 * include/grub/video.h: Likewise.
22185 * include/grub/efi/api.h: Likewise.
22186 * include/grub/efi/chainloader.h: Likewise.
22187 * include/grub/efi/console.h: Likewise.
22188 * include/grub/efi/console_control.h: Likewise.
22189 * include/grub/efi/disk.h: Likewise.
22190 * include/grub/efi/efi.h: Likewise.
22191 * include/grub/efi/pe32.h: Likewise.
22192 * include/grub/efi/time.h: Likewise.
22193 * include/grub/i386/linux.h: Likewise.
22194 * include/grub/i386/setjmp.h: Likewise.
22195 * include/grub/i386/types.h: Likewise.
22196 * include/grub/i386/efi/kernel.h: Likewise.
22197 * include/grub/i386/efi/loader.h: Likewise.
22198 * include/grub/i386/efi/time.h: Likewise.
22199 * include/grub/i386/pc/biosdisk.h: Likewise.
22200 * include/grub/i386/pc/boot.h: Likewise.
22201 * include/grub/i386/pc/chainloader.h: Likewise.
22202 * include/grub/i386/pc/console.h: Likewise.
22203 * include/grub/i386/pc/init.h: Likewise.
22204 * include/grub/i386/pc/kernel.h: Likewise.
22205 * include/grub/i386/pc/loader.h: Likewise.
22206 * include/grub/i386/pc/memory.h: Likewise.
22207 * include/grub/i386/pc/multiboot.h: Likewise.
22208 * include/grub/i386/pc/serial.h: Likewise.
22209 * include/grub/i386/pc/time.h: Likewise.
22210 * include/grub/i386/pc/vbe.h: Likewise.
22211 * include/grub/i386/pc/vbeblit.h: Likewise.
22212 * include/grub/i386/pc/vbefill.h: Likewise.
22213 * include/grub/i386/pc/vbeutil.h: Likewise.
22214 * include/grub/i386/pc/vga.h: Likewise.
22215 * include/grub/ieee1275/ieee1275.h: Likewise.
22216 * include/grub/ieee1275/ofdisk.h: Likewise.
22217 * include/grub/powerpc/libgcc.h: Likewise.
22218 * include/grub/powerpc/setjmp.h: Likewise.
22219 * include/grub/powerpc/types.h: Likewise.
22220 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
22221 * include/grub/powerpc/ieee1275/console.h: Likewise.
22222 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
22223 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22224 * include/grub/powerpc/ieee1275/loader.h: Likewise.
22225 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
22226 * include/grub/powerpc/ieee1275/time.h: Likewise.
22227 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
22228 * include/grub/sparc64/libgcc.h: Likewise.
22229 * include/grub/sparc64/setjmp.h: Likewise.
22230 * include/grub/sparc64/types.h: Likewise.
22231 * include/grub/sparc64/ieee1275/console.h: Likewise.
22232 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22233 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22234 * include/grub/sparc64/ieee1275/time.h: Likewise.
22235 * include/grub/util/biosdisk.h: Likewise.
22236 * include/grub/util/getroot.h: Likewise.
22237 * include/grub/util/lvm.h: Likewise.
22238 * include/grub/util/misc.h: Likewise.
22239 * include/grub/util/raid.h: Likewise.
22240 * include/grub/util/resolve.h: Likewise.
22241 * io/gzio.c: Likewise.
22242 * kern/device.c: Likewise.
22243 * kern/disk.c: Likewise.
22244 * kern/dl.c: Likewise.
22245 * kern/elf.c: Likewise.
22246 * kern/env.c: Likewise.
22247 * kern/err.c: Likewise.
22248 * kern/file.c: Likewise.
22249 * kern/fs.c: Likewise.
22250 * kern/loader.c: Likewise.
22251 * kern/main.c: Likewise.
22252 * kern/misc.c: Likewise.
22253 * kern/mm.c: Likewise.
22254 * kern/parser.c: Likewise.
22255 * kern/partition.c: Likewise.
22256 * kern/rescue.c: Likewise.
22257 * kern/term.c: Likewise.
22258 * kern/efi/efi.c: Likewise.
22259 * kern/efi/init.c: Likewise.
22260 * kern/efi/mm.c: Likewise.
22261 * kern/i386/dl.c: Likewise.
22262 * kern/i386/efi/init.c: Likewise.
22263 * kern/i386/efi/startup.S: Likewise.
22264 * kern/i386/pc/init.c: Likewise.
22265 * kern/i386/pc/lzo1x.S: Likewise.
22266 * kern/i386/pc/startup.S: Likewise.
22267 * kern/ieee1275/ieee1275.c: Likewise.
22268 * kern/powerpc/cache.S: Likewise.
22269 * kern/powerpc/dl.c: Likewise.
22270 * kern/powerpc/ieee1275/cmain.c: Likewise.
22271 * kern/powerpc/ieee1275/crt0.S: Likewise.
22272 * kern/powerpc/ieee1275/init.c: Likewise.
22273 * kern/powerpc/ieee1275/openfw.c: Likewise.
22274 * kern/sparc64/cache.S: Likewise.
22275 * kern/sparc64/dl.c: Likewise.
22276 * kern/sparc64/ieee1275/init.c: Likewise.
22277 * kern/sparc64/ieee1275/openfw.c: Likewise.
22278 * loader/efi/chainloader.c: Likewise.
22279 * loader/efi/chainloader_normal.c: Likewise.
22280 * loader/i386/efi/linux.c: Likewise.
22281 * loader/i386/efi/linux_normal.c: Likewise.
22282 * loader/i386/pc/chainloader.c: Likewise.
22283 * loader/i386/pc/chainloader_normal.c: Likewise.
22284 * loader/i386/pc/linux.c: Likewise.
22285 * loader/i386/pc/linux_normal.c: Likewise.
22286 * loader/i386/pc/multiboot.c: Likewise.
22287 * loader/i386/pc/multiboot_normal.c: Likewise.
22288 * loader/powerpc/ieee1275/linux.c: Likewise.
22289 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22290 * normal/arg.c: Likewise.
22291 * normal/cmdline.c: Likewise.
22292 * normal/command.c: Likewise.
22293 * normal/completion.c: Likewise.
22294 * normal/execute.c: Likewise.
22295 * normal/function.c: Likewise.
22296 * normal/lexer.c: Likewise.
22297 * normal/main.c: Likewise.
22298 * normal/menu.c: Likewise.
22299 * normal/menu_entry.c: Likewise.
22300 * normal/misc.c: Likewise.
22301 * normal/parser.y: Likewise.
22302 * normal/script.c: Likewise.
22303 * normal/i386/setjmp.S: Likewise.
22304 * normal/powerpc/setjmp.S: Likewise.
22305 * normal/sparc64/setjmp.S: Likewise.
22306 * partmap/acorn.c: Likewise.
22307 * partmap/amiga.c: Likewise.
22308 * partmap/apple.c: Likewise.
22309 * partmap/gpt.c: Likewise.
22310 * partmap/pc.c: Likewise.
22311 * partmap/sun.c: Likewise.
22312 * term/gfxterm.c: Likewise.
22313 * term/terminfo.c: Likewise.
22314 * term/efi/console.c: Likewise.
22315 * term/i386/pc/console.c: Likewise.
22316 * term/i386/pc/serial.c: Likewise.
22317 * term/i386/pc/vesafb.c: Likewise.
22318 * term/i386/pc/vga.c: Likewise.
22319 * term/ieee1275/ofconsole.c: Likewise.
22320 * util/biosdisk.c: Likewise.
22321 * util/console.c: Likewise.
22322 * util/genmoddep.c: Likewise.
22323 * util/getroot.c: Likewise.
22324 * util/grub-emu.c: Likewise.
22325 * util/grub-mkdevicemap.c: Likewise.
22326 * util/grub-probe.c: Likewise.
22327 * util/lvm.c: Likewise.
22328 * util/misc.c: Likewise.
22329 * util/raid.c: Likewise.
22330 * util/resolve.c: Likewise.
22331 * util/update-grub.in: Likewise.
22332 * util/update-grub_lib.in: Likewise.
22333 * util/grub.d/00_header.in: Likewise.
22334 * util/grub.d/10_hurd.in: Likewise.
22335 * util/grub.d/10_linux.in: Likewise.
22336 * util/i386/efi/grub-install.in: Likewise.
22337 * util/i386/efi/grub-mkimage.c: Likewise.
22338 * util/i386/pc/grub-install.in: Likewise.
22339 * util/i386/pc/grub-mkimage.c: Likewise.
22340 * util/i386/pc/grub-mkrescue.in: Likewise.
22341 * util/i386/pc/grub-setup.c: Likewise.
22342 * util/i386/pc/misc.c: Likewise.
22343 * util/powerpc/ieee1275/grub-install.in: Likewise.
22344 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
22345 * util/powerpc/ieee1275/misc.c: Likewise.
22346 * video/bitmap.c: Likewise.
22347 * video/video.c: Likewise.
22348 * video/i386/pc/vbe.c: Likewise.
22349 * video/i386/pc/vbeblit.c: Likewise.
22350 * video/i386/pc/vbefill.c: Likewise.
22351 * video/i386/pc/vbeutil.c: Likewise.
22352 * video/readers/tga.c: Likewise.
22353
3572d015 223542007-07-02 Robert Millan <rmh@aybabtu.com>
22355
22356 * conf/i386-efi.rmk: Replace obsolete reference to
22357 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
22358 with util/getroot.c.
22359 * conf/powerpc-ieee1275.rmk: Likewise.
22360 * conf/sparc64-ieee1275.rmk: Likewise.
22361
22362 * util/grub-emu.c (main): Fix unchecked pointer handling.
22363
2c2a681b 223642007-07-02 Robert Millan <rmh@aybabtu.com>
22365
22366 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
22367 invocation to fail, in order to support partition-less media.
22368
22369 * util/i386/pc/grub-install.in: Likewise.
22370
22371 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
22372 which fs or partmap modules are needed (akin to its sister scripts).
22373
22374 Also use grub-probe to get rid of unportable /proc/mounts check.
22375
22376 Print the same informational message that the other scripts do, before
fe6b695a 22377 exiting.
2c2a681b 22378
6193defe 223792007-06-23 Robert Millan <rmh@aybabtu.com>
22380
fe6b695a 22381 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 22382 a font file can be found and, if so, echo the GRUB path to it.
22383
22384 * util/update-grub.in: Handle multiple terminals depending on user
22385 input, platform availability and font file presence. Propagate
22386 variables of our findings to /etc/grub.d/ children.
22387
22388 * util/grub.d/00_header.in: Handle multiple terminals, based on
22389 environment setup by update-grub.
22390
eface1dc 223912007-06-23 Robert Millan <rmh@aybabtu.com>
22392
ba50d28f 22393 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 22394
bf697e28 223952007-06-21 Robert Millan <rmh@aybabtu.com>
22396
22397 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
22398 indicate end of data section in kernel image.
22399 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
22400 GRUB_KERNEL_MACHINE_DATA_END.
22401
22402 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
22403 space for it.
22404 * kern/i386/efi/startup.S: Likewise.
22405
22406 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22407 during image generation. Implement --prefix option to override this
22408 patch.
22409 * util/i386/efi/grub-mkimage.c: Likewise.
22410
22411 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22412 code to make path relative to its root into a separate function.
22413
22414 * util/i386/pc/grub-install.in: Use newly provided
22415 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22416 pass the result to grub-install --prefix.
22417
baa574b4 224182007-06-13 Robert Millan <rmh@aybabtu.com>
22419
22420 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22421 DEFAULT_DEVICE_MAP.
22422 * util/grub-emu.c: Use above definitions from misc.h instead of
22423 defining them.
22424 * util/grub-mkdevicemap.c: Likewise.
22425 * util/i386/pc/grub-setup.c: Likewise.
22426 * util/grub-probe.c: Likewise.
22427 (probe): Abort with grub_util_error() when either
22428 grub_guess_root_device or grub_util_get_grub_dev fails.
22429
0215dcbf 224302007-06-12 Robert Millan <rmh@aybabtu.com>
22431
22432 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22433 "pager" assignment.
22434 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22435 "pcdata".
22436 * util/grub-probe.c (probe): Likewise for "drive_name".
22437
8af2ab7b 224382007-06-11 Robert Millan <rmh@aybabtu.com>
22439
22440 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22441 not just the cdrom one.
22442
59d31694 224432007-06-11 Robert Millan <rmh@aybabtu.com>
22444
22445 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22446 Add --pkglibdir=DIR option to override pkglibdir.
22447 Mention --image-type=TYPE in help output.
22448 Fix --grub-mkimage (it was a no-op).
fe6b695a 22449 Abort gracefully when no parameter is given.
59d31694 22450
7ee367e4 224512007-06-11 Robert Millan <rmh@aybabtu.com>
22452
22453 * util/i386/pc/grub-mkrescue.in: New file.
22454 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22455 * Makefile.in: Handle bin_SCRIPTS.
22456
29b0ed46 224572007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22458
22459 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22460 list of video modes.
22461
c0f90770 224622007-06-06 Robert Millan <rmh@aybabtu.com>
22463
22464 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22465 file doesn't exist, or if it is in a filesystem grub can't read.
22466
22467 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22468 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22469 header comment to fit in 80 columns when the variables are resolved.
22470
22471 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22472 could be identified by update-grub. Remove redundant check for
fe6b695a 22473 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 22474 handles that).
22475
fb36dc26 224762007-06-04 Robert Millan <rmh@aybabtu.com>
22477
22478 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22479
22480 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22481
22482 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22483
0c68c93e 224842007-06-04 Robert Millan <rmh@aybabtu.com>
22485
22486 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22487
22488 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22489 grub_apple_partition_map_fini.
22490
22491 * util/biosdisk.c
22492 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22493 to access >2 TiB disks).
22494
22495 Print disk->total_sectors with %llu instead of %lu, since this
22496 variable is always 64-bit (prevents wrong disk size from being displayed
22497 on either >2 TiB disk or big-endian CPU).
22498
22499 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22500 into a generic case that supports all (sane) partition maps.
22501
22502 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22503 breaks big-endian.
22504
22505 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22506 and grub_apple_partition_map_fini() after that.
22507
0f23eb74 225082007-06-01 Robert Millan <rmh@aybabtu.com>
22509
22510 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22511
22512 * util/grub.d/00_header.in: Only enable gfxterm when
22513 convert_system_path_to_grub_path() succeeds.
22514
42c71976 225152007-05-20 Robert Millan <rmh@aybabtu.com>
22516
22517 * util/update-grub_lib.in: New file.
22518 * DISTLIST: Add update-grub_lib.in.
22519 * conf/common.rmk: Generate update-grub_lib and install it in
22520 $(lib_DATA).
22521 * Makefile.in: Add install routine for $(lib_DATA).
22522
22523 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22524 function provided by update-grub_lib to support arbitrary paths of
22525 unifont.pff.
22526 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22527 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22528
5beb2291 225292007-05-19 Robert Millan <rmh@aybabtu.com>
22530
22531 * commands/i386/cpuid.c: New module.
22532 * DISTLIST: Add it.
22533 * conf/i386-efi.rmk: Enable cpuid.mod.
22534 * conf/i386-pc.rmk: Likewise.
22535
7262eca1 225362007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22537
22538 * kern/disk.c (grub_disk_read): Check return value of
22539 grub_realloc().
22540
260ba823 225412007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22542
22543 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22544 arrays.
22545 * disk/raid.c (grub_raid_open): Likewise.
22546
1ecb6cf2 225472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22548
22549 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22550 stack instead of on the heap.
22551
22552 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22553 before doing a read on it.
22554
22555 * configure.ac: Only use -fno-stack-protector for the target
22556 environment.
f19dbdb7 22557
21c8cbb1 225582007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22559
22560 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22561 __attribute_ ((unused)) to mode_type argument.
22562
22563 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 22564
21c8cbb1 22565 * kern/misc.c (memcmp): Fix prototype.
22566
22567 * include/grub/partition.h [GRUB_UTIL]
22568 (grub_gpt_partition_map_init): Add prototype.
22569 (grub_gpt_partition_map_fini): Likewise.
22570
22571 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22572 at the right place.
22573
22574 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22575 (grub_fat_read_data): Likewise.
22576 (grub_fat_find_dir): Likewise.
22577
22578 * font/manager.c (find_glyph): Make table a const.
22579 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 22580
849d55d3 225812007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22582
22583 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22584 code, first search for device in /dev/mapper, then in /dev.
22585 (grub_util_get_grub_dev): New function.
22586 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22587 prototype.
22588 * util/grub-probe.c (probe): Remove check for RAID, call
22589 grub_util_get_grub_dev() instead of
22590 grub_util_biosdisk_get_grub_dev().
22591 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22592 grub_util_biosdisk_get_grub_dev().
22593 * util/i386/pc/grub-setup.c (main): Likewise.
22594
8fff7c2f 225952007-05-16 Robert Millan <rmh@aybabtu.com>
22596
22597 * DISTLIST: Update for the latest changes.
22598 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22599 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22600 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22601 grub/util/biosdisk.h.
22602 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22603 grub/util/biosdisk.h.
22604
48e12b52 226052007-05-16 Robert Millan <rmh@aybabtu.com>
22606
22607 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22608
46b9d128 226092007-05-16 Robert Millan <rmh@aybabtu.com>
22610
22611 * util/i386/efi/grub-install.in: New.
22612 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22613 newly added grub-install.
22614 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22615 include.
22616 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22617 grub/util/biosdisk.h.
22618 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22619 grub/util/biosdisk.h.
22620
2d1a40a9 226212007-05-16 Robert Millan <rmh@aybabtu.com>
22622
22623 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22624 * include/grub/util/biosdisk.h: ... here.
22625 * util/i386/pc/biosdisk.c: Moved to ...
22626 * util/biosdisk.c: ... here.
22627 * util/i386/pc/getroot.c: Moved to ...
22628 * util/getroot.c: ... here.
22629 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22630 * util/grub-mkdevicemap.c: ... here.
22631 * util/i386/pc/grub-probe.c: Moved to ...
22632 * util/grub-probe.c: ... here.
22633
9e26e3bc 226342007-05-15 Robert Millan <rmh@aybabtu.com>
22635
22636 * util/update-grub.in: Remove duplicated line in grub.cfg header
22637 message.
22638
57f96397 226392007-05-13 Robert Millan <rmh@aybabtu.com>
22640
22641 * util/update-grub.in: Fix a few assumptions about the devices holding
22642 /, /boot and /boot/grub being the same.
22643 * util/grub.d/00_header.in: Likewise.
22644 * util/grub.d/10_hurd.in: Likewise.
22645 * util/grub.d/10_linux.in: Likewise.
22646
22647 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22648 patterns. Use that to define the `.old' suffix as older than `'.
22649
22650 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22651
22652 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22653 the grub.cfg header message.
22654
2e610d62 226552007-05-11 Robert Millan <rmh@aybabtu.com>
22656
22657 * util/update-grub.in: Create device.map if it doesn't already exist,
22658 before attempting to run grub-probe.
22659 Check for grub-probe and grub-mkdevicemap with the same code
22660 grub-install is using.
22661 Remove test mode.
22662
3f6a10ef 226632007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22664
22665 * Makefile.in: Add the datarootdir autoconf variable.
22666
02e7b75e 226672007-05-09 Robert Millan <rmh@aybabtu.com>
22668
22669 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 22670 fail gracefully if dev->disk->partition == NULL.
02e7b75e 22671
75f396cc 226722007-05-07 Robert Millan <rmh@aybabtu.com>
22673
22674 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22675 determine partition map module.
22676 * util/i386/pc/grub-install.in: Use this feature to decide which
22677 partition module to load, instead of hardcoding pc and gpt.
22678
da65cb36 226792007-05-07 Robert Millan <rmh@aybabtu.com>
22680
22681 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22682 source directory differs from build directory.
22683
b57d6a91 226842007-05-05 Robert Millan <rmh@aybabtu.com>
22685
22686 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22687 initialisation.
22688
509d00f1 226892007-05-05 Robert Millan <rmh@aybabtu.com>
22690
22691 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22692
c48f23ef 226932007-05-05 Robert Millan <rmh@aybabtu.com>
22694
22695 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22696 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22697
20b97658 226982007-05-05 Robert Millan <rmh@aybabtu.com>
22699
22700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22701 (grub_probe_SOURCES): Likewise.
22702 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22703 GPT and initialize dos_part and bsd_part accordingly.
22704 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22705 install_bsd_part.
22706 (main): Activate gpt module for use during partition identification,
22707 and deactivate it afterwards.
22708 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22709 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22710 partition identification, and deactivate it afterwards.
22711
99123174 227122007-05-05 Robert Millan <rmh@aybabtu.com>
22713
22714 * term/i386/pc/console.c (grub_console_fini): Call
22715 grub_term_set_current() before grub_term_unregister().
22716
ebd97f6e 227172007-05-04 Robert Millan <rmh@aybabtu.com>
22718
22719 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22720 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22721 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22722 and update-grub_DATA.
22723 * conf/common.rmk: Build and install update-grub components.
22724 * conf/common.mk: Regenerate.
22725 * util/update-grub.in: New. Core of update-grub.
22726 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22727 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22728 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22729 * util/grub.d/README: New. Document grub.d directory layout.
22730
b06a264d 227312007-05-01 Robert Millan <rmh@aybabtu.com>
22732
22733 * util/grub-emu.c: Move initialization functions
22734 grub_util_biosdisk_init() and grub_init_all() before
22735 grub_util_biosdisk_get_grub_dev(), which relies on them.
22736
41f0050e 227372007-04-19 Robert Millan <rmh@aybabtu.com>
22738
22739 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22740 it is used later.
22741
04582bb3 227422007-04-18 Jerone Young <jerone@gmail.com>
22743
f19dbdb7 22744 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 22745 stanza.
22746
08db4632 227472007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 22748
08db4632 22749 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22750 continue on and look for device node with real device name.
22751
801b76be 227522007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 22753
fe6b695a 22754 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 22755 ability.
22756 * Makefile.in: Add autoconf package transformation code.
22757 * util/i386/pc/grub-install.in: Likewise.
22758 * util/powerpc/ieee1275/grub-install.in: Likewise.
22759
6795c4e1 227602007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22761
22762 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22763 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22764 (EXT2_REVISION): Likewise.
22765 (EXT2_INODE_SIZE): Likewise.
22766 (struct grub_ext2_block_group): Added a missing member
22767 "used_dirs".
22768 (grub_ext2_read_inode): Divide by the inode size in a superblock
22769 instead of 128 to obtain INODES_PER_BLOCK.
22770 Use the macro EXT2_INODE_SIZE instead of directly using
22771 SBLOCK->INODE_SIZE.
22772
d70af616 227732007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22774
22775 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22776 superblock instead of the structure size to compute an
22777 offset. This fixes the problem that GRUB could not read a
22778 filesystem when inode size is different from 128-byte.
22779
3b801603 227802007-03-05 Marco Gerards <marco@gnu.org>
22781
22782 * normal/main.c (read_config_file): When "menu" is not set, create
22783 an initial context.
22784
4785bfe4 227852007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22786
22787 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22788 (HEAP_LIMIT): New macro.
22789 (grub_claim_heap): Claim memory up to `heaplimit'.
22790
a0cbb023 227912007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22792
22793 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22794 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22795 (_start): Likewise.
22796 (grub_arch_modules_addr): Return address after `_end'.
22797 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22798 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22799 (add_segments): Calculate `_end' from phdr size and location.
22800 (ALIGN_UP): Moved to ...
22801 * include/grub/misc.h: here.
22802 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22803 New macro.
22804 (GRUB_IEEE1275_MODULE_BASE): Removed.
22805
fd7d8eba 228062007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22807
22808 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22809 loop boundary.
22810
9b09e6fc 228112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22812
22813 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22814 All users updated.
22815 (grub_elf64_load_hook_t): Likewise.
22816 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22817 debug output.
22818
3ce27299 228192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22820
22821 * kern/mm.c: Update copyright.
22822 (grub_mm_debug): Correct syntax error.
22823 (grub_mm_dump_free): New function.
22824 (grub_debug_free): Call `grub_free'.
22825 * include/grub/mm.h: Update copyright.
22826 (grub_mm_dump_free): Add declaration.
22827
077d5fee 228282007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22829
22830 * include/grub/ieee1275/ieee1275.h: Update copyright.
22831 * kern/powerpc/ieee1275/init.c: Likewise.
22832 * kern/powerpc/ieee1275/openfw.c: Likewise.
22833
22834 * loader/powerpc/ieee1275/linux.c: Likewise.
22835 * include/grub/elfload.h: Likewise.
22836 * kern/elf.c: Likewise.
22837 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22838 callers.
22839 (grub_elf64_load): Likewise.
22840 (grub_elf32_load_segment): Move to a nested function.
22841 (grub_elf64_load_segment): Likewise.
22842
dc946850 228432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22844
22845 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22846 prototype.
22847 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22848 (grub_heap_len): Likewise.
22849 (HEAP_SIZE): New macro.
22850 (grub_claim_heap): New function.
22851 (grub_machine_init): Don't claim heap directly. Call
22852 `grub_claim_heap'.
22853 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22854 (grub_available_iterate): New function.
22855
baa2a121 228562007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22857
22858 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22859 * configure.ac: Use it for testing the HOST and TARGET compilers.
22860
4fe9862e 228612006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22862
22863 * Makefile.in (enable_grub_emu): New variable.
22864 * configure.ac (--enable-grub-emu): New option.
22865 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22866 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22867 * conf/i386-pc.rmk: Likewise.
22868 * conf/powerpc-ieee1275.rmk: Likewise.
22869 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22870
a8aa5762 228712006-12-12 Marco Gerards <marco@gnu.org>
22872
22873 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22874
22875 * kern/env.c (grub_env_unset): Don't free the member `value' when
22876 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22877 pointer.
22878
22879 * normal/main.c (current_menu): Removed.
22880 (free_menu): Unset the `menu' environment variable.
22881 (grub_normal_menu_addentry): Make use of the environment variable
22882 `menu', instead of using the global `current_menu'. Allocate
22883 memory for the sourcecode of this entry.
22884 (read_config_file): New argument `nested', changed all callers.
22885 Only in the case of a new context, initialize a new menu. Set the
22886 `menu' environment variable.
22887 (grub_normal_execute): Don't set and unset the environment
22888 variable `menu' here anymore. Only free the menu when leaving the
22889 context.
22890
22891 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22892 leak.
22893
957b3a3e 228942006-12-11 Marco Gerards <marco@gnu.org>
22895
22896 * normal/menu_entry.c (run): Fix off by one bug so the last line
22897 is executed. Move the loader check to outside the loop.
22898
ef875714 228992006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22900
22901 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22902
4e739985 229032006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22904
22905 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22906 the number of sectors. Reported by Andrey Shuvikov
22907 <mr_hyro@yahoo.com>.
f19dbdb7 22908
790707f2 229092006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22910
22911 * kern/disk.c (grub_disk_read): When there is a read error, always
22912 try to read only the necessary data.
f19dbdb7 22913
790707f2 22914 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22915 disk/raid.c.
22916 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22917 prototype.
22918 [GRUB_UTIL] (grub_raid_fini): Likewise.
22919 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 22920 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 22921 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22922 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22923 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22924 and grub_raid_fini().
f19dbdb7 22925
03e58196 229262006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22927
22928 * include/grub/types.h (__unused): Rename to UNUSED.
22929 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22930 (grub_elf64_size): Likewise.
f19dbdb7 22931
ae4f23bf 229322006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22933
22934 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22935 grub_error_push and grub_error_pop in the error-handling path.
22936 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22937 length.
22938
2166cc83 229392006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22940
22941 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22942 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22944 (kernel_elf_SOURCES): Likewise.
22945 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22946 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22947 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22948 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22949 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22950 (elf_mod_SOURCES): New variable.
22951 (elf_mod_CFLAGS): Likewise.
22952 (elf_mod_LDFLAGS): Likewise.
22953 * include/grub/types.h (__unused): New macro.
22954 * include/grub/elfload.h: New file.
22955 * kern/elf.c: Likewise.
22956 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22957 (ELF32_LOADMASK): New macro.
22958 (ELF64_LOADMASK): Likewise.
22959 (vmlinux): Removed.
22960 (grub_linux_load32): New function.
22961 (grub_linux_load64): Likewise.
22962 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22963 Use grub_elf_t instead of grub_file_t.
22964
a09d5aa5 229652006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22966
22967 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22968 `catch_result' to struct set_color_args.
22969
d976fc51 229702006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22971
22972 * normal/menu.c: Include grub/script.h.
22973 * normal/menu_entry.c: Likewise.
22974 * include/grub/normal.h: Do not include grub/script.h.
22975
67507549 229762006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22977
22978 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22979
69203a99 229802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22981
22982 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22983 disk.
22984 (grub_disk_close): Print debug messages when closing a disk.
22985 (grub_disk_read): Print debug messages when disk read fails.
22986 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22987 filesystem type.
22988 * kern/partition.c: Include misc.h.
22989 (grub_partition_iterate): Print debug messages when detecting
22990 partition type.
22991
e2b8278c 229922006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22993
22994 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22995 is negative.
22996 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22997
97b2f2ff 229982006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22999
23000 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
23001 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
23002
6555d655 230032006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
23004
23005 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
23006 instead of sizeof(lv). Patch by Michael Guntsche.
23007
4d42b77f 230082006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
23009
23010 * disk/lvm.c: Rename VGS to VG_LIST.
23011 (grub_lvm_iterate): Change VGS->LV to VG-LV.
23012 (grub_lvm_open): Likewise.
23013 Thanks to Michael Guntsche for finding this bug.
23014
5d74d927 230152006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23016
23017 * configure.ac (AC_INIT): Bumped to 1.95.
23018
a1bb27e4 230192006-10-14 Robert Millan <rmh@aybabtu.com>
23020
23021 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
23022 with "/dev/.static/dev/md".
23023
e0994b8b 230242006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23025
23026 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
23027 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
23028 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
23029 DRIVE_NAME are always freed.
23030
23031 * util/i386/pc/biosdisk.c (make_device_name): Add one into
23032 DOS_PART, as a DOS partition is counted from one instead of zero
23033 now. Reported by Robert Millan.
23034
ddd5cee9 230352006-10-14 Robert Millan <rmh@aybabtu.com>
23036
23037 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
23038 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
23039 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
23040 string returned by grub_guess_root_device.
23041 * util/i386/pc/grub-setup.c: Likewise.
23042 * util/i386/pc/grub-probefs.c: Likewise.
23043
23044 * util/i386/pc/grub-probefs.c: Rename to ...
23045 * util/i386/pc/grub-probe.c: ... this.
23046 * DISTLIST: Remove grub-probefs, add grub-probe.
23047 * conf/i386-efi.rmk: Likewise.
23048 * conf/i386-pc.rmk: Likewise.
23049 * util/i386/pc/grub-install.in: Likewise.
23050
23051 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
23052 choose which information we want to print.
23053
2b002173 230542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23055
23056 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
23057 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
23058 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
23059 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
23060 video/readers/tga.c and video/i386/pc/vbeutil.c.
23061
230622006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
23063
23064 Added support for RAID and LVM.
f19dbdb7 23065
2b002173 23066 * disk/lvm.c: New file.
23067 * disk/raid.c: Likewise.
23068 * include/grub/lvm.h: Likewise.
f19dbdb7 23069 * include/grub/raid.h: Likewise.
2b002173 23070 * include/grub/util/lvm.h: Likewise.
23071 * include/grub/util/raid.h: Likewise.
23072 * util/lvm.c: Likewise.
23073 * util/raid.c: Likewise.
23074
23075 * include/grub/disk.h (grub_disk_dev_id): Add
23076 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
23077 (grub_disk_get_size): New prototype.
23078 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
23079 returns a partition.
23080 (grub_disk_get_size): New function.
f19dbdb7 23081
2b002173 23082 * kern/i386/pc/init.c (make_install_device): Copy the prefix
23083 verbatim if grub_install_dos_part is -2.
23084
23085 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
23086 and LVM devices.
23087
23088 * util/i386/pc/grub-setup.c (setup): New argument
23089 MUST_EMBED. Force embedding of GRUB when the argument is
23090 true. Close FILE before returning.
23091 (main): Add support for RAID and LVM.
f19dbdb7 23092
2b002173 23093 * conf/common.rmk: Add RAID and LVM modules.
23094 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
23095 util/lvm.c.
23096 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
23097
23098 * kern/misc.c (grub_strstr): New function.
23099 * include/grub/misc.h (grub_strstr): New prototype.
23100
050548d0 231012006-10-10 Tristan Gingold <tristan.gingold@bull.net>
23102
23103 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
23104
da849d2d 231052006-10-05 Tristan Gingold <tristan.gingold@bull.net>
23106
23107 * kern/misc.c (grub_strtoull): Guess the base only if not
23108 specified.
23109
97b2f2ff 231102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 23111
23112 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
23113 PowerMac support.
23114
97b2f2ff 231152006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 23116
23117 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
23118
23119 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
23120 Remove `flags' argument. All callers changed.
23121 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
23122 (IEEE1275_IHANDLE_INVALID): New variable.
23123 (IEEE1275_CELL_INVALID): New variable.
23124 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23125 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
23126 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
23127 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
23128 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
23129 codes from Open Firmware. All callers updated.
23130 (grub_ieee1275_next_property): Directly return Open Firmware return
23131 code.
23132 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23133 Standardize error checking from `grub_ieee1275_get_property'.
23134 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
23135 `devalias' to `aliases'. Correct comments. Consolidate error paths.
23136
97b2f2ff 231372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 23138
23139 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
23140 `instance_to_package_args' to `instance_to_path_args'.
23141
23142 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
23143 `grub_ieee1275_chosen'.
23144
23145 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
23146 `grub_ieee1275_interpret'.
23147
97b2f2ff 231482006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 23149
23150 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
23151
97b2f2ff 231522006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 23153
23154 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
23155 (__cmpdi): Likewise.
23156
23157 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
23158 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
23159 `grub_ssize_t'.
23160
02bb8acc 23161 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 23162
23163 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
23164 to type `grub_ssize_t'.
23165 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
23166
7f9a8531 231672006-09-22 Marco Gerards <marco@gnu.org>
23168
23169 * normal/script.c (grub_script_create_cmdmenu): Skip leading
23170 newlines.
23171
b5ef1102 231722006-09-22 Marco Gerards <marco@gnu.org>
23173
23174 * commands/echo.c: New file.
23175
23176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
23177
23178 * conf/common.rmk (echo_mod_SOURCES): New variable.
23179 (echo_mod_CFLAGS): Likewise.
23180 (echo_mod_LDFLAGS): Likewise.
23181
2cff3677 231822006-09-22 Marco Gerards <marco@gnu.org>
23183
23184 * normal/main.c (get_line): Malloc memory instead of using
23185 preallocated memory. Removed the arguments `cmdline' and
23186 `max_len'. Updated all callers.
23187
6ba4688b 231882006-09-22 Marco Gerards <marco@gnu.org>
23189
23190 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
23191 (normal_mod_DEPENDENCIES): Likewise.
23192
23193 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
23194 (normal_mod_DEPENDENCIES): Likewise.
23195
23196 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
23197
e02ac02c 231982006-09-22 Johan Rydberg <jrydberg@gnu.org>
23199
23200 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
23201 programs.
23202 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
23203 (normal_mod_DEPENDENCIES): Likewise.
23204 * conf/i386-pc.mk: Regenerate.
23205 * conf/i386-efi.mk: Likewise
23206 * conf/common.mk: Likewise.
23207 * conf/powerpc-ieee1275.mk: Likewise.
23208 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23209
8d252e44 232102006-09-22 Robert Millan <rmh@aybabtu.com>
23211
23212 Sync with i386 version.
23213 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
23214 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
23215
209bf7ac 232162006-09-21 Robert Millan <rmh@aybabtu.com>
23217
23218 Import from GRUB Legacy (lib/device.c):
23219 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
23220 (init_device_map) [__linux__]: Add support for I2O devices.
23221
6b146090 232222006-09-14 Marco Gerards <marco@gnu.org>
23223
23224 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
23225 `-melf_i386'.
23226
e38600a8 232272006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 23228
23229 * util/i386/pc/grub-install.in: Skip menu.lst when removing
23230 /boot/grub/*.lst.
78fa1790 23231
2952da5d 23232 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 23233
2952da5d 23234 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
23235 before adding it to device.map.
23236
01b82a64 232372006-08-15 Johan Rydberg <jrydberg@gnu.org>
23238
fe6b695a 23239 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 23240 compiles a file; using the -MD option.
23241 * conf/common.mk: Regenerate.
23242 * conf/i386-pc.mk: Likewise.
23243 * conf/i386-efi.mk: Likewise.
23244 * conf/powerpc-ieee1275.mk: Likewise.
23245 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23246
1064790d 232472006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
23248
23249 Move the prototypes of grub_setjmp and grub_longjmp to
23250 cpu/setjmp.h, so that each architecture may specify different
23251 attributes.
f19dbdb7 23252
1064790d 23253 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
23254 (grub_longjmp): Likewise.
23255 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
23256 (grub_longjmp): Likewise.
23257 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
23258 (grub_longjmp): Likewise.
23259
23260 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
23261 [!GRUB_UTIL] (grub_longjmp): Removed.
23262
29dda3ed 232632006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
23264
23265 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
23266 "color!" method does not return any value.
23267
ad2a06ed 232682006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23269
23270 * include/grub/bitmap.h: New file.
23271
23272 * include/grub/i386/pc/vbeutil.h: Likewise.
23273
23274 * video/bitmap.c: Likewise.
23275
23276 * video/readers/tga.c: Likewise.
23277
23278 * video/i386/pc/vbeutil.c: Likewise.
23279
23280 * commands/videotest.c: Code cleanup and updated to reflect to new
23281 video API.
23282
23283 * term/gfxterm.c: Likewise.
23284
23285 * video/video.c: Likewise.
23286
23287 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
23288 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
23289 (bitmap_mod_SOURCES): New entry.
23290 (bitmap_mod_CFLAGS): Likewise.
23291 (bitmap_mod_LDFLAGS): Likewise.
23292 (tga_mod_SOURCES): Likewise.
23293 (tga_mod_CFLAGS): Likewise.
23294 (tga_mod_LDFLAGS): Likewise.
23295
23296 * include/grub/video.h (grub_video_blit_operators): New enum type.
23297 (grub_video_render_target): Changed as forward declaration and moved
23298 actual definition to be video driver specific.
23299 (grub_video_adapter.blit_bitmap): Added blitting operator.
23300 (grub_video_adapter.blit_render_target): Likewise.
23301 (grub_video_blit_bitmap): Likewise.
23302 (grub_video_blit_render_target): Likewise.
23303
23304 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
23305 driver specific render target definition.
23306 (grub_video_vbe_map_rgba): Added driver internal helper.
23307 (grub_video_vbe_unmap_color): Updated to use
23308 grub_video_i386_vbeblit_info.
23309 (grub_video_vbe_get_video_ptr): Likewise.
23310
23311 * include/grub/i386/pc/vbeblit.h
23312 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
23313 grub_video_i386_vbeblit_info.
23314 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23315 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23316 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23317 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23318 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23319 (grub_video_i386_vbeblit_index_index): Likewise.
23320 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
23321 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23322 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23323 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
23324 operator.
23325 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
23326 operator.
23327
23328 * video/i386/pc/vbeblit.c: Updated to reflect changes on
23329 include/grub/i386/pc/vbeblit.h.
23330
23331 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
23332 Updated to use grub_video_i386_vbeblit_info.
23333 (grub_video_i386_vbefill_R8G8B8): Likewise.
23334 (grub_video_i386_vbefill_index): Likewise.
23335 (grub_video_i386_vbefill): Added generic filler.
23336
23337 * video/i386/pc/vbefill.c: Updated to reflect changes on
23338 include/grub/i386/pc/vbefill.h.
23339
23340 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
23341 grub_video_i386_vbeblit_info.
23342 (grub_video_vbe_unmap_color): Likewise.
23343 (grub_video_vbe_blit_glyph): Likewise.
23344 (grub_video_vbe_scroll): Likewise.
23345 (grub_video_vbe_draw_pixel): Removed function.
23346 (grub_video_vbe_get_pixel): Likewise.
23347 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
23348 updated code to use it.
23349 (common_blitter): Added common blitter for render target and bitmap.
23350 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
23351 (grub_video_vbe_blit_render_target): Likewise.
23352
bc8c036d 233532006-07-30 Johan Rydberg <jrydberg@gnu.org>
23354
23355 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
23356 is in text mode if there is no console control protocol instance
23357 available.
23358
684a8eff 233592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23360
23361 * include/grub/video.h: Code cleanup.
23362
23363 * include/grub/i386/pc/vbe.h: Likewise.
23364
23365 * video/i386/pc/vbe.c: Likewise.
23366
23367 * video/i386/pc/vbeblit.c: Likewise.
23368
23369 * video/i386/pc/vbefill.c: Likewise.
23370
23371 * video/video.c: Likewise. Also added more comments.
23372
5915059b 233732006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23374
23375 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
23376 (struct grub_biosdisk_dap): Likewise.
23377
23378 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
23379 linkage settings for all functions.
23380
90ce5d56 233812006-07-12 Marco Gerards <marco@gnu.org>
23382
23383 * configure.ac (--enable-mm-debug): Fix typo.
23384
23385 * genkernsyms.sh.in: Use proper quoting for `CC'.
23386
43e7f879 233872006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
23388
23389 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
23390 (normal_mod_ASFLAGS): Remove "-m32".
23391
4889bdec 233922006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
23393
23394 * util/misc.c: Include config.h.
23395 [!HAVE_MEMALIGN]: Do not include malloc.h.
23396 (grub_memalign): Use posix_memalign, if present. Then, use
23397 memalign, if present. Otherwise, emit an error.
23398
23399 * util/grub-emu.c: Do not include malloc.h.
23400
23401 * include/grub/util/misc.h: Include unistd.h. This is required for
23402 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
23403 D. Eades III <hde@foobar-qux.org>.
23404
23405 * configure.ac (AC_GNU_SOURCE): Added.
23406 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23407 type.
23408
fd39d4da 234092006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23410
23411 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23412 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23413
b786f3b5 234142006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23415
23416 * include/grub/types.h (grub_host_addr_t): Rename to
23417 grub_target_addr_t.
23418 (grub_host_off_t): Rename to grub_target_off_t.
23419 (grub_host_size_t): Rename to grub_target_size_t.
23420 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23421 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23422
23423 * include/grub/kernel.h (struct grub_module_header): Change type
23424 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23425 (grub_module_info): Likewise.
f19dbdb7 23426
051988bb 234272006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23428
23429 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23430 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23431 Velazquez <jesus.velazquez@gmail.com>.
23432
deae281b 234332006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23434
23435 Count partitions from 1 instead of 0 in the string representation
23436 of partitions. Still use 0-based internally.
f19dbdb7 23437
deae281b 23438 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23439 (sun_partition_map_iterate): Use grub_partition_t instead of
23440 struct grub_partition *. Cast DESC->START_CYLINDER to
23441 grub_uint64_t after converting the endian.
23442 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23443 (sun_partition_map_get_name): Add 1 to P->INDEX.
23444
23445 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23446 PCDATA->DOS_PART.
23447 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23448
23449 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23450 zero instead of one.
23451 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23452 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23453
23454 * partmap/apple.c (apple_partition_map_iterate): Change the type
23455 of POS to unsigned.
23456 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23457 (apple_partition_map_get_name): Add 1 into P->INDEX.
23458
23459 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23460 of POS to unsigned.
23461 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23462 calculate the offset of a partition.
23463 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23464 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23465
23466 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23467 SECTOR to grub_disk_addr_t.
23468 (acorn_partition_map_iterate): Likewise.
23469 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23470 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23471 top.
23472 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23473
23474 * kern/i386/pc/init.c (make_install_device): Add 1 into
23475 GRUB_INSTALL_DOS_PART.
23476
23477 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23478 conditional.
23479
524a1e6a 234802006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23481
23482 Clean up the code to support 64-bit addressing in disks and
23483 files. This change is not enough for filesystems yet.
f19dbdb7 23484
524a1e6a 23485 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23486 type of "start" to grub_uint64_t.
23487 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23488 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23489 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23490 convert addresses.
23491
23492 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23493 to grub_disk_addr_t.
23494
23495 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23496 string.
23497
23498 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23499
23500 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23501 to char *.
23502
23503 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23504
23505 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23506
23507 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23508
23509 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23510 to grub_off_t, to detect an error from grub_file_seek.
23511 (grub_multiboot_load_elf32): Likewise.
23512
23513 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23514 maximum unsigned long value when an overflow is detected.
23515 (grub_strtoull): New function.
23516 (grub_divmod64): Likewise.
23517 (grub_lltoa): use grub_divmod64.
23518
23519 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23520 grub_disk_addr_t.
23521 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23522 the pointer to next character. Use grub_strtoull instead of
23523 grub_strtoul.
23524 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23525 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23526 respectively.
23527
fe6b695a 23528 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 23529 return value is signed.
23530 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23531 test if OFFSET is less than zero, as OFFSET is unsigned now.
23532
23533 * kern/disk.c (struct grub_disk_cache): Change the type of
23534 "sector" to grub_disk_addr_t.
23535 (grub_disk_cache_get_index): Change the type of SECTOR to
23536 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23537 unsigned after shifting.
23538 (grub_disk_cache_invalidate): Change the type of SECTOR to
23539 grub_disk_addr_t.
23540 (grub_disk_cache_unlock): Likewise.
23541 (grub_disk_cache_store): Likewise.
23542 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23543 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23544 grub_disk_addr_t and grub_uint64_t, respectively.
23545 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23546 body, as the value of OFFSET is tweaked by
23547 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23548 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23549 respectively.
23550 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23551 body, as the value of OFFSET is tweaked by
23552 grub_disk_check_range. Change the types of LEN and N to
23553 grub_size_t.
23554
23555 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23556 and "saved_offset" to grub_off_t.
23557 (test_header): Cast BUF to char *.
23558 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23559 to char *.
23560 (grub_gzio_read): Change the types of OFFSET and SIZE to
23561 grub_off_t and grub_size_t, respectively.
23562
23563 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23564 Removed.
23565 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23566 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23567 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23568 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23569 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23570
23571 * include/grub/types.h (grub_off_t): Unconditionally set to
23572 grub_uint64_t.
23573 (grub_disk_addr_t): Changed to grub_uint64_t.
23574
23575 * include/grub/partition.h (struct grub_partition): Change the
23576 types of "start", "len" and "offset" to grub_disk_addr_t,
23577 grub_uint64_t and grub_disk_addr_t, respectively.
23578 (grub_partition_get_start): Return grub_disk_addr_t.
23579 (grub_partition_get_len): Return grub_uint64_t.
23580
23581 * include/grub/misc.h (grub_strtoull): New prototype.
23582 (grub_divmod64): Likewise.
23583
23584 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23585 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23586 grub_off_t, respectively.
23587 All callers and references changed.
23588
23589 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23590 grub_size_t in "read".
23591 All callers and references changed.
23592
23593 * include/grub/file.h (struct grub_file): Change the types of
23594 "offset" and "size" to grub_off_t and grub_off_t,
23595 respectively. Change the type of SECTOR to grub_disk_addr_t in
23596 "read_hook".
23597 (grub_file_read): Change the type of LEN to grub_size_t.
23598 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23599 grub_off_t.
23600 (grub_file_size): Return grub_off_t.
23601 (grub_file_tell): Likewise.
23602 All callers and references changed.
23603
23604 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23605 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23606 "write".
23607 (struct grub_disk): Change the type of "total_sectors" to
23608 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 23609 "read_hook".
524a1e6a 23610 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23611 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23612 (grub_disk_write): Likewise.
23613 All callers and references changed.
23614
23615 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23616 char * for grub_strncmp to silence gcc.
23617 (grub_iso9660_mount): Likewise.
23618 (grub_iso9660_mount): Likewise.
23619 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23620 return statement.
23621 (grub_iso9660_iterate_dir): Likewise.
23622 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23623
23624 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23625 LEN to grub_disk_addr_t and grub_size_t, respectively.
23626
23627 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23628
23629 * fs/jfs.c (grub_jfs_read_file): Likewise.
23630
23631 * fs/minix.c (grub_jfs_read_file): Likewise.
23632
23633 * fs/sfs.c (grub_jfs_read_file): Likewise.
23634
23635 * fs/ufs.c (grub_jfs_read_file): Likewise.
23636
23637 * fs/xfs.c (grub_jfs_read_file): Likewise.
23638
23639 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23640 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23641 respectively.
23642
23643 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23644 BLKNR to -1 instead of returning GRUB_ERRNO.
23645 (grub_ext2_read_file): Change the types of SECTOR and
23646 LEN to grub_disk_addr_t and grub_size_t, respectively.
23647
23648 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23649 LEN to grub_disk_addr_t and grub_size_t, respectively.
23650
23651 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23652 grub_file_read.
23653
23654 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23655 string. Do not cast SECTOR explicitly.
23656
23657 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23658 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23659 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23660 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23661 over 2TB and LBA mode is not supported, raise an error.
23662 (get_safe_sectors): New function.
23663 (grub_biosdisk_read): Use get_safe_sectors.
23664 (grub_biosdisk_write): Likewise.
23665
23666 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23667 (grub_efidisk_write): Likewise.
23668
23669 * disk/loopback.c (delete_loopback): Cosmetic changes.
23670 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23671 correctly.
23672 (grub_loopback_open): Likewise.
23673 (grub_loopback_read): Likewise. Also, change the type of POS to
23674 grub_off_t, and fix the usage of grub_memset.
23675
23676 * commands/i386/pc/play.c: Include grub/machine/time.h.
23677
23678 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23679 print FILE->SIZE.
23680
23681 * commands/configfile.c: Include grub/env.h.
23682
23683 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23684 GRUB_ERRNO directly instead. Change the type of POS to
23685 grub_off_t. Follow the coding standard.
23686
23687 * commands/blocklist.c: Include grub/partition.h.
23688 (grub_cmd_blocklist): Return an error if the underlying device is
23689 not a disk. Take the starting sector of a partition into account,
23690 if a partition is used.
23691
23692 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23693 a length field.
23694 (lba_mode): Support 64-bit addresses.
23695 (chs_mode): Likewise.
23696 (copy_buffer): Adapted to the new offsets of a length field and a
23697 segment field.
23698 (blocklist_default_start): Allocate 64-bit space.
23699
23700 * boot/i386/pc/boot.S (force_lba): Removed.
23701 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 23702 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 23703 space.
23704 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23705 is useless.
23706 (lba_mode): Refactored to support a 64-bit address. More size
23707 optimization.
23708 (setup_sectors): Likewise.
23709
53af98ad 237102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23711
23712 * DISTLIST: Added include/grub/i386/linux.h. Removed
23713 include/grub/i386/pc/linux.h
23714
23715 * configure.ac (AC_INIT): Bumped to 1.94.
23716
23717 * config.guess: Updated from gnulib.
23718 * config.sub: Likewise.
23719 * install-sh: Likewise.
23720 * mkinstalldirs: Likewise.
23721
b4c1940a 237222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23723
23724 * conf/common.rmk (grub_modules_init.lst): Depended on
23725 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23726 MODSRCFILES.
23727
23728 * genmk.rb (PModule::rule): Reverted the previous change.
23729
cfca1cfd 237302006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23731
23732 * conf/common.rmk (grub_modules_init.lst): Depends on
23733 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23734 that the target does not exist before producing.
23735 (grub_modules_init.h): Remove the target before generating.
23736 (grub_emu_init.c): Likewise.
23737
23738 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23739
aa6d7826 237402006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23741
23742 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23743 for the target-specific tests. Make sure that we also have the
23744 up-to-date target variables for those tests.
23745
26c607b9 237462006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23747
23748 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23749 (PModule::rule): Likewise.
23750
0162321a 237512006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23752
23753 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23754 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23755 target-specific flags should be prefixed.
23756 (PModule::rule): Likewise.
23757
6c826348 237582006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23759
23760 * configure.ac (CMP): Check if cmp is available explicitly.
23761
b977bf01 237622006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23763
23764 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23765 (target_cpu): New variable.
23766 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 23767
b977bf01 23768 * util/i386/pc/grub-install.in (host_cpu): Removed.
23769 (target_cpu): New variable.
23770 (pkglibdir): Use target_cpu instead of host_cpu.
23771
23772 * util/genmoddep.c: Removed.
f19dbdb7 23773
b977bf01 23774 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23775 instead of GRUB_HOST_SIZEOF_VOID_P.
23776 * kern/dl.c: Likewise.
23777
23778 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23779 ...
23780 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23781 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23782 (GRUB_TARGET_SIZEOF_LONG): ... this.
23783 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23784 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23785 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23786 to ...
23787 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23788 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23789 (GRUB_TARGET_SIZEOF_LONG): ... this.
23790 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23791 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23792 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23793 to ...
23794 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23795 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23796 (GRUB_TARGET_SIZEOF_LONG): ... this.
23797 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23798 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23799
23800 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23801 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23802 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23803 instead of GRUB_HOST_SIZEOF_LONG.
23804 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23805 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23806 GRUB_CPU_WORDS_BIGENDIAN.
23807 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23808 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23809 grub_host_ssize_t.
23810
23811 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23812 (genmoddep_SOURCES): Likewise.
23813 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23814 (genmoddep_SOURCES): Likewise.
23815 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23816 (genmoddep_SOURCES): Likewise.
23817 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23818 Likewise.
23819 (genmoddep_SOURCES): Likewise.
23820
23821 * genmoddep.awk: New file.
23822
23823 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23824 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23825 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23826 (PModule::rule): Likewise.
23827 (Program::rule): Likewise.
23828 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23829 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23830 respectively.
23831
23832 * configure.ac: Rewritten intensively to use host and target
23833 instead of build and host, respectively.
23834
23835 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23836 (host_cpu): Removed.
23837 (target_cpu): New variable.
23838 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23839 (BUILD_CC): Removed.
23840 (BUILD_CFLAGS): Likewise.
23841 (BUILD_CPPFLAGS): Likewise.
23842 (TARGET_CC): New variable.
23843 (TARGET_CFLAGS): Likewise.
23844 (TARGET_CPPFLAGS): Likewise.
23845 (TARGET_LDFLAGS): Likewise.
23846 (AWK): Likewise.
23847 (include): Use target_cpu instead of host_cpu.
23848 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 23849
b977bf01 23850 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23851
f09771a1 238522006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23853
23854 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23855 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23856 field 'false' to 'exec_on_false'.
23857 (grub_script_create_cmdif): Renamed argument names to reflect above
23858 changes.
23859
23860 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23861
23862 * normal/script.c (grub_script_create_cmdif): Likewise.
23863
118f4fb3 238642006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23865
23866 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23867 top.
23868 (grub_hfsplus_btree_recptr): Likewise.
23869 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23870 FILEBLOCK both to pass a block number and store next block
23871 number.
23872 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23873 overflow file correctly. Specify errors appropriately, because
23874 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23875 grub_hfsplus_btree_recptr to get the pointer to a found key.
23876 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23877 is found.
23878
23879 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23880 linux.mod.
23881 (_linux_mod_SOURCES): New variable.
23882 (_linux_mod_CFLAGS): Likewise.
23883 (_linux_mod_LDFLAGS): Likewise.
23884 (linux_mod_SOURCES): Likewise.
23885 (linux_mod_CFLAGS): Likewise.
23886 (linux_mod_LDFLAGS): Likewise.
23887
23888 * DISTLIST: Added loader/i386/efi/linux.c,
23889 loader/i386/efi/linux_normal.c and
23890 include/grub/i386/efi/loader.h.
23891
23892 * loader/i386/efi/linux.c: New file.
23893 * loader/i386/efi/linux_normal.c: Likewise.
23894 * include/grub/i386/efi/loader.h: Likewise.
23895
89a7d726 238962006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23897
23898 * commands/blocklist.c: New file.
23899
23900 * DISTLIST: Added commands/blocklist.c.
23901
23902 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 23903 color for the background, and a darker color for the foreground.
89a7d726 23904 (grub_console_checkkey): Return READ_KEY.
23905 (grub_console_cls): Set the background to
23906 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23907
23908 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23909
23910 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23911 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23912
23913 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23914 prototype.
23915
23916 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23917 BG. The spec is wrong again.
23918
23919 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23920 prototype.
23921 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23922
23923 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23924 commands/blocklist.c.
23925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 23926
89a7d726 23927 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23928 (blocklist_mod_SOURCES): New variable.
23929 (blocklist_mod_CFLAGS): Likewise.
23930 (blocklist_mod_LDFLAGS): Likewise.
23931
75c8f258 239322006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23933
23934 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23935 duplication.
23936 (lba_mode): Use %eax more intensively to reduce the code size.
23937
da2eb181 239382006-05-20 Marco Gerards <marco@gnu.org>
23939
23940 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23941
23942 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23943 for `menuentry'.
23944 (script): Accept leading newlines.
23945 (newlines): New rule to describe 0 or more newlines.
23946 (commands): Accept `command' with trailing newline. Fixed the
23947 order in which arguments were passed to `grub_script_add_cmd'.
23948 Accept commands separated by newlines.
23949 (function): Changed to accept newlines.
23950 (menuentry) Rewritten.
23951
23952 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23953 front of the list, instead of to the end.
23954
577b4050 239552006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23956
23957 * util/i386/pc/grub-install.in (bindir): New variable.
23958 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23959 Shaver <lbgwjl@gmail.com>.
23960
0d6e1189 239612006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23962
23963 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23964 grub/machine/linux.h
23965 * loader/i386/pc/linux.c: Likewise.
23966
23967 * include/grub/i386/pc/linux.h: Moved to ...
23968 * include/grub/i386/linux.h: ... here.
23969
23970 * include/grub/i386/linux.h (struct linux_kernel_params): New
23971 struct.
f19dbdb7 23972
31b86e9f 239732006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23974
23975 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23976 checking.
23977 (grub_video_vbe_blit_glyph): Likewise.
23978 (grub_video_vbe_blit_bitmap): Likewise.
23979 (grub_video_vbe_blit_render_target): Likewise.
23980
83b984de 239812006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23982
23983 * configure.ac (--with-platform): Properly quote the square
23984 brackets.
23985
5f0413bd 239862006-05-08 Marco Gerards <marco@gnu.org>
23987
23988 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23989 this...
23990 (kernel_elf_HEADERS): ...to this. Updated all users.
23991 (grubof_symlist.c): Renamed from this...
23992 (kernel_elf_symlist.c): ...to this. Updated all users.
23993 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23994 (grubof_SOURCES): Renamed from this...
23995 (kernel_elf_SOURCES): ...to this.
23996 (grubof_HEADERS): Renamed from this...
23997 (kernel_elf_HEADERS): ...to this.
23998 (grubof_CFLAGS): Renamed from this...
23999 (kernel_elf_CFLAGS): ...to this.
24000 (grubof_ASFLAGS): Renamed from this...
24001 (kernel_elf_ASFLAGS): ...to this.
24002 (grubof_LDFLAGS): Renamed from this...
24003 (kernel_elf_LDFLAGS): ...to this.
24004
24005 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
24006 this...
24007 (kernel_elf_HEADERS): ...to this. Updated all users.
24008 (grubof_symlist.c): Renamed from this...
24009 (kernel_elf_symlist.c): ...to this. Updated all users.
24010 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
24011 (grubof_SOURCES): Renamed from this...
24012 (kernel_elf_SOURCES): ...to this.
24013 (grubof_HEADERS): Renamed from this...
24014 (kernel_elf_HEADERS): ...to this.
24015 (grubof_CFLAGS): Renamed from this...
24016 (kernel_elf_CFLAGS): ...to this.
24017 (grubof_ASFLAGS): Renamed from this...
24018 (kernel_elf_ASFLAGS): ...to this.
24019 (grubof_LDFLAGS): Renamed from this...
24020 (kernel_elf_LDFLAGS): ...to this.
24021
24022 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
24023 `kernel.elf' instead of `grubof'.
24024
05568c2e 240252006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
24026
24027 Add --with-platform to configure. Use pkglibdir instead of
24028 pkgdatadir. This is reported by Roger Leigh.
24029
24030 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
24031 (host_vendor): Likewise.
24032 (host_os): Likewise.
24033 (pkgdatadir): Likewise.
24034 (platform): New variable.
24035 (pkglibdir): Likewise.
24036 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 24037
05568c2e 24038 * util/i386/pc/grub-install.in (datadir): Removed.
24039 (host_vendor): Likewise.
24040 (host_os): Likewise.
24041 (pkgdatadir): Likewise.
24042 (platform): New variable.
24043 (pkglibdir): Likewise.
24044 Use PKGLIBDIR instead of PKGDATADIR.
24045
24046 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
24047 instead of GRUB_DATADIR.
24048 (main): Likewise.
24049 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24050 (main): Likewise.
24051 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24052 (main): Likewise.
24053
24054 * configure.ac (--with-platform): New option.
24055 Use PLATFORM instead of HOST_VENDOR to specify a platform.
24056
24057 * Makefile.in: Include a makefile based on PLATFORM instead of
24058 HOST_VENDOR.
24059 (pkgdatadir): Not appended by the machine type.
24060 (pkglibdir): Appended by the machine type.
24061 (host_vendor): Removed.
24062 (platform): New variable.
24063 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
24064 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
24065 (uninstall): Likewise.
24066
4e93851c 240672006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
24068
24069 Use the environment context in the menu. Remove the commands
24070 "default" and "timeout", and use variables instead.
f19dbdb7 24071
4e93851c 24072 * normal/menu.c: Include grub/env.h.
24073 (print_entry): Cast TITLE to silence gcc.
24074 (get_timeout): New function.
24075 (set_timeout): Likewise.
24076 (get_entry_number): Likewise.
24077 (run_menu): Use a default entry, a fallback entry and a timeout
24078 in the environment variables "default", "fallback" and
24079 "timeout". Also, tweak the default entry if it is not within the
24080 current menu entries.
24081 (grub_menu_run): Use a fallback entry in the environment variable
24082 "fallback".
24083
24084 * normal/main.c (read_config_file): Do not initialize
24085 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
24086 NEWMENU->TIMEOUT.
24087 (grub_normal_execute): Use a data slot to store the menu.
24088
24089 * include/grub/normal.h (struct grub_menu): Removed default_entry,
24090 fallback_entry and timeout.
24091 (struct grub_menu_list): Removed.
24092 (grub_menu_list_t): Likewise.
24093 (struct grub_context): Likewise.
24094 (grub_context_t): Likewise.
24095 (grub_context_get): Likewise.
24096 (grub_context_get_current_menu): Likewise.
24097 (grub_context_push_menu): Likewise.
24098 (grub_context_pop_menu): Likewise.
24099 (grub_default_init): Likewise.
24100 (grub_default_fini): Likewise.
24101 (grub_timeout_init): Likewise.
24102 (grub_timeout_fini): Likewise.
24103
24104 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
24105 and timeout.mod.
24106 (normal_mod_SOURCES): Removed normal/context.c.
24107
24108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
24109 commands/default.c, commands/timeout.c and normal/context.c.
24110 (normal_mod_SOURCES): Removed normal/context.c.
24111
24112 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
24113 commands/timeout.c and normal/context.c.
24114 (normal_mod_SOURCES): Removed normal/context.c.
24115
24116 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
24117 commands/default.c, commands/timeout.c and normal/context.c.
24118 (normal_mod_SOURCES): Removed normal/context.c.
24119
24120 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
24121 timeout.mod.
24122 (default_mod_SOURCES): Removed.
24123 (default_mod_CFLAGS): Likewise.
24124 (default_mod_LDFLAGS): Likewise.
24125 (timeout_mod_SOURCES): Removed.
24126 (timeout_mod_CFLAGS): Likewise.
24127 (timeout_mod_LDFLAGS): Likewise.
24128
24129 * DISTLIST: Removed commands/default.c, commands/timeout.c and
24130 normal/context.c.
24131
24132 * commands/default.c: Removed.
24133 * commands/timeout.c: Likewise.
24134 * normal/context.c: Likewise.
24135
1eb9cc1d 241362006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
24137
24138 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
24139
385bd9c1 241402006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
24141
24142 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
24143 "next" to "prev" for readability.
24144 (struct grub_env_sorted_var): New struct.
24145 (grub_env_context): Renamed to ...
24146 (initial_context): ... this.
24147 (grub_env_var_context): Renamed to ...
24148 (current_context): ... this.
24149 (grub_env_find): Look only at CURRENT_CONTEXT.
24150 (grub_env_context_open): Rewritten to copy exported variables from
24151 previous context.
24152 (grub_env_context_close): Rewritten according to the new
24153 scheme. Also, add an assertion to prevent the initial context from
24154 removed.
24155 (grub_env_insert): Removed the code for the sorted list.
24156 (grub_env_remove): Likewise.
24157 (grub_env_export): Simply mark the variable with
24158 GRUB_ENV_VAR_GLOBAL.
24159 (grub_env_set): A cosmetic change for naming consistency.
24160 (grub_env_get): Likewise.
24161 (grub_env_unset): Likewise.
24162 (grub_env_iterate): Rewritten to sort variables within this
24163 function.
24164 (grub_register_variable_hook): Fixed for naming consistency. Call
24165 grub_env_find again, only if NAME is not found at the first time.
24166 (mangle_data_slot_name): New function.
24167 (grub_env_set_data_slot): Likewise.
24168 (grub_env_get_data_slot): Likewise.
24169 (grub_env_unset_data_slot): Likewise.
24170
24171 * include/grub/env.h (grub_env_var_type): New enum.
24172 (GRUB_ENV_VAR_LOCAL): New constant.
24173 (GRUB_ENV_VAR_GLOBAL): Likewise.
24174 (GRUB_ENV_VAR_DATA): Likewise.
24175 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
24176 "type".
24177 (grub_env_set): Replace VAR with NAME for consistency.
24178 (grub_register_variable_hook): Likewise.
24179 (grub_env_export): Specify the name of the argument.
24180 (grub_env_set_data_slot): New prototype.
24181 (grub_env_get_data_slot): Likewise.
24182 (grub_env_unset_data_slot): Likewise.
24183
7f362539 241842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24185
24186 Extend the loader so that GRUB can accept a loader which comes
24187 back to GRUB when a loaded image exits. Also, this change adds
24188 support for a chainloader on EFI.
f19dbdb7 24189
7f362539 24190 * term/efi/console.c: Include grub/misc.h.
24191 (grub_console_checkkey): Display a scan code on the top for
24192 debugging. This will be removed once the EFI port gets stable.
24193 Correct the scan code mapping.
24194
24195 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
24196 allocate memory from larger regions, in order to reduce the number
24197 of allocated regions. Otherwise, the MacOSX loader panics.
24198 (filter_memory_map): Avoid less than 1MB for compatibility with
24199 other loaders.
24200 (add_memory_regions): Allocate from the tail of a region, if
24201 possible, to avoid allocating a region near to 1MB, for the MacOSX
24202 loader.
24203
24204 * kern/efi/init.c (grub_efi_set_prefix): Specify
24205 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
24206
24207 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
24208 argument IMAGE_HANDLE and specify it to get a loaded image.
24209 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
24210 grub_efi_get_loaded_image.
fe6b695a 24211 (grub_efi_get_filename): Divide the length by the size of
7f362539 24212 grub_efi_char16_t.
24213 (grub_efi_get_device_path): New function.
24214 (grub_efi_print_device_path): Print End Device Path nodes. Divide
24215 the length by the size of grub_efi_char16_t for a file path device
24216 path node.
24217
24218 * kern/loader.c (grub_loader_noreturn): New variable.
24219 (grub_loader_set): Accept a new argument NORETURN. Set
24220 GRUB_LOADER_NORETURN to NORETURN.
24221 All callers changed.
24222 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
24223 grub_machine_fini.
24224
24225 * include/grub/efi/efi.h (grub_efi_get_device_path): New
24226 prototype.
24227 (grub_efi_get_loaded_image): Take an argument to specify an image
24228 handle.
24229
24230 * include/grub/loader.h (grub_loader_set): Added one more argument
24231 NORETURN.
24232
24233 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
24234 instead of grub_efi_open_protocol.
24235 (grub_efidisk_get_device_name): Likewise.
24236 (grub_efidisk_close): Print a newline.
24237 (grub_efidisk_get_device_handle): Fixed to use
24238 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
24239 GRUB_EFI_DEVICE_PATH_TYPE.
24240
24241 * disk/efi/efidisk.c (device_path_guid): Moved to ...
24242 * kern/efi/efi.c (device_path_guid): ... here.
24243
24244 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
24245 chain.mod.
24246 (kernel_mod_HEADERS): Added efi/disk.h.
24247 (_chain_mod_SOURCES): New variable.
24248 (_chain_mod_CFLAGS): Likewise.
24249 (_chain_mod_LDFLAGS): Likewise.
24250 (chain_mod_SOURCES): Likewise.
24251 (chain_mod_CFLAGS): Likewise.
24252 (chain_mod_LDFLAGS): Likewise.
24253
24254 * DISTLIST: Added include/grub/efi/chainloader.h,
24255 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
24256
24257 * include/grub/efi/chainloader.h: New file.
24258 * loader/efi/chainloader.c: Likewise.
24259 * loader/efi/chainloader_normal.c: Likewise.
24260
c0111d6e 242612006-04-30 Marco Gerards <marco@gnu.org>
24262
24263 * commands/configfile.c (grub_cmd_source): New function.
24264 (GRUB_MOD_INIT): Register the commands `source' and `.'.
24265 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
24266
df5341da 242672006-04-30 Marco Gerards <marco@gnu.org>
24268
24269 * normal/execute.c (grub_script_execute_cmd): Change the return
24270 type to `grub_err_t'. Correctly return the error.
24271 (grub_script_execute_cmdline): In case a command line is not a
24272 command or a function, try to interpret it as an assignment.
24273
f85934bd 242742006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24275
24276 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
24277 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
24278 skip a node whose name is obviously invalid as UTF-16,
24279 i.e. contains a NUL character. Stop the iteration when the last
24280 directory entry is found. Instead of using the return value of
24281 grub_hfsplus_btree_iterate_node, store the value in RET and use
24282 it, because the iterator can be stopped by the last directory
24283 entry.
24284
8f8a2cf8 242852006-04-30 Marco Gerards <marco@gnu.org>
24286
24287 * include/grub/env.h (grub_env_export): New prototype. Reported
24288 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
24289
a27e84ce 242902006-04-30 Marco Gerards <marco@gnu.org>
24291
24292 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
24293 size of the extents in a catalog file record.
24294
eaef0553 242952006-04-29 Marco Gerards <marco@gnu.org>
24296
24297 * commands/configfile.c (grub_cmd_configfile): Execute the
24298 configfile within its own context.
24299
24300 * include/grub/env.h (grub_env_context_open): New prototype.
24301 (grub_env_context_close): Likewise.
24302
24303 * kern/env.c (grub_env): Removed.
24304 (grub_env_sorted): Likewise.
24305 (grub_env_context): New variable.
24306 (grub_env_var_context): Likewise.
24307 (grub_env_find): Search both the active context and the global
24308 context.
24309 (grub_env_context_open): New function.
24310 (grub_env_context_close): Likewise.
24311 (grub_env_insert): Likewise.
24312 (grub_env_remove): Likewise.
24313 (grub_env_export): Likewise.
24314 (grub_env_set): Changed to use helper functions to avoid code
24315 duplication.
24316 (grub_env_iterate): Rewritten so both the current context and the
24317 global context are being used.
24318
24319 * normal/command.c (export_command): New function.
24320 (grub_command_init): Register the `export' function.
24321
7b455f4d 243222006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
24323
24324 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
24325 explicitly to suppress gcc's warnings.
24326 * fs/fat.c (grub_fat_find_dir): Likewise.
24327 (grub_fat_label): Likewise.
24328 * fs/xfs.c (grub_xfs_read_inode): Likewise.
24329 (grub_xfs_mount): Likewise.
24330 (grub_xfs_label): Likewise.
24331 * fs/affs.c (grub_affs_mount): Likewise.
24332 (grub_affs_label): Likewise.
24333 (grub_affs_iterate_dir): Likewise.
24334 * fs/sfs.c (grub_sfs_mount): Likewise.
24335 (grub_sfs_iterate_dir): Likewise.
24336 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
24337 * fs/hfs.c (grub_hfs_mount): Likewise.
24338 (grub_hfs_cmp_catkeys): Likewise.
24339 (grub_hfs_find_dir): Likewise.
24340 (grub_hfs_dir): Likewise.
24341 (grub_hfs_label): Likewise.
24342 * fs/jfs.c (grub_jfs_mount): Likewise.
24343 (grub_jfs_opendir): Likewise.
24344 (grub_jfs_getent): Likewise.
24345 (grub_jfs_lookup_symlink): Likewise.
24346 (grub_jfs_label): Likewise.
24347 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
24348 (grub_hfsplus_iterate_dir): Likewise.
24349 (grub_hfsplus_btree_iterate_node): Made static.
24350
24351 * util/grub-emu.c (prefix): New variable.
24352 (grub_machine_set_prefix): New function.
24353 (main): Do not set the environment variable "prefix" here. Only
24354 set PREFIX, which is used later by grub_machine_set_prefix.
24355
24356 * include/grub/video.h: Do not include grub/symbol.h.
24357 (grub_video_register): Not exported. This symbol is not defined in
24358 the kernel.
24359 (grub_video_unregister): Likewise.
24360 (grub_video_iterate): Likewise.
24361 (grub_video_setup): Likewise.
24362 (grub_video_restore): Likewise.
24363 (grub_video_get_info): Likewise.
24364 (grub_video_get_blit_format): Likewise.
24365 (grub_video_set_palette): Likewise.
24366 (grub_video_get_palette): Likewise.
24367 (grub_video_set_viewport): Likewise.
24368 (grub_video_get_viewport): Likewise.
24369 (grub_video_map_color): Likewise.
24370 (grub_video_map_rgb): Likewise.
24371 (grub_video_map_rgba): Likewise.
24372 (grub_video_fill_rect): Likewise.
24373 (grub_video_blit_glyph): Likewise.
24374 (grub_video_blit_bitmap): Likewise.
24375 (grub_video_blit_render_target): Likewise.
24376 (grub_video_scroll): Likewise.
24377 (grub_video_swap_buffers): Likewise.
24378 (grub_video_create_render_target): Likewise.
24379 (grub_video_delete_render_target): Likewise.
24380 (grub_video_set_active_render_target): Likewise.
24381
24382 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
24383 Undefined.
24384 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
24385
24386 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
24387 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24388 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24389 instead of $(srcdir)/genkernsyms.sh.
24390
24391 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
24392 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24393 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24394 instead of $(srcdir)/genkernsyms.sh.
24395
24396 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
24397 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24398 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24399 instead of $(srcdir)/genkernsyms.sh.
24400
24401 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
24402 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24403 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24404 instead of $(srcdir)/genkernsyms.sh.
24405
24406 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24407 genkernsyms.sh.
24408
24409 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24410 genkernsyms.sh.
24411 (gensymlist.sh): New target.
24412 (genkernsyms.sh): Likewise.
24413
24414 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24415 genkernsyms.sh.in and gensymlist.sh.in.
24416
24417 * genkernsyms.sh: Removed.
24418 * gensymlist.sh: Likewise.
f19dbdb7 24419
7b455f4d 24420 * genkernsyms.sh.in: New file.
24421 * gensymlist.sh.in: Likewise.
24422
1885bb27 244232006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24424
24425 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24426 clobber "prefix", since we may have already set it manually.
24427
71538dff 244282006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24429
24430 * kern/misc.c (abort): New alias for grub_abort.
24431
2965c7cc 244322006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24433
24434 A new machine-specific function "grub_machine_set_prefix" is
24435 defined. This is called after loading modules, so that a prefix
24436 initialization can use modules. Also, this change adds an
24437 intensive debugging feature for the memory manager via the
24438 configure option "--enable-mm-debug".
f19dbdb7 24439
2965c7cc 24440 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24441 PART.LEN.
24442
24443 * kern/sparc64/ieee1275/init.c (abort): Removed.
24444 (grub_stop): Likewise.
24445 (grub_exit): New function.
24446 (grub_set_prefix): Renamed to ...
24447 (grub_machine_set_prefix): ... this.
24448 (grub_machine_init): Do not call grub_set_prefix.
24449
24450 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24451 (grub_machine_set_prefix): ... this.
24452 (grub_machine_init): Do not call grub_set_prefix.
24453
24454 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24455 (grub_machine_init): Do not set the prefix here.
24456
24457 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24458
24459 * kern/efi/init.c: Include grub/mm.h.
24460 (grub_efi_set_prefix): New function.
24461
24462 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24463 (grub_efi_get_filename): New function.
24464 (grub_print_device_path): Renamed to ...
24465 (grub_efi_print_device_path): ... this.
24466
24467 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24468 [MM_DEBUG] (grub_realloc): Likewise.
24469 [MM_DEBUG] (grub_free): Likewise.
24470 [MM_DEBUG] (grub_memalign): Likewise.
24471 [MM_DEBUG] (grub_mm_debug): New variable.
24472 [MM_DEBUG] (grub_debug_malloc): New function.
24473 [MM_DEBUG] (grub_debug_free): New function.
24474 [MM_DEBUG] (grub_debug_realloc): New function.
24475 [MM_DEBUG] (grub_debug_memalign): New function.
24476
24477 * kern/misc.c (grub_abort): Print a newline to distinguish
24478 the message.
24479
24480 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24481 grub_set_root_dev after loading modules. This is necessary when
24482 setting a prefix depends on modules.
24483
24484 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24485 (grub_efi_print_device_path): ... this.
24486 (grub_efi_get_filename): New prototype.
24487 (grub_efi_set_prefix): Likewise.
24488
24489 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24490 and grub/disk.h.
24491 (grub_efidisk_get_device_handle): New prototype.
24492 (grub_efidisk_get_device_name): Likewise.
24493
24494 * include/grub/mm.h: Include config.h.
24495 (MM_DEBUG): Removed.
24496 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24497 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24498 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24499 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24500 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24501 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24502 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24503 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24504 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24505
24506 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24507
24508 * disk/efi/efidisk.c: Include grub/partition.h.
24509 (iterate_child_devices): New function.
24510 (add_device): First, compare only last device path nodes, so that
24511 devices are sorted by the types.
24512 (grub_efidisk_get_device_handle): New function.
24513 (grub_efidisk_get_device_name): Likewise.
24514
24515 * configure.ac (--enable-mm-debug): New option to enable the
24516 memory manager debugging feature. This makes the binary much
24517 bigger, so is disabled by default.
24518
9cacaa17 245192006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24520
24521 Use grub_abort instead of grub_stop, and grub_exit must be
24522 define in each architecture now. Also, this change adds support
24523 for EFI disks.
f19dbdb7 24524
9cacaa17 24525 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24526 (grub_getkey): New function.
24527 (grub_term_get_current): Likewise.
24528
24529 * util/i386/pc/grub-setup.c: Include grub/term.h.
24530 (grub_getkey): New function.
24531 (grub_term_get_current): Likewise.
24532
24533 * util/misc.c (grub_stop): Renamed to ...
24534 (grub_exit): ... this.
24535
24536 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24537 (grub_exit): ... this.
24538 (grub_machine_init): Use grub_abort instead of abort.
24539 (grub_stop): Removed.
24540
24541 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24542 abort.
24543
24544 * kern/i386/pc/startup.S (grub_exit): New function.
24545 (cold_reboot): New label.
24546
24547 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24548 (grub_efi_init): Call grub_efidisk_init.
24549 (grub_efi_fini): Call grub_efidisk_fini.
24550
24551 * kern/efi/efi.c: Include grub/mm.h.
24552 (grub_efi_console_control_guid): Renamed to ...
24553 (console_control_guid): ... this.
24554 (grub_efi_loaded_image_guid): Renamed to ...
24555 (loaded_image_guid): ... this.
24556 (grub_efi_locate_handle): New function.
24557 (grub_efi_open_protocol): Likewise.
24558 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24559 GRUB_EFI_CONSOLE_CONTROL_GUID.
24560 (grub_efi_exit): Removed.
24561 (grub_stop): Likewise.
24562 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24563 (grub_exit): New function.
24564 (grub_print_device_path): Likewise.
24565
24566 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24567 (grub_enter_rescue_mode): Register "exit".
24568
24569 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24570 (grub_abort): New function.
24571
24572 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24573
24574 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24575
24576 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24577
24578 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24579 (grub_print_device_path): New prototype.
24580 (grub_efi_locate_handle): Likewise.
24581 (grub_efi_open_protocol): Likewise.
24582
24583 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24584 * disk/efi/efidisk.c: Likewise.
24585
24586 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24587
24588 * include/grub/efi/console_control.h
24589 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24590
24591 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24592 last 8 bytes as an array.
24593 (GRUB_EFI_DISK_IO_GUID): New macro.
24594 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24595 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24596 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24597 grub_uint8_t.
24598 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24599 (struct grub_efi_device_path): Rename the member "sub_type" to
24600 "subtype".
24601 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24602 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24603 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24604 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24605 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24606 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24607 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24608 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24609 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24610 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24611 (struct grub_efi_pci_device_path): New structure.
24612 (grub_efi_pci_device_path_t): New type.
24613 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24614 (struct grub_efi_pccard_device_path): New structure.
24615 (grub_efi_pccard_device_path_t): New type.
24616 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24617 (struct grub_efi_memory_mapped_device_path): New structure.
24618 (grub_efi_memory_mapped_device_path_t): New type.
24619 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24620 (struct grub_efi_vendor_device_path): New structure.
24621 (grub_efi_vendor_device_path_t): New type.
24622 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24623 (struct grub_efi_controller_device_path): New structure.
24624 (grub_efi_controller_device_path_t): New type.
24625 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24626 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24627 (struct grub_efi_acpi_device_path): New structure.
24628 (grub_efi_acpi_device_path_t): New type.
24629 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24630 (struct grub_efi_expanded_acpi_device_path): New structure.
24631 (grub_efi_expanded_acpi_device_path_t): New type.
24632 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24633 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24634 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24635 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24636 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24637 (struct grub_efi_atapi_device_path): New structure.
24638 (grub_efi_atapi_device_path_t): New type.
24639 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24640 (struct grub_efi_fibre_channel_device_path): New structure.
24641 (grub_efi_fibre_channel_device_path_t): New type.
24642 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24643 (struct grub_efi_1394_device_path): New structure.
24644 (grub_efi_1394_device_path_t): New type.
24645 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24646 (struct grub_efi_usb_device_path): New structure.
24647 (grub_efi_usb_device_path_t): New type.
24648 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24649 (struct grub_efi_usb_class_device_path): New structure.
24650 (grub_efi_usb_class_device_path_t): New type.
24651 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24652 (struct grub_efi_i2o_device_path): New structure.
24653 (grub_efi_i2o_device_path_t): New type.
24654 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24655 (struct grub_efi_mac_address_device_path): New structure.
24656 (grub_efi_mac_address_device_path_t): New type.
24657 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24658 (struct grub_efi_ipv4_device_path): New structure.
24659 (grub_efi_ipv4_device_path_t): New type.
24660 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24661 (struct grub_efi_ipv6_device_path): New structure.
24662 (grub_efi_ipv6_device_path_t): New type.
24663 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24664 (struct grub_efi_infiniband_device_path): New structure.
24665 (grub_efi_infiniband_device_path_t): New type.
24666 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24667 (struct grub_efi_uart_device_path): New structure.
24668 (grub_efi_uart_device_path_t): New type.
24669 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24670 (struct grub_efi_vendor_messaging_device_path): New structure.
24671 (grub_efi_vendor_messaging_device_path_t): New type.
24672 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24673 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24674 (struct grub_efi_hard_drive_device_path): New structure.
24675 (grub_efi_hard_drive_device_path_t): New type.
24676 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24677 (struct grub_efi_cdrom_device_path): New structure.
24678 (grub_efi_cdrom_device_path_t): New type.
24679 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24680 (struct grub_efi_vendor_media_device_path): New structure.
24681 (grub_efi_vendor_media_device_path_t): New type.
24682 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24683 (struct grub_efi_file_path_device_path): New structure.
24684 (grub_efi_file_path_device_path_t): New type.
24685 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24686 (struct grub_efi_protocol_device_path): New structure.
24687 (grub_efi_protocol_device_path_t): New type.
24688 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24689 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24690 (struct grub_efi_bios_device_path): New structure.
24691 (grub_efi_bios_device_path_t): New type.
24692 (struct grub_efi_disk_io): New structure.
24693 (grub_efi_disk_io_t): New type.
24694 (struct grub_efi_block_io_media): New structure.
24695 (grub_efi_block_io_media_t): New type.
24696 (struct grub_efi_block_io): New structure.
24697 (grub_efi_block_io_t): New type.
24698
24699 * include/grub/misc.h (grub_stop): Removed.
24700 (grub_exit): New prototype.
24701 (grub_abort): Likewise.
24702
24703 * include/grub/disk.h (enum grub_disk_dev_id): Added
24704 GRUB_DISK_DEVICE_EFIDISK_ID.
24705
24706 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24707 disk/efi/efidisk.c.
24708 (kernel_syms.lst): Remove the target if an error occurs.
24709
49986a9f 247102006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24711
24712 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24713 as it was simply too buggy.
24714
970d3b8a 247152006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24716
24717 * kern/misc.c (grub_lltoa): New function.
24718 (grub_vsprintf): Added support for the long long suffix,
24719 i.e. "ll".
24720
ff04ec24 247212006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24722
24723 * Makefile.in (LDFLAGS): Add variable.
24724 (LD): Remove variable.
24725 * configure.ac: Add -m32 to LDFLAGS.
24726 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24727 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24728 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24729 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24730 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24731 variables.
24732 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24733 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24734 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24735
37e5e1a4 247362006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24737
24738 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24739 length for unknown glyph.
24740
c352d8dd 247412006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24742
2eab1c0d 24743 Add support for pre-loaded modules into the EFI port.
f19dbdb7 24744
2eab1c0d 24745 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24746 completely. Accept one more argument DIR. The caller has changed.
24747
24748 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24749
24750 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24751 (grub_efi_loaded_image_guid): New variable.
24752 (grub_efi_get_loaded_image): New function.
24753 (grub_arch_modules_addr): Likewise.
24754
24755 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24756 prototype.
24757
24758 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24759 (struct grub_efi_loaded_image): New structure.
24760 (grub_efi_loaded_image_t): New type.
24761
247622006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24763
c352d8dd 24764 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24765 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24766 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24767
6d01d6b4 247682006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24769
24770 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24771
976a4ea0 247722006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24773
24774 * DISTLIST: Added include/grub/efi/console.h,
24775 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24776 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24777
24778 * include/grub/efi/console.h: New file.
24779 * include/grub/efi/time.h: Likewise.
24780 * include/grub/i386/efi/kernel.h: Likewise.
24781 * kern/efi/init.c: Likewise.
24782 * kern/efi/mm.c: Likewise.
24783 * term/efi/console.c: Likewise.
f19dbdb7 24784
976a4ea0 24785 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24786 (grub_stop): Removed.
24787 (grub_get_rtc): Likewise.
24788 (grub_machine_init): Simply call grub_efi_init.
24789 (grub_machine_fini): Call grub_efi_fini.
24790
24791 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24792 (grub_efi_output_string): Removed.
24793 (grub_efi_stall): New function.
24794 (grub_stop): Likewise.
24795 (grub_get_rtc): Likewise.
24796
24797 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24798 (grub_efi_stall): New prototype.
24799 (grub_efi_allocate_pages): Likewise.
24800 (grub_efi_free_pages): Likewise.
24801 (grub_efi_get_memory_map): Likewise.
24802 (grub_efi_mm_init): Likewise.
24803 (grub_efi_mm_fini): Likewise.
24804 (grub_efi_init): Likewise.
24805 (grub_efi_fini): Likewise.
24806
24807 * include/grub/i386/efi/time.h: Do not include
24808 grub/symbol.h. Include grub/efi/time.h.
24809 (GRUB_TICKS_PER_SECOND): Removed.
24810 (grub_get_rtc): Likewise.
24811
24812 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24813 Added padding. The EFI spec is buggy.
24814 (GRUB_EFI_BLACK): New macro.
24815 (GRUB_EFI_BLUE): Likewise.
24816 (GRUB_EFI_GREEN): Likewise.
24817 (GRUB_EFI_CYAN): Likewise.
24818 (GRUB_EFI_RED): Likewise.
24819 (GRUB_EFI_MAGENTA): Likewise.
24820 (GRUB_EFI_BROWN): Likewise.
24821 (GRUB_EFI_LIGHTGRAY): Likewise.
24822 (GRUB_EFI_BRIGHT): Likewise.
24823 (GRUB_EFI_DARKGRAY): Likewise.
24824 (GRUB_EFI_LIGHTBLUE): Likewise.
24825 (GRUB_EFI_LIGHTGREEN): Likewise.
24826 (GRUB_EFI_LIGHTCYAN): Likewise.
24827 (GRUB_EFI_LIGHTRED): Likewise.
24828 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24829 (GRUB_EFI_YELLOW): Likewise.
24830 (GRUB_EFI_WHITE): Likewise.
24831 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24832 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24833 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24834 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24835 (GRUB_EFI_BACKGROUND_RED): Likewise.
24836 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24837 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24838 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24839 (GRUB_EFI_TEXT_ATTR): Likewise.
24840
24841 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24842 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24843 (kernel_mod_HEADERS): Added efi/time.h.
24844
83709125 248452006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24846
24847 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24848 include/grub/efi/api.h, include/grub/efi/console_control.h,
24849 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24850 include/grub/i386/efi/time.h, kern/efi/efi.c,
24851 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24852 and util/i386/efi/grub-mkimage.c.
24853
24854 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24855
24856 * genmk.rb (PModule#rule): Do not export symbols if
24857 #{prefix}_EXPORTS is set to "no".
24858
24859 * conf/i386-efi.mk: New file.
24860 * conf/i386-efi.rmk: Likewise.
24861 * include/grub/efi/api.h: Likewise.
24862 * include/grub/efi/console_control.h: Likewise.
24863 * include/grub/efi/efi.h: Likewise.
24864 * include/grub/efi/pe32.h: Likewise.
24865 * include/grub/i386/efi/time.h: Likewise.
24866 * kern/efi/efi.c: Likewise.
24867 * kern/i386/efi/init.c: Likewise.
24868 * kern/i386/efi/startup.S: Likewise.
24869 * util/i386/efi/grub-mkimage.c: Likewise.
24870
248712006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 24872
24873 * include/grub/script.h: Include <grub/parser.h> and
24874 "grub_script.tab.h".
24875 (struct grub_lexer_param): New struct.
24876 (struct grub_parser_param): Likewise.
24877 (grub_script_create_arglist): Pass the state in an argument.
24878 (grub_script_add_arglist): Likewise.
24879 (grub_script_create_cmdline): Likewise.
24880 (grub_script_create_cmdblock): Likewise.
24881 (grub_script_create_cmdif): Likewise.
24882 (grub_script_create_cmdmenu): Likewise.
24883 (grub_script_add_cmd): Likewise.
24884 (grub_script_arg_add): Likewise.
24885 (grub_script_lexer_ref): Likewise.
24886 (grub_script_lexer_deref): Likewise.
24887 (grub_script_lexer_record_start): Likewise.
24888 (grub_script_lexer_record_stop): Likewise.
24889 (grub_script_mem_record): Likewise.
24890 (grub_script_mem_record_stop): Likewise.
24891 (grub_script_malloc): Likewise.
24892 (grub_script_yylex): Likewise.
24893 (grub_script_yyparse): Likewise.
24894 (grub_script_yyerror): Likewise.
24895 (grub_script_yylex): Likewise.
24896 (grub_script_lexer_init): Return the state.
24897
24898 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24899 (grub_script_lexer_done): Likewise.
24900 (grub_script_lexer_getline): Likewise.
24901 (grub_script_lexer_refs): Likewise.
24902 (script): Likewise.
24903 (newscript): Likewise.
24904 (record): Likewise.
24905 (recording): Likewise.
24906 (recordpos): Likewise.
24907 (recordlen): Likewise.
24908 (grub_script_lexer_init): Return the state instead of setting
24909 global variables.
24910 (grub_script_lexer_ref): Use the newly added argument for state
24911 instead of globals.
24912 (grub_script_lexer_deref): Likewise.
24913 (grub_script_lexer_record_start): Likewise.
24914 (grub_script_lexer_record_stop): Likewise.
24915 (recordchar): Likewise.
24916 (nextchar): Likewise.
24917 (grub_script_yylex2): Likewise.
24918 (grub_script_yylex): Likewise.
24919 (grub_script_yyerror): Likewise.
24920
24921 * normal/parser.y (func_mem): Removed variable.
24922 (menu_entry): Likewise.
24923 (err): Likewise.
24924 (%lex-param): New parser option.
24925 (%parse-param): Likewise.
24926 (script): Always return the AST.
24927 (argument): Pass the state around.
24928 (arguments): Likewise.
24929 (grubcmd): Likewise.
24930 (commands): Likewise.
24931 (function): Likewise.
24932 (menuentry): Likewise.
24933 (if_statement): Likewise.
24934 (if): Likewise.
24935
24936 * normal/script.c (grub_script_memused): Removed variable.
24937 (grub_script_parsed): Likewise.
24938 (grub_script_malloc): Added a state argument. Use that instead of
24939 global variables.
24940 (grub_script_mem_record): Likewise.
24941 (grub_script_mem_record_stop): Likewise.
24942 (grub_script_arg_add): Likewise.
24943 (grub_script_add_arglist): Likewise.
24944 (grub_script_create_cmdline): Likewise.
24945 (grub_script_create_cmdif): Likewise.
24946 (grub_script_create_cmdmenu): Likewise.
24947 (grub_script_add_cmd): Likewise.
24948 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 24949
e2a8c904 249502006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 24951
24952 * normal/command.c (grub_command_init): Remove the title command.
24953
24954 * normal/lexer.c (grub_script_yylex): Renamed from this...
24955 (grub_script_yylex2): ... to this.
24956 (grub_script_yylex): New function. Temporary
24957 introduced to filter some tokens.
24958 (grub_script_yyerror): Print a newline.
24959
24960 * normal/main.c (read_config_file): Output information about the
24961 lines that contain errors. Wait for a key after all lines have
24962 been processed. Don't return an empty menu.
24963
24964 * normal/parser.y (func_mem): Don't initialize.
24965 (menu_entry): Likewise.
24966 (err): New variable.
24967 (script): Don't return anything when an error was encountered.
24968 (ws, returns): Removed rules.
24969 (argument): Disabled concatenated variable support.
24970 (arguments): Remove explicit separators.
24971 (grubcmd): Likewise.
24972 (function): Likewise.
24973 (menuentry): Likewise.
24974 (if): Likewise.
24975 (commands): Likewise. Add error handling.
24976
24977 * normal/script.c (grub_script_create_cmdline): If
24978 `grub_script_parsed' is 0, assume the parser encountered an error.
24979
c9a86192 249802006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24981
24982 * configure.ac: Add support for EFI. Fix the typo
24983 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24984
70f3b243 249852006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24986
24987 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24988 foreign multibyte characters should be shown correctly.
24989
65f201ad 249902006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24991
24992 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24993 calculation.
24994 (read_config_file): Made it to close file before returning.
24995
b4b93674 249962006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24997
24998 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24999 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
25000 video/i386/pc/vbefill.c.
25001
25002 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
25003 video/i386/pc/vbefill.c.
25004
25005 * include/grub/video.h (grub_video_blit_format): New enum.
25006 (grub_video_mode_info): Added new member blit_format.
25007 (grub_video_get_blit_format): New function prototype.
25008
25009 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
25010 function prototype.
25011 (grub_video_vbe_map_rgb): Likewise.
25012 (grub_video_vbe_unmap_color): Likewise.
25013
25014 * include/grub/i386/pc/vbeblit.h: New file.
25015
25016 * include/grub/i386/pc/vbefill.h: New file.
25017
25018 * video/video.c (grub_video_get_blit_format): New function.
25019 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
25020 (grub_video_vbe_map_rgb): Likewise.
25021 (grub_video_vbe_unmap_color): Likewise.
25022
25023 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
25024 optimized fills.
25025 (grub_video_vbe_blit_render_target): Changed to use more optimized
25026 blits.
25027 (grub_video_vbe_setup): Added detection for optimized settings.
25028 (grub_video_vbe_create_render_target): Likewise.
25029
25030 * video/i386/pc/vbeblit.c: New file.
25031
25032 * video/i386/pc/vbefill.c: New file.
25033
c2379b9c 250342006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
25035
25036 * font/manager.c (grub_font_get_glyph): Removed font fixup from
25037 here...
25038
25039 * util/unifont2pff.rb: ... and moved it to here. Improved argument
25040 parsing to support both hex and dec ranges. If filename was missing
25041 show usage information.
25042
bd0d7896 250432006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
25044
25045 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
25046 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
25047
25048 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
25049 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
25050 (video_mod_SOURCES): Added.
25051 (video_mod_CFLAGS): Likewise.
25052 (video_mod_LDFLAGS): Likewise.
25053 (gfxterm_mod_SOURCES): Likewise.
25054 (gfxterm_mod_CFLAGS): Likewise.
25055 (gfxterm_mod_LDFLAGS): Likewise.
25056 (videotest_mod_SOURCES): Likewise.
25057 (videotest_mod_CFLAGS): Likewise.
25058 (videotest_mod_LDFLAGS): Likewise.
25059 (vesafb_mod_SOURCES): Removed.
25060 (vesafb_mod_CFLAGS): Likewise.
25061 (vesafb_mod_LDFLAGS): Likewise.
25062 (vga_mod_SOURCES): Likewise.
25063 (vga_mod_CFLAGS): Likewise.
25064 (vga_mod_LDFLAGS): Likewise.
25065
25066 * commands/videotest.c: New file.
25067
25068 * font/manager.c (fill_with_default_glyph): Modified to use
25069 grub_font_glyph.
25070 (grub_font_get_glyph): Likewise.
25071 (fontmanager): Renamed from this...
25072 (font_manager): ... to this.
25073
25074 * include/grub/font.h (grub_font_glyph): Added new structure.
25075 (grub_font_get_glyph): Modified to use grub_font_glyph.
25076
25077 * include/grub/misc.h (grub_abs): Added as inline function.
25078
25079 * include/grub/video.h: New file.
25080
25081 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
25082 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
25083 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
25084 (grub_vbe_get_controller_info): Renamed from this...
25085 (grub_vbe_bios_get_controller_info): ... to this.
25086 (grub_vbe_get_mode_info): Renamed from this...
25087 (grub_vbe_bios_get_mode_info): ... to this.
25088 (grub_vbe_set_mode): Renamed from this...
25089 (grub_vbe_bios_set_mode): ... to this.
25090 (grub_vbe_get_mode): Renamed from this...
25091 (grub_vbe_bios_get_mode): ... to this.
25092 (grub_vbe_set_memory_window): Renamed from this...
25093 (grub_vbe_bios_set_memory_window): ... to this.
25094 (grub_vbe_get_memory_window): Renamed from this...
25095 (grub_vbe_bios_get_memory_window): ... to this.
25096 (grub_vbe_set_scanline_length): Renamed from this...
25097 (grub_vbe_set_scanline_length): ... to this.
25098 (grub_vbe_get_scanline_length): Renamed from this...
25099 (grub_vbe_bios_get_scanline_length): ... to this.
25100 (grub_vbe_set_display_start): Renamed from this...
25101 (grub_vbe_bios_set_display_start): ... to this.
25102 (grub_vbe_get_display_start): Renamed from this...
25103 (grub_vbe_bios_get_display_start): ... to this.
25104 (grub_vbe_set_palette_data): Renamed from this...
25105 (grub_vbe_bios_set_palette_data): ... to this.
25106 (grub_vbe_set_pixel_rgb): Removed.
25107 (grub_vbe_set_pixel_index): Likewise.
25108
25109 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
25110 from this...
25111 (grub_vbe_bios_get_controller_info): ... to this.
25112 (grub_vbe_get_mode_info): Renamed from this...
25113 (grub_vbe_bios_get_mode_info): ... to this.
25114 (grub_vbe_set_mode): Renamed from this...
25115 (grub_vbe_bios_set_mode): ... to this.
25116 (grub_vbe_get_mode): Renamed from this...
25117 (grub_vbe_bios_get_mode): ... to this.
25118 (grub_vbe_set_memory_window): Renamed from this...
25119 (grub_vbe_bios_set_memory_window): ... to this.
25120 (grub_vbe_get_memory_window): Renamed from this...
25121 (grub_vbe_bios_get_memory_window): ... to this.
25122 (grub_vbe_set_scanline_length): Renamed from this...
25123 (grub_vbe_set_scanline_length): ... to this.
25124 (grub_vbe_get_scanline_length): Renamed from this...
25125 (grub_vbe_bios_get_scanline_length): ... to this.
25126 (grub_vbe_set_display_start): Renamed from this...
25127 (grub_vbe_bios_set_display_start): ... to this.
25128 (grub_vbe_get_display_start): Renamed from this...
25129 (grub_vbe_bios_get_display_start): ... to this.
25130 (grub_vbe_set_palette_data): Renamed from this...
25131 (grub_vbe_bios_set_palette_data): ... to this.
25132 (grub_vbe_bios_get_controller_info): Fixed problem with registers
25133 getting corrupted after calling it. Added more pushes and pops.
25134 (grub_vbe_bios_set_mode): Likewise.
25135 (grub_vbe_bios_get_mode): Likewise.
25136 (grub_vbe_bios_get_memory_window): Likewise.
25137 (grub_vbe_bios_set_scanline_length): Likewise.
25138 (grub_vbe_bios_get_scanline_length): Likewise.
25139 (grub_vbe_bios_get_display_start): Likewise.
25140 (grub_vbe_bios_set_palette_data): Likewise.
25141
25142 * normal/cmdline.c (cl_set_pos): Refresh the screen.
25143 (cl_insert): Likewise.
25144 (cl_delete): Likewise.
25145
25146 * term/gfxterm.c: New file.
25147
25148 * term/i386/pc/vesafb.c: Removed file.
25149
25150 * video/video.c: New file.
25151
25152 * video/i386/pc/vbe.c (real2pm): Added new function.
25153 (grub_video_vbe_draw_pixel): Likewise.
25154 (grub_video_vbe_get_video_ptr): Likewise.
25155 (grub_video_vbe_get_pixel): Likewise
25156 (grub_video_vbe_init): Likewise.
25157 (grub_video_vbe_fini): Likewise.
25158 (grub_video_vbe_setup): Likewise.
25159 (grub_video_vbe_get_info): Likewise.
25160 (grub_video_vbe_set_palette): Likewise.
25161 (grub_video_vbe_get_palette): Likewise.
25162 (grub_video_vbe_set_viewport): Likewise.
25163 (grub_video_vbe_get_viewport): Likewise.
25164 (grub_video_vbe_map_color): Likewise.
25165 (grub_video_vbe_map_rgb): Likewise.
25166 (grub_video_vbe_map_rgba): Likewise.
25167 (grub_video_vbe_unmap_color): Likewise.
25168 (grub_video_vbe_fill_rect): Likewise.
25169 (grub_video_vbe_blit_glyph): Likewise.
25170 (grub_video_vbe_blit_bitmap): Likewise.
25171 (grub_video_vbe_blit_render_target): Likewise.
25172 (grub_video_vbe_scroll): Likewise.
25173 (grub_video_vbe_swap_buffers): Likewise.
25174 (grub_video_vbe_create_render_target): Likewise.
25175 (grub_video_vbe_delete_render_target): Likewise.
25176 (grub_video_vbe_set_active_render_target): Likewise.
25177 (grub_vbe_set_pixel_rgb): Remove function.
25178 (grub_vbe_set_pixel_index): Likewise.
25179 (index_color_mode): Remove static variable.
25180 (active_mode): Likewise.
25181 (framebuffer): Likewise.
25182 (bytes_per_scan_line): Likewise.
25183 (grub_video_vbe_adapter): Added new static variable.
25184 (framebuffer): Likewise.
25185 (render_target): Likewise.
25186 (initial_mode): Likewise.
25187 (mode_in_use): Likewise.
25188 (mode_list): Likewise.
25189
5f97350b 251902006-03-10 Marco Gerards <marco@gnu.org>
25191
25192 * configure.ac (AC_INIT): Bumped to 1.93.
25193
25194 * DISTLIST: Added `include/grub/hfs.h'.
25195
a3c5c6f8 251962006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
25197
25198 * boot/i386/pc/boot.S (general_error): Before looping, try INT
25199 18H, which might help the BIOS falling back to next boot media.
25200
6de53d26 252012006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
25202
25203 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
25204 Poe Chen <poe.poechen@gmail.com>.
25205
77c4a393 252062006-01-17 Marco Gerards <marco@gnu.org>
25207
25208 * include/grub/normal.h: Include <grub/script.h>.
25209 (grub_command_list): Removed struct.
25210 (grub_command_list_t): Removed type.
25211 (grub_menu_entry): Remove members `num' and `command_list'. Add
25212 members `commands' and `sourcecode'.
25213 * include/grub/script.h: Add inclusion guards.
25214 (grub_script_cmd_menuentry): New struct.
25215 (grub_script_execute_menuentry): New prototype.
25216 (grub_script_lexer_record_start): Likewise.
25217 (grub_script_lexer_record_stop): Likewise.
25218 * normal/execute.c (grub_script_execute_menuentry): New function.
25219 * normal/lexer.c (record, recording, recordpos, recordlen): New
25220 variables.
25221 (grub_script_lexer_record_start): New function.
25222 (grub_script_lexer_record_stop): Likewise.
25223 (recordchar): Likewise.
25224 (nextchar): Likewise.
25225 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
25226 2048 as the buffer size. Add the tokens `menuentry' and `@'.
25227 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
25228 (current_menu): New variable.
25229 (free_menu): Mainly rewritten.
25230 (grub_normal_menu_addentry): New function.
25231 (read_config_file): Rewritten.
25232 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 25233 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 25234 the menu entry.
25235 (run): Mainly rewritten.
25236 * normal/parser.y (menu_entry): New variable.
25237 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
25238 (menuentry): New rule.
25239 (command): Add `menuentry'.
25240 (if_statement): Allow additional returns before `fi'.
25241 * normal/script.c (grub_script_create_cmdmenu): New function.
25242
144f1f98 252432006-01-03 Marco Gerards <marco@gnu.org>
25244
25245 * INSTALL: GNU Bison is required.
25246 * configure.ac: Rewritten the test to detect Bison.
25247 * Makefile.in (YACC): New variable. Reported by Xun Sun
25248 <xun.sun.cn@gmail.com>.
25249
af4b2d89 252502006-01-03 Marco Gerards <marco@gnu.org>
25251
25252 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
25253 the HFS+ filesystem to filesystem blocks.
25254 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
25255 GCC warning is silenced.
25256
15643b71 252572006-01-03 Marco Gerards <marco@gnu.org>
25258
25259 * partmap/apple.c (apple_partition_map_iterate): Convert the data
25260 read from disk from big endian to host byte order.
25261
00905879 252622006-01-03 Hollis Blanchard <hollis@penguinppc.org>
25263
25264 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
25265 documentation.
25266 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
25267 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
25268 embedded HFS+ filesystem.
25269 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
25270 (grub_hfs_sblock): Move from here...
25271 * include/grub/hfs.h: To here... New file.
25272 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
25273 documentation.
25274 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
25275 New macros.
25276 (grub_hfsplus_volheader): Change type of member `magic' to
25277 `grub_uint16_t'.
25278 (grub_hfsplus_data): Add new member `embedded_offset'.
25279 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
25280 returned block.
25281 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
25282 Calculate the offset.
25283
8899bc3e 252842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25285
25286 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
25287 Removed.
25288 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
25289
ae8c0277 252902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25291
25292 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
25293 ENV->NAME is NULL after allocating ENV->VALUE.
25294
07084456 252952005-12-25 Marco Gerards <marco@gnu.org>
25296
25297 * kern/env.c (grub_env_set): Rewritten the error handling code.
25298
4750f5f1 252992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25300
25301 * geninit.sh: Made more robust, and more portable.
25302
50214199 253032005-12-25 Marco Gerards <marco@gnu.org>
25304
25305 Add support for Apple HFS+ filesystems.
f19dbdb7 25306
50214199 25307 * fs/hfsplus.c: New file.
25308
25309 * DISTLIST: Added `fs/hfsplus.c'.
25310
25311 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
25312 (hfsplus_mod_SOURCES): New variable.
25313 (hfsplus_mod_CFLAGS): Likewise.
25314 (hfsplus_mod_LDFLAGS): Likewise.
25315 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
25316 (grub_setup_SOURCES): Likewise.
25317 (grub_mkdevicemap_SOURCES): Likewise.
25318 (grub_emu_SOURCES): Likewise.
25319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25320
25321 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
25322
25323 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
25324
befaed6c 253252005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25326
25327 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
25328 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
25329 include/grub/parser.h, include/grub/script.h, kern/parser.c,
25330 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
25331 normal/lexer.c, normal/parser.y, normal/script.c, and
25332 partmap/gpt.c.
25333 Removed kern/sparc64/cache.c.
25334
25335 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
25336 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
25337 grub_emu_init.c.
25338
25339 * configure.ac (AC_INIT): Bumped to 1.92.
25340
6a124103 253412005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
25342
25343 * kern/err.c (grub_error_push): Added new function to support error
25344 stacks.
25345 (grub_error_pop): Likewise.
25346 (grub_error_stack_items): New local variable to support error stacks.
25347 (grub_error_stack_pos): Likewise.
25348 (grub_error_stack_assert): Likewise.
25349 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
25350 stack depth.
25351 (grub_print_error): Added support to print errors from error stack.
25352
25353 * include/grub/err.h (grub_error_push): Added function prototype.
25354 (grub_error_pop): Likewise.
25355
be973c1b 253562005-12-09 Hollis Blanchard <hollis@penguinppc.org>
25357
25358 * configure.ac: Accept `powerpc64' as host_cpu.
25359 (amd64): Rename to `biarch32'.
25360
25361 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
25362 non-cacheline-aligned addresses.
25363
25364 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
25365 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
25366 if `size' is non-zero.
25367
b04216ab 253682005-12-03 Marco Gerards <mgerards@xs4all.nl>
25369
25370 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
25371 and `cd' to make sure the filename is not prefixed with a
25372 directory name.
25373 (pkgdata_MODULES): Add `gpt.mod'.
25374 (gpt_mod_SOURCES): New variable.
25375 (gpt_mod_CFLAGS): Likewise.
25376 (gpt_mod_LDFLAGS): Likewise.
25377
25378 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
25379
25380 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
25381 New macro.
25382
25383 * partmap/gpt.c: New file.
25384
25385 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
25386 GPT partition map is detected.
25387
41730ed9 253882005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
25389
25390 * commands/i386/pc/play.c: New file.
25391 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
25392 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
25393 macros.
f19dbdb7 25394
95dc3643 253952005-11-27 Marco Gerards <mgerards@xs4all.nl>
25396
25397 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
25398 ((unused))' to silence gcc warning.
25399
1569ec51 254002005-11-26 Hollis Blanchard <hollis@penguinppc.org>
25401
25402 * configure.ac: Correct `AC_PROG_YACC' test.
25403
9abde152 254042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25405
25406 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25407 check before installing files.
25408
44b83271 254092005-11-22 Mike Small <smallm@panix.com>
25410
25411 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25412 number regex so multidigit numbers are recognized correctly.
25413
254142005-11-22 Mike Small <smallm@panix.com>
25415
25416 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25417 debugging message before attempting to claim memory.
25418 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25419 multiple addresses in case of failure.
25420
9c12956b 254212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25422
25423 * term/tparm.c (get_space): Remove empty `if' statement.
25424
25425 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25426
25427 * kern/parser.c (check_varstate): Rename `state' to 's'.
25428
aeaf81d9 254292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25430
25431 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25432 variable definitions to the beginning of each function. Sort stack
25433 variables by size.
25434 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25435 `buf' argument to `char *'.
25436
79bbb63f 254372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25438
25439 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25440 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25441 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 25442 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25443 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25444 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25445 configfile.mod, search.mod, gzio.mod and test.mod.
25446 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25447 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25448 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25449 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25450 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25451 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25452 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25453 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25454 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25455 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25456 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25457 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25458 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25459 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25460 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25461 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25462 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25463 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25464 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25465 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25466 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25467 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25468 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25469
25470 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25471 `grep --include'.
25472 (pkgdata_MODULES): Add test.mod.
25473
233b1628 254742005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25475
25476 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25477 appending to variables with "+=".
25478 (PModule): Use full pathname to generate *.lst filenames.
25479
25480 * Makefile.in: Fixed list rules moved from genmk.rb.
25481 (.DELETE_ON_ERROR): New special target.
25482 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25483
25484 * conf/i386-pc.rmk: Include conf/common.mk.
25485 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25486 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 25487 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25488 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25489 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25490 configfile.mod, search.mod, gzio.mod and test.mod.
25491 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25492 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25493 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25494 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25495 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25496 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25497 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25498 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25499 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25500 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25501 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25502 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25503 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25504 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25505 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25506 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25507 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25508 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25509 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25510 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25511 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25512 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25513 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25514 here...
25515 * conf/common.rmk: ... to here. New file.
25516
25517 * conf/common.mk: New file.
25518
16f820c8 255192005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25520
25521 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25522 (grub_script.tab.c): ... here.
25523
25524 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25525 (grub_script.tab.c): ... here.
25526
25527 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25528 (grub_script.tab.c): ... here.
25529
25530 * normal/command.c (grub_command_find): Fixed a memory leak of
25531 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25532
63ba1554 255332005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25534
25535 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25536 "@" which marks the start of a comment on ARM.
25537 (VARIABLE): Likewise.
25538
7f67dc13 255392005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25540
79bbb63f 25541 Add support for Linux/ADFS partition tables.
7f67dc13 25542
25543 * partmap/acorn.c: New file.
25544
25545 * include/grub/acorn_filecore.h: Likewise.
25546
25547 * DISTLIST: Added `partmap/acorn.c' and
25548 `include/grub/acorn_filecore.h'.
f19dbdb7 25549
7f67dc13 25550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25551 `partmap/acorn.c'.
25552 (pkgdata_MODULES): Add `acorn.mod'.
25553 (acorn_mod_SOURCES): New variable.
25554 (acorn_mod_CFLAGS): Likewise.
25555
25556 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25557 `partmap/acorn.c'.
25558 (pkgdata_MODULES): Add `acorn.mod'.
25559 (acorn_mod_SOURCES): New variable.
25560 (acorn_mod_CFLAGS): Likewise.
25561
25562 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25563 (pkgdata_MODULES): Add `acorn.mod'.
25564 (acorn_mod_SOURCES): New variable.
25565 (acorn_mod_CFLAGS): Likewise.
25566 (acorn_mod_LDFLAGS): Likewise.
25567
25568 * include/types.h (grub_disk_addr_t): New typedef.
25569
6d099807 255702005-11-13 Marco Gerards <mgerards@xs4all.nl>
25571
25572 * geninit.sh: New file.
25573
25574 * geninitheader.sh: Likewise.
25575
25576 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25577 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25578 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25579 * commands/configfile.c (grub_configfile_init)
25580 (grub_configfile_fini): Likewise.
25581 * commands/default.c (grub_default_init, grub_default_fini):
25582 Likewise.
25583 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25584 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25585 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25586 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25587 Likewise.
25588 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25589 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25590 Likewise.
25591 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 25592 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 25593 Likewise.
25594 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25595 Likewise.
fe6b695a 25596 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 25597 Likewise.
25598 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25599 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25600 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25601 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25602 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25603 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25604 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25605 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25606 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25607 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25608 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25609 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25610 * partmap/amiga.c (grub_amiga_partition_map_init)
25611 (grub_amiga_partition_map_fini): Likewise.
25612 * partmap/apple.c (grub_apple_partition_map_init)
25613 (grub_apple_partition_map_fini): Likewise.
25614 * partmap/pc.c (grub_pc_partition_map_init)
25615 (grub_pc_partition_map_fini): Likewise.
25616 * partmap/sun.c (grub_sun_partition_map_init,
25617 grub_sun_partition_map_fini): Likewise.
25618 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25619 Likewise.
25620
25621 * util/grub-emu.c: Include <grub_modules_init.h>.
25622 (main): Don't initialize and de-initialize any modules directly,
25623 use `grub_init_all' and `grub_fini_all' instead.
25624
25625 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25626 `grub_vesafb_mod_init'.
25627 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25628 all users.
25629 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25630 `grub_vga_mod_init'. Updated all users.
25631 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 25632
6d099807 25633 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25634 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25635 rules.
25636
25637 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25638 Generate a function to initialize the module in utilities.
25639 Updated all callers.
25640 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25641 initialize the module in utilities. Updated all callers.
25642
9046bcf0 256432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25644
25645 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25646 escape sequence and a literal ^L to clear the screen.
25647
25648 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25649 when returning from Open Firmware.
25650
d13ea639 256512005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25652
25653 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25654 (grub_ofconsole_height): Likewise.
25655 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25656 manually insert a '\n'.
25657 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25658 `grub_ofconsole_height'. Return early if these are already set.
25659
a8fcf206 256602005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25661
25662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25663 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25664 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25665 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25666 and `normal/script.c'.
25667 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25668 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25669 (test_mod_SOURCES): New variable.
25670 (test_mod_CFLAGS): Likewise.
25671 (test_mod_LDFLAGS): Likewise.
25672 (pkgdata_MODULES): Add `test.mod'.
25673 (grub_script.tab.c): New rule.
25674 (grub_script.tab.h): Likewise.
25675
b6b32745 256762005-11-07 Marco Gerards <mgerards@xs4all.nl>
25677
25678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25679 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25680 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25681 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25682 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25683 (test_mod_SOURCES): New variable.
25684 (test_mod_CFLAGS): Likewise.
25685 (pkgdata_MODULES): Add `test.mod'.
25686 (grub_script.tab.c): New rule.
25687 (grub_script.tab.h): Likewise.
25688
daac212a 256892005-11-06 Marco Gerards <mgerards@xs4all.nl>
25690
25691 Add initial scripting support.
25692
25693 * commands/test.c: New file.
25694 * include/grub/script.h: Likewise.
25695 * normal/execute.c: Likewise.
25696 * normal/function.c: Likewise.
25697 * normal/lexer.c: Likewise.
25698 * normal/parser.y: Likewise.
25699 * normal/script.c: Likewise.
25700
25701 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 25702
daac212a 25703 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25704 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25705 `normal/function.c' and `normal/script.c'.
25706 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25707 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 25708 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25709 variables.
daac212a 25710 (pkgdata_MODULES): Add `test.mod'.
25711 (grub_script.tab.c): New rule.
25712 (grub_script.tab.h): Likewise.
25713
25714 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25715
25716 * include/grub/normal.h (grub_test_init): New prototype.
25717 (grub_test_fini): Likewise.
f19dbdb7 25718
daac212a 25719 * normal/command.c: Include <grub/script.h>.
25720 (grub_command_execute): Rewritten.
f19dbdb7 25721
daac212a 25722 * util/grub-emu.c (main): Call `grub_test_init' and
25723 `grub_test_fini'.
25724
77500b2b 257252005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25726
25727 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25728 to 0.
25729 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25730 there are no pending characters.
25731
e45deb9e 257322005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25733
25734 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25735 `grub_strndup' to drop device arguments. Replace unnecessary
25736 `grub_strndup' with `grub_strdup'.
25737
4ce32619 257382005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25739
25740 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25741 `debug' environment variable has been set.
25742
257432005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 25744
4ce32619 25745 * Makefile.in (install-local): Use $(DATA).
25746 (uninstall): Likewise.
25747 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25748 (sbin_UTILITIES): ... to here.
25749 (sbin_SCRIPTS): New variable.
25750 (grub_install_SOURCES): New variable.
25751 * util/powerpc/ieee1275/grub-install.in: New file.
25752 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25753 variable.
25754 (add_segments): Call `grub_util_get_path'.
25755
25fe6f03 257562005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25757
25758 From Timothy Baldwin:
25759 * commands/ls.c (grub_ls_list_files): Close FILE with
25760 grub_file_close.
25761 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25762
04ccf3ec 257632005-10-24 Marco Gerards <mgerards@xs4all.nl>
25764
25765 * include/grub/parser.h: New file.
25766
25767 * kern/parser.c: Likewise.
25768
25769 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25770 (grub_setup_SOURCES): Likewise.
25771 (grub_probefs_SOURCES): Likewise.
25772 (grub_emu_SOURCES): Likewise.
25773 (kernel_img_HEADERS): Add `parser.h'.
25774
25775 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25776 (grub_emu_SOURCES): Add `kern/parser.c'.
25777 (grubof_SOURCES): Likewise.
25778
25779 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25780 (grubof_SOURCES): Add `kern/parser.c'.
25781
25782 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25783
25784 * kern/misc.c (grub_split_cmdline): Removed function.
25785
25786 * kern/rescue.c: Include <grub/parser.h>.
25787 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25788 of `grub_split_cmdline'.
25789
25790 * normal/command.c: Include <grub/parser.h>.
25791 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25792 of `grub_split_cmdline'.
25793
25794 * normal/completion.c: Include <grub/parser.h>.
25795 (cmdline_state): New variable.
25796 (iterate_dir): End the filename with a quote depending on the
25797 command line state.
25798 (get_state): new function.
25799 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25800 split the arguments and determine the current argument. When the
25801 argument string is not quoted, escape all spaces.
25802
6d8f4b0e 258032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25804
25805 * normal/sparc64/setjmp.S: New file.
25806
15cf03ed 258072005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25808
25809 * include/grub/sparc64/libgcc.h: New file.
25810 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25811 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25812 normal/sparc64/setjmp.c.
25813
03e8661a 258142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25815
25816 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25817 * kern/sparc64/cache.S: New file.
25818 * kern/sparc64/cache.c: Removed.
25819 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25820 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25821 -mtune=ultrasparc.
25822 (COMMON_LDFLAGS): Add -melf64_sparc.
25823 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25824 (grubof_SOURCES): Use cache.S instead of cache.c.
25825 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25826 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25827 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25828 commented though.
25829 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25830 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25831 (linux_mod_CFLAGS): Commented out.
25832 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25833 out because module isn't built.
25834 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25835 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25836 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25837 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25838 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25839 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25840 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25841 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25842 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25843 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25844 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25845 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25846 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25847 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25848
34eeec8a 258492005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25850
25851 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25852 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25853 longer, because HFS should not be used on PC.
25854
708367a3 258552005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25856
25857 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25858 consistently within the loop.
25859
6fa1251a 258602005-10-15 Marco Gerards <mgerards@xs4all.nl>
25861
25862 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25863 directory can not be read.
25864
4801580b 258652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25866
25867 * configure.ac (AC_INIT): Increase the version number to 1.91.
25868
25869 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25870 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25871 term/i386/pc/serial.c.
25872
219ad426 258732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25874
25875 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25876 file size must be permitted.
25877
25878 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25879 between %ah and %al.
25880
688e5699 258812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25882
25883 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25884 grub_uint64_t.
25885 Call the hook with a NUL-terminated filename.
25886 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25887 grub_cpu_to_be32.
25888
25889 * kern/term.c (cursor_state): New variable.
25890 (grub_term_set_current): Reset the cursor state on a new
25891 terminal.
25892 (grub_setcursor): Rewritten to use CURSOR_STATE.
25893 (grub_getcursor): New function.
25894
25895 * include/grub/term.h (grub_getcursor): New prototype.
25896
25897 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25898 integers on ARM. Reported by Timothy Baldwin
25899 <T.E.Baldwin99@members.leeds.ac.uk>.
25900
bb34586c 259012005-10-11 Marco Gerards <mgerards@xs4all.nl>
25902
25903 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25904 allocated.
25905 (grub_sfs_dir): Likewise.
25906
9a909877 259072005-10-09 Marco Gerards <mgerards@xs4all.nl>
25908
25909 Add support for the SFS filesystem.
25910
25911 * fs/sfs.c: New file.
25912
25913 * DISTLIST: Added `fs/sfs.c'.
25914
25915 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25916 (grub_probefs_SOURCES): Likewise.
25917 (grub_emu_SOURCES): Likewise.
25918 (pkgdata_MODULES): Add `sfs.mod'.
25919 (sfs_mod_SOURCES): New variable.
25920 (sfs_mod_CFLAGS): Likewise.
25921 (sfs_mod_LDFLAGS): Likewise.
25922
25923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25924 (pkgdata_MODULES): Add `sfs.mod'.
25925 (sfs_mod_SOURCES): New variable.
25926 (sfs_mod_CFLAGS): Likewise.
25927
25928 * util/grub-emu.c (main): Call `grub_sfs_init' and
25929 `grub_sfs_fini'.
25930
25931 * include/grub/fs.h (grub_sfs_init): New prototype.
25932 (grub_sfs_fini): Likewise.
25933
57bdbde3 259342005-10-07 Marco Gerards <mgerards@xs4all.nl>
25935
25936 Add support for the AFFS filesystem.
25937
25938 * fs/affs.c: New file.
25939
25940 * DISTLIST: Added `fs/affs.c'.
25941
25942 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25943 (grub_probefs_SOURCES): Likewise.
25944 (grub_emu_SOURCES): Likewise.
25945 (pkgdata_MODULES): Add `affs.mod'.
25946 (affs_mod_SOURCES): New variable.
25947 (affs_mod_CFLAGS): Likewise.
25948 (affs_mod_LDFLAGS): Likewise.
25949
25950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25951 (pkgdata_MODULES): Add `affs.mod'.
25952 (affs_mod_SOURCES): New variable.
25953 (affs_mod_CFLAGS): Likewise.
25954
25955 * util/grub-emu.c (main): Call `grub_affs_init' and
25956 `grub_affs_fini'.
25957
25958 * include/grub/fs.h (grub_affs_init): New prototype.
25959 (grub_affs_fini): Likewise.
25960
047b67e0 259612005-10-01 Marco Gerards <mgerards@xs4all.nl>
25962
25963 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25964
59b8208a 259652005-10-01 Marco Gerards <mgerards@xs4all.nl>
25966
25967 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25968 `-m32' to CFLAGS.
25969
25970 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25971 linking.
f19dbdb7 25972
59b8208a 25973 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25974 (COMMON_LDFLAGS): New variable.
25975 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25976 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25977 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25978 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25979 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25980 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25981 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25982 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25983 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25984 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25985 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25986 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25987 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25988 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25989 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25990 variables.
25991 (normal_mod_ASFLAGS): Add `-m32'.
25992
25993 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25994 (grub_host_size_t, grub_host_ssize_t): New types.
25995 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 25996 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 25997 `GRUB_HOST_SIZEOF_VOID_P'.
25998
25999 * include/grub/kernel.h (struct grub_module_header): Type of
26000 member offset changed to `grub_host_off_t'. Type of member size
26001 changed to `grub_host_size_t'.
26002 (struct grub_module_info): Type of member offset changed to
26003 `grub_host_off_t'. Type of member size changed to
26004 `grub_host_size_t'.
26005
b4093103 260062005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
26007
26008 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 26009
b4093103 26010 * kern/i386/pc/startup.S (multiboot_header): New label.
26011 (multiboot_entry): Likewise.
26012 (multiboot_trampoline): Likewise.
26013
26014 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26015 Increased to 0x4A0.
26016
26017 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
26018 put parentheses after a question mark.
26019 [!GRUB_UTIL] (my_mod): New variable.
26020
26021 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
26022
b2499b29 260232005-09-28 Marco Gerards <mgerards@xs4all.nl>
26024
26025 Adds support for the XFS filesystem. Btrees are not supported
26026 yet.
26027
26028 * fs/xfs.c: New file.
26029
26030 * DISTLIST: Added `fs/xfs.c'.
26031
26032 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
26033 (grub_probefs_SOURCES): Likewise.
26034 (grub_emu_SOURCES): Likewise.
26035 (pkgdata_MODULES): Add `xfs.mod'.
26036 (xfs_mod_SOURCES): New variable.
26037 (xfs_mod_CFLAGS): Likewise.
26038
26039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
26040 (pkgdata_MODULES): Add `xfs.mod'.
26041 (xfs_mod_SOURCES): New variable.
26042 (xfs_mod_CFLAGS): Likewise.
26043
26044 * util/grub-emu.c (main): Call `grub_xfs_init' and
26045 `grub_xfs_fini'.
26046
26047 * include/grub/fs.h (grub_xfs_init): New prototype.
26048 (grub_xfs_fini): Likewise.
26049
f19dbdb7 26050
83d37a62 260512005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
26052
26053 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
26054 color modes, allow greater than 16 colors to be configured as
26055 a default palette.
26056
47d2d65e 260572005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26058
26059 * normal/completion.c (complete_arguments): Add the qualifier
26060 const into OPTIONS.
26061
26062 From Omniflux <omniflux+lists@omniflux.com>:
26063 * include/grub/terminfo.h: New file.
26064 * include/grub/tparm.h: Likewise.
26065 * include/grub/i386/pc/serial.h: Likewise.
26066 * term/terminfo.c: Likewise.
26067 * term/tparm.c: Likewise.
26068 * term/i386/pc/serial.c: Likewise.
26069 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
26070 serial.mod.
26071 (terminfo_mod_SOURCES): New variable.
26072 (terminfo_mod_CFLAGS): Likewise.
26073 (serial_mod_SOURCES): Likewise.
26074 (serial_mod_CFLAGS): Likewise.
26075
48b671ff 260762005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
26077
26078 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
26079 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
26080 and kern/powerpc/ieee1275/cmain.c, respectively.
26081
26082 * boot/powerpc/ieee1275/crt0.S: Moved to ...
26083 * kern/powerpc/ieee1275/crt0.S: ... here.
26084
26085 * boot/powerpc/ieee1275/cmain.c: Moved to ...
26086 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 26087
48b671ff 26088 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
26089 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
26090 instead of boot/powerpc/ieee1275/crt0.S and
26091 boot/powerpc/ieee1275/cmain.c, respectively.
26092
26093 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
26094 sectors. It was not used anyway.
26095
09fc77a7 260962005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26097
26098 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
26099 `unused parameter' warning.
26100
003789c7 261012005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26102
26103 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
26104 function.
26105 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
26106 getcharwidth.
26107
67f44c86 261082005-08-28 Marco Gerards <metgerards@student.han.nl>
26109
26110 * include/grub/normal.h (enum grub_completion_type): Added
26111 `GRUB_COMPLETION_TYPE_ARGUMENT'.
26112
26113 * normal/cmdline.c (print_completion): Handle
26114 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
26115 * normal/menu_entry.c (store_completion): Likewise.
26116
26117 * normal/completion.c (complete_arguments): New function.
26118 (grub_normal_do_completion): Call `complete_arguments' when the
26119 current words start with a dash.
26120
0b5abe02 261212005-08-27 Marco Gerards <metgerards@student.han.nl>
26122
26123 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
26124 `gzio.mod' instead of `io.mod').
26125
d9864ee1 261262005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
26127
26128 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
26129 (DISTDIRS): Added io and video.
26130 Rewrite the search routine to make an output consistently.
26131
26132 * DISTLIST: Added conf/sparc64-ieee1275.mk,
26133 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
26134 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
26135 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
26136 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
26137 util/powerpc/ieee1275/misc.c.
f19dbdb7 26138
d9864ee1 26139 * include/grub/gzio.h: New file.
26140 * io/gzio.c: Likewise.
f19dbdb7 26141
d9864ee1 26142 * kern/file.c (grub_file_close): Call grub_device_close only if
26143 FILE->DEVICE is not NULL.
26144
26145 * include/grub/mm.h [!NULL] (NULL): New macro.
26146
26147 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
26148
26149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
26150 (pkgdata_MODULES): Added gzio.mod.
26151 (gzio_mod_SOURCES): New variable.
26152 (gzio_mod_CFLAGS): Likewise.
26153
26154 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
26155 (pkgdata_MODULES): Added gzio.mod.
26156 (gzio_mod_SOURCES): New variable.
26157 (gzio_mod_CFLAGS): Likewise.
26158
26159 * commands/cat.c: Include grub/gzio.h.
26160 (grub_cmd_cat): Use grub_gzfile_open instead of
26161 grub_file_open.
f19dbdb7 26162
d9864ee1 26163 * commands/cmp.c: Include grub/gzio.h.
26164 (grub_cmd_cmp): Use grub_gzfile_open instead of
26165 grub_file_open.
26166
26167 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
26168 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
26169 grub_file_open.
26170 (grub_rescue_cmd_module): Likewise.
26171
fa46f4b5 261722005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26173
26174 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
26175 kern/sparc64/ieee1275/init.c because it contains _start.
26176 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
26177
e9211b5d 261782005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26179
26180 * configure.ac: Add support for sparc64 host with ieee1275
26181 firmware.
26182 * configure: Generated from configure.ac.
26183 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
26184 instead of int.
26185 (grub_ofdisk_read): Likewise.
26186 (grub_ofdisk_open): Use %p to print pointer values, and cast the
26187 pointers as (void *) to remove a warning.
26188 (grub_ofdisk_close): Likewise.
26189 (grub_ofdisk_read): Likewise.
26190 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
26191 returns, so make it return void to remove a warning.
26192 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
26193 Corresponding prototype change.
26194 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
26195 values, and cast the pointers as (void *) to remove a warning.
26196 (grub_mm_dump): Likewise.
26197 * conf/sparc64-ieee1275.mk: New file.
26198 * conf/sparc64-ieee1275.rmk: Likewise.
26199 * include/grub/sparc64/setjmp.h: Likewise.
26200 * include/grub/sparc64/types.h: Likewise.
26201 * include/grub/sparc64/ieee1275/console.h: Likewise.
26202 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26203 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26204 * include/grub/sparc64/ieee1275/time.h: Likewise.
26205 * kern/sparc64/cache.c: Likewise.
26206 * kern/sparc64/dl.c: Likewise.
26207 * kern/sparc64/ieee1275/init.c: Likewise.
26208 * kern/sparc64/ieee1275/openfw.c: Likewise.
26209
385c6a92 262102005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26211
26212 * util/console.c (grub_ncurses_putchar): If C is greater than
26213 0x7f, set C to a question mark.
26214 (grub_ncurses_getcharwidth): New function.
26215 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
26216 getcharwidth.
26217
26218 * normal/menu.c (print_entry): Made aware of Unicode. First,
26219 convert TITLE to UCS-4, and predict the cursor position by
26220 grub_getcharwidth.
26221
26222 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
26223 const to SRC.
26224 * kern/misc.c (grub_utf16_to_utf8): Likewise.
26225
16ccb8b1 262262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26227
26228 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
26229 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26230 grub_strcat.
26231
26232 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
26233 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26234 grub_strcpy and grub_strlen. Take it into account that a space
26235 character is inserted as a delimiter.
26236
6a85ce79 262372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26238
26239 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 26240 invalid magic in the error.
6a85ce79 26241
26242 * commands/search.c: New file.
f19dbdb7 26243
6a85ce79 26244 * util/grub-emu.c (main): Call grub_search_init and
26245 grub_search_fini.
26246
26247 * kern/rescue.c (grub_rescue_print_disks): Removed.
26248 (grub_rescue_print_devices): New function.
26249 (grub_rescue_cmd_ls): Use grub_device_iterate with
26250 grub_rescue_print_devices instead of grub_disk_dev_iterate with
26251 grub_rescue_print_disks.
26252
26253 * kern/partition.c (grub_partition_iterate): Return the result of
26254 PARTMAP->ITERATE instead of GRUB_ERRNO.
26255
26256 * kern/device.c: Include grub/partition.h.
26257 (grub_device_iterate): New function.
26258
26259 * include/grub/partition.h (grub_partition_iterate): Return int
26260 instead of grub_err_t.
26261
26262 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
26263 prototype.
26264 [GRUB_UTIL] (grub_search_fini): Likewise.
26265
26266 * include/grub/device.h (grub_device_iterate): New prototype.
26267
26268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26269 commands/search.c.
26270 (pkgdata_MODULES): Added search.mod.
26271 (search_mod_SOURCES): New variable.
26272 (search_mod_CFLAGS): Likewise.
26273
26274 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
26275 (pkgdata_MODULES): Added search.mod.
26276 (search_mod_SOURCES): New variable.
26277 (search_mod_CFLAGS): Likewise.
26278
26279 * commands/ls.c (grub_ls_list_disks): Renamed to ...
26280 (grub_ls_list_devices): ... this, and use grub_device_iterate.
26281 All callers changed.
26282
26283 * DISTLIST: Added commands/search.c.
26284
ef095434 262852005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26286
26287 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
26288 conversion.
26289 (grub_getcharwidth): New function.
26290
26291 * kern/misc.c (grub_utf8_to_ucs4): New function.
26292
26293 * include/grub/term.h (struct grub_term): Added a new member
26294 "getcharwidth".
26295 (grub_getcharwidth): New prototype.
26296
26297 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
26298
26299 * term/i386/pc/console.c (map_char): New function. Segregated from
26300 grub_console_putchar.
26301 (grub_console_putchar): Use map_char.
26302 (grub_console_getcharwidth): New function.
26303 (grub_console_term): Specified grub_console_getcharwidth as
26304 getcharwidth.
26305
26306 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
26307 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
26308
26309 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
26310 GRUB_ERRNO.
26311 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
26312 on grub_strtoul completely.
26313 (write_char): Declare local variables in the beginning of the
26314 function.
26315 (grub_vesafb_getcharwidth): New function.
26316 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
26317 getcharwidth.
26318
1f0a95e4 263192005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
26320
26321 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
26322 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
26323 commands/i386/pc/vbetest.c.
26324
26325 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
26326 call grub_vbe_get_controller_info again, because the returned
26327 information is volatile.
26328 (grub_vbe_set_video_mode): Mostly rewritten.
26329 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
26330 grub_vbe_status_t correctly.
26331 (grub_vbe_get_video_mode_info): Likewise.
26332 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
26333 several if statements.
26334
26335 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
26336 * commands/i386/pc/vbeinfo.c: ... this.
26337
26338 * commands/i386/pc/vbe_test.c: Renamed to ...
26339 * commands/i386/pc/vbetest.c: ... this.
26340
26341 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
26342 ...
26343 (grub_cmd_vbeinfo): ... this. Save video modes before
26344 iterating. Skip a video mode, if it is not available, not enough
26345 information is given or it is monochrome. Show the memory
26346 model. Leave the interpretation of MODEVAR to grub_strtoul
26347 completely.
26348 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
26349 (GRUB_MOD_FINI): Likewise.
26350
26351 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
26352 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
26353 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
26354 duplicated grub_env_get. Leave the interpretation of MODEVAR to
26355 grub_strtoul completely.
26356 (real2pm): Removed.
26357 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
26358 (GRUB_MOD_FINI): Likewise.
26359
26360 * normal/misc.c: Include grub/mm.h.
26361
26362 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
26363 vbe_list_modes with vbetest.mod and vbeinfo.mod.
26364 (vbe_list_modes_mod_SOURCES): Removed.
26365 (vbe_list_modes_mod_CFLAGS): Likewise.
26366 (vbe_test_mod_SOURCES): Likewise.
26367 (vbe_test_mod_CFLAGS): Likewise.
26368 (vbeinfo_mod_SOURCES): New variable.
26369 (vbeinfo_mod_CFLAGS): Likewise.
26370 (vbetest_mod_SOURCES): Likewise.
26371 (vbetest_mod_CFLAGS): Likewise.
26372
992ffbbe 263732005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
26374
26375 * normal/misc.c: New file.
26376
26377 * DISTLIST: Added normal/misc.c.
f19dbdb7 26378
992ffbbe 26379 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
26380 DISK to HOOK. Call HOOK with DISK.
26381 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26382 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26383 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26384
26385 * normal/menu_entry.c (struct screen): Added a new member
26386 "completion_shown".
26387 (completion_buffer): New global variable.
26388 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
26389 (store_completion): New function.
26390 (complete): Likewise.
26391 (clear_completions): Likewise.
26392 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
26393 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
26394 a tab, call complete.
26395
26396 * normal/completion.c (disk_dev): Removed.
26397 (print_simple_completion): Likewise.
26398 (print_partition_completion): Likewise.
26399 (print_func): New global variable.
26400 (add_completion): Do not take the arguments WHAT or PRINT any
26401 longer. Added a new argument TYPE. Instead of printing directly,
26402 call PRINT_FUNC if not NULL.
26403 All callers changed.
26404 (complete_device): Use a local variable DEV instead of
26405 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26406 (grub_normal_do_completion): Take a new argument HOOK. Do not
26407 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26408 empty string, return NULL instead.
26409 All callers changed.
26410
26411 * normal/cmdline.c (print_completion): New function.
26412
26413 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26414 to HOOK.
26415 All callers changed.
26416
26417 * kern/disk.c (grub_print_partinfo): Removed.
26418
26419 * include/grub/partition.h (struct grub_partition_map): Add a new
26420 argument DISK into HOOK of ITERATE.
26421 (grub_partition_iterate): Add a new argument DISK to HOOK.
26422
26423 * include/grub/normal.h (enum grub_completion_type): New enum.
26424 (grub_completion_type_t): New type.
26425 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26426 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26427 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26428 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26429 (grub_normal_do_completion): Added a new argument HOOK.
26430 (grub_normal_print_device_info): New prototype.
26431
26432 * include/grub/disk.h (grub_print_partinfo): Removed.
26433
26434 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26435 (normal_mod_SOURCES): Likewise.
26436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26437 (normal_mod_SOURCES): Likewise.
26438
26439 * commands/ls.c (grub_ls_list_disks): Use
26440 grub_normal_print_device_info instead of grub_print_partinfo. Free
26441 PNAME.
26442 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26443 duplicating the code.
26444
0bd41162 264452005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26446
26447 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 26448 follow GCS more precisely.
26449 * commands/i386/pc/vbe_test.c: Likewise.
26450 * include/grub/i386/pc/vbe.h: Likewise.
26451 * term/i386/pc/vesafb.c: Likewise.
26452 * video/i386/pc/vbe.c: Likewise.
0bd41162 26453
6323696a 264542005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26455
26456 * DISTLIST: Added term/i386/pc/vesafb.c
26457 DISTLIST: Added video/i386/pc/vbe.c
26458 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26459 DISTLIST: Added commands/i386/pc/vbe_test.c.
26460 * commands/i386/pc/vbe_list_modes.c: New file.
26461 * commands/i386/pc/vbe_test.c: Likewise.
26462 * term/i386/pc/vesafb.c: Likewise.
26463 * video/i386/pc/vbe.c: Likewise.
26464 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26465 (grub_vbe_probe) Added prototype.
26466 (grub_vbe_set_video_mode) Likewise.
26467 (grub_vbe_get_video_mode) Likewise.
26468 (grub_vbe_get_video_mode_info) Likewise.
26469 (grub_vbe_set_pixel_rgb) Likewise.
26470 (grub_vbe_set_pixel_index) Likewise.
26471 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26472 (pkgdata_MODULES): Added vesafb.mod.
26473 (pkgdata_MODULES): Added vbe_list_modes.mod.
26474 (pkgdata_MODULES): Added vbe_test.mod.
26475 (vbe_mod_SOURCES): Added.
26476 (vbe_mod_CFLAGS): Likewise.
26477 (vesafb_mod_SOURCES): Likewise.
26478 (vesafb_mod_CFLAGS): Likewise.
26479 (vbe_list_modes_mod_SOURCES): Likewise.
26480 (vbe_list_modes_mod_CFLAGS): Likewise.
26481 (vbe_test_mod_SOURCES): Likewise.
26482 (vbe_test_mod_CFLAGS): Likewise.
26483
0a74e62f 264842005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26485
0a74e62f 26486 * normal/command.c (grub_command_execute): If INTERACTIVE is
26487 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26488 CMDLINE. Disable the pager if INTERACTIVE is true.
26489 All callers are changed.
26490
26491 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26492 before reading a config file.
26493 * normal/main.c (read_config_file): Even if a command is not
26494 found, register it if it is within an entry.
26495
26496 * util/grub-emu.c: Include sys/types.h and unistd.h.
26497 (options): Added --hold.
26498 (struct arguments): Added a new member "hold".
26499 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26500 missing.
26501 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26502 cleared by a debugger, if it is not zero.
26503
26504 * include/grub/normal.h (grub_command_execute): Add an argument
26505 INTERACTIVE.
26506
e51f85ae 265072005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26508
26509 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26510
e9c6f39b 265112005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26512
26513 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26514 program with another one, because the old one didn't detect a bug
26515 in gcc-3.4. Always use regparm 2, because the new test is still
26516 not enough for gcc-4.0. Someone must investigate a simple test
26517 case which detects a bug in gcc-4.0.
26518
8de3495c 265192005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26520
26521 * DISTLIST: Added normal/completion.c.
26522
26523 * normal/completion.c: New file.
f19dbdb7 26524
8de3495c 26525 * term/i386/pc/console.c (grub_console_getwh): New function.
26526 (grub_console_term): Assign grub_console_getwh to getwh.
26527
26528 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26529 function is defined in normal/completion.c as
26530 grub_normal_do_completion.
26531 (grub_cmdline_get): Use grub_normal_do_completion instead of
26532 grub_tab_complete.
26533
26534 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26535 returns non-zero, otherwise return 0.
26536 (grub_partition_iterate): First, probe the partition map. Then,
26537 call ITERATE only for this partition map.
26538
26539 * kern/misc.c (grub_strncmp): Rewritten.
26540
26541 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26542 returns non-zero. Otherwise return 0.
26543
26544 * include/grub/partition.h (grub_partition_map_iterate): Return
26545 int instead of void.
26546
26547 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26548
26549 * include/grub/misc.h (grub_strncmp): Change the type of N to
26550 grub_size_t.
26551
26552 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26553 of void.
26554
26555 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 26556 unsigned explicitly before comparing it with I.
8de3495c 26557
26558 * kern/main.c (grub_env_write_root): Add the attribute unused into
26559 VAR.
26560
26561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26562 normal/completion.c.
26563 (normal_mod_SOURCES): Likewise.
26564 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26565 (normal_mod_SOURCES): Likewise.
26566
26567 * normal/command.c (grub_iterate_commands): If ITERATE returns
26568 non-zero, return one immediately.
26569
e85e144b 265702005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26571
26572 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26573 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26574 descriptions.
26575 (grub_vbe_get_controller_info): New function.
26576 (grub_vbe_get_mode_info): Likewise.
26577 (grub_vbe_set_mode): Likewise.
26578 (grub_vbe_get_mode): Likewise.
26579 (grub_vbe_set_memory_window): Likewise.
26580 (grub_vbe_get_memory_window): Likewise.
26581 (grub_vbe_set_scanline_length): Likewise.
26582 (grub_vbe_get_scanline_length): Likewise.
26583 (grub_vbe_set_display_start): Likewise.
26584 (grub_vbe_get_display_start): Likewise.
26585 (grub_vbe_set_palette_data): Likewise.
26586 * include/grub/i386/pc/vbe.h: New file.
26587
c46153d2 265882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26589
26590 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26591 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26592 * DISTLIST: Likewise.
26593 * kern/ieee1275/of.c: Moved to ...
26594 * kern/ieee1275/ieee1275.c: ... here.
26595
0cb90c45 265962005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26597
26598 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26599 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26600 Pass 0 as `end' parameter to grub_strtoul().
26601
a19fb360 266022005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26603
26604 * include/grub/powerpc/ieee1275/console.h: Do not include
26605 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26606 ifdef.
26607 (grub_console_cur_color): Remove i386-specific prototype.
26608 (grub_console_real_putchar): Likewise.
26609 (grub_console_checkkey): Likewise.
26610 (grub_console_getkey): Likewise.
26611 (grub_console_getxy): Likewise.
26612 (grub_console_gotoxy): Likewise.
26613 (grub_console_cls): Likewise.
26614 (grub_console_setcursor): Likewise.
26615 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26616 Include <grub/machine/console.h>.
26617 * term/ieee1275/ofconsole.c: Likewise.
26618
4ac9bd04 266192005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26620
26621 * Makefile.in (LIBLZO): New variable.
26622
26623 * configure.ac: Check for LZO version 2.
26624
26625 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26626 lzo/lzo1x.h instead of lzo1x.h.
26627
26628 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26629 of -llzo.
26630
26631 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26632 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26633
26634 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26635 copying the data from PARTITION to P.
26636
f4917dfd 266372005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26638
26639 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26640 negative, unload the module.
26641
26642 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26643 map is "pc_partition_map" but not "pc".
26644 (usage): Fix the description. The options are --boot-image and
26645 --core-image but not --boot-file or --core-file.
26646 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26647 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26648 DEFAULT_DIRECTORY.
26649
26650 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26651 --core-file. Specify INSTALL_DEVICE as an argument.
26652
26653 * util/console.c: Include config.h.
26654 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26655 [HAVE_NCURSES_H]: Include ncurses.h.
26656 [HAVE_CURSES_H]: Include curses.h.
26657 [!A_NORMAL] (A_NORMAL): Defined as zero.
26658 [!A_STANDOUT] (A_STANDOUT): Likewise.
26659
26660 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26661 -lncurses.
26662 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26663
26664 * configure.ac: Check for curses libraries and headers.
26665
26666 * Makefile.in (LIBCURSES): New variable.
26667
26668 * genmk.rb (Script::rule): Set the executable bits.
26669
26670 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26671 name of the PC partition map is "pc_partition_map" but not "pc".
26672
0e143073 266732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26674
26675 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26676 (modules): Likewise.
26677 (usage): Added descriptions for --modules and --grub-probefs.
26678 Handle --modules and --grub-probefs. Save the arguments in MODULES
26679 and GRUB_PROBEFS, respectively.
26680 Auto-detect a filesystem module against GRUBDIR. If the result is
26681 empty and modules are not specified explicitly, abort the
26682 installation. Add the result to MODULES.
26683
26684 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26685 disk/powerpc/ieee1275/ofdisk.c,
26686 include/grub/powerpc/ieee1275/init.h and
26687 term/powerpc/ieee1275/ofconsole.c.
26688 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26689 term/ieee1275/ofconsole.c.
26690
26691 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26692
26693 * COPYING: Upgraded to the latest version. Only the address of the
26694 FSF office has changed.
f19dbdb7 26695
efd6e6d5 266962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26697
26698 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26699 kern/ieee1275.c with kern/ieee1275/of.c.
26700
26701 * kern/ieee1275.c: Moved to ...
26702 * kern/ieee1275/of.c: ... here.
26703
8ceafda2 267042005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26705
26706 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 26707 readability.
8ceafda2 26708
26709 * config.guess: Updated to the latest version from gnulib.
26710 * config.sub: Likewise.
26711 * install.sh: Likewise.
26712 * mkinstalldirs: Likewise.
26713
26714 * include/grub/console.h: Removed. This file is arch-specific. Do
26715 not put this in include/grub.
26716
26717 * include/grub/i386/pc/console.h: Resurrected.
26718
26719 * util/console.c: Include grub/machine/console.h instead of
26720 grub/console.h.
26721 * util/grub-emu.c: Likewise.
26722
267f6cd9 267232005-08-04 Marco Gerards <metgerards@student.han.nl>
26724
26725 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26726 hardcoded value.
f19dbdb7 26727
267f6cd9 26728 From Vincent Pelletier <subdino2004@yahoo.fr>
26729 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26730 Redefined to use grub_getwh.
26731 (grub_term): New member named getwh.
26732 (grub_getwh): New prototype.
26733 * kern/term.c (grub_getwh): New function.
26734 * term/i386/pc/console.c (grub_console_getwh): New function.
26735 (grub_console_term): New member `getwh'.
26736 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26737 (grub_vga_term): New member `getwh'.
0b5abe02 26738 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 26739 grub_ssize_t.
26740 (grub_ofconsole_getw): New function.
26741 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26742 (grub_ofconsole_term): New field named getwh and new initial
26743 value.
26744
3be7266d 267452005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26746
26747 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26748 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26749 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26750 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26751 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26752 of <grub/machine/ieee1275.h>.
26753 * commands/ieee1275/reboot.c: Likewise.
26754 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26755 * kern/ieee1275.c: ... to here. All users updated. Change all
26756 parameter structs to use new type `grub_ieee1275_cell_t'.
26757 * term/powerpc/ieee1275/ofconsole.c: Move ...
26758 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26759 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26760 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26761 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26762 to return int.
26763 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26764 Remove unused prototypes. All users updated.
26765 * include/grub/powerpc/ieee1275/console.h: Removed.
26766 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26767 `grub_ieee1275_cell_t'.
26768 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26769 Cast comparisons with -1 to the correct type.
26770 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26771 type to match `grub_ieee1275_entry_fn'.
26772
8b5f3938 267732005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26774
26775 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26776
26777 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26778 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26779 partmap/sun.c.
26780 (grub_probefs_SOURCES): New variable.
26781
26782 * util/i386/pc/grub-probefs.c: New file.
26783
26784 * util/i386/pc/grub-setup.c (main): Call
26785 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26786 grub_hfs_init and grub_jfs_init to initialize the system. Call
26787 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26788 grub_pc_partition_map_fini to finish the system.
26789
ea409713 267902005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26791
26792 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26793 function.
26794 (grub_multiboot_load_elf32): Likewise.
26795 (grub_multiboot_is_elf64): Likewise.
26796 (grub_multiboot_load_elf64): Likewise.
26797 (grub_multiboot_load_elf): Likewise.
26798 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26799 an ELF32 or ELF64 file.
26800 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26801
26802 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26803 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26804 NULL before calling FS->LABEL.
26805 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26806 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26807 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26808 before calling FS->LABEL.
26809
141a288b 268102005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26811
26812 * util/i386/pc/grub-install.in (datadir): New variable.
26813 (libdir): Removed.
26814 (pkgdatadir): New variable.
26815 (pkglibdir): Removed.
26816
0d5f8a54 268172005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26818
26819 * DISTLIST: Added util/i386/pc/grub-install.in.
26820
26821 * util/i386/pc/grub-install.in: New file.
26822
26823 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26824 (grub_install_SOURCES): Likewise.
26825
26826 * genmk.rb: Added support for scripts.
26827 (Script): New class.
26828 (scripts): New variable.
26829
26830 * Makefile.in (install-local): Install sbin_SCRIPTS by
26831 INSTALL_SCRIPT.
26832 (uninstall): Remove sbin_SCRIPTS.
26833
26834 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26835 device, try to get a GRUB device by
26836 grub_util_biosdisk_get_grub_dev.
26837 Free DEST_DEV.
26838
26839 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26840 description for --device-map.
26841
5f968e1e 268422005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26843
26844 Change the semantics of variable hooks. They now return strings
26845 instead of error values.
f19dbdb7 26846
5f968e1e 26847 * util/i386/pc/grub-setup.c: Include grub/env.h.
26848 (setup): Use grub_device_set_root instead of grub_env_set.
26849
26850 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26851 grub_env_get instead of grub_device_set_root and
26852 grub_device_get_root, respectively.
26853
26854 * kern/main.c (grub_env_write_root): New function.
26855 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26856 grub_env_set instead of grub_device_set_root.
26857
26858 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26859 many variables.
26860 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26861 rather than calling ENV->WRITE_HOOK afterwards.
26862 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26863 passing a pointer of a pointer.
26864 (grub_register_variable_hook): Change the types of "read_hook" and
26865 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26866 respectively.
26867 Allocate the default empty string on the heap, because this string
26868 may be freed later.
26869
26870 * kern/device.c: Include grub/env.h.
26871 (grub_device_set_root): Removed.
26872 (grub_device_get_root): Likewise.
26873 (grub_device_open): Use grub_env_get instead of
26874 grub_device_get_root.
26875
26876 * include/grub/env.h (grub_env_read_hook_t): New type.
26877 (grub_env_write_hook_t): Likewise.
26878 (grub_env_var): Change the types of "read_hook" and "write_hook"
26879 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26880 (grub_register_variable_hook): Likewise.
26881
26882 * include/grub/device.h (grub_device_set_root): Removed.
26883 (grub_device_set_root): Likewise.
26884
26885 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26886 make sure that DIRNAME terminates with '/', so that
26887 grub_fat_find_dir will fail if PATH is not a directory.
26888
26889 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26890 from DIRNAME.
26891 Use the qualifier auto for print_files and print_files_long.
26892 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26893 as a regular file.
26894 Put a newline only if there is no error.
26895 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26896 used.
26897
896f0afd 268982005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26899
26900 * kern/partition.c (grub_partition_probe): Initialize PART to
26901 NULL. Otherwise, when no partition map is registered, this returns
26902 a garbage.
26903
b28b81b2 269042005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26905
26906 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26907 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26908 valid.
26909
5f3607e0 269102005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26911
26912 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26913 information on each device, if it does not have partitions. Print
26914 "Device" instead of "Disk", because this function is not specific
26915 to disk devices.
26916
26917 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26918 static to ensure that it is put on the memory rather than a
26919 register.
26920
502c87e8 269212005-07-17 Yoshinori Okuji <okuji@enbug.org>
26922
26923 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26924 (grub_cat_init): Likewise.
26925 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26926 (options): Likewise.
26927 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26928 (grub_configfile_init): Likewise.
26929 * font/manager.c (GRUB_MOD_INIT): Likewise.
26930 * commands/help.c (GRUB_MOD_INIT): Likewise.
26931 (grub_help_init): Likewise.
26932 * normal/command.c (grub_command_init): Likewise.
26933 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26934 * disk/loopback.c (grub_loop_init): Likewise.
26935 (GRUB_MOD_INIT): Likewise.
26936 * commands/ls.c (grub_ls_init): Likewise.
26937 (GRUB_MOD_INIT): Likewise.
26938 (options): Likewise.
26939 * commands/boot.c (grub_boot_init): Likewise.
26940 (GRUB_MOD_INIT): Likewise.
26941 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26942 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26943 (GRUB_MOD_INIT): Likewise.
26944 * commands/cmp.c (grub_cmp_init): Likewise.
26945 (GRUB_MOD_INIT): Likewise.
26946
26947 * normal/arg.c: Use <> instead of "" to include header files.
26948 (SHORT_ARG_HELP): New macro.
26949 (SHORT_ARG_USAGE): Likewise.
26950 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26951 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26952 descriptions.
26953 (find_short): Check if C is 'h' or 'u' explicitly.
26954 (grub_arg_show_help): Use space characters instead of tabs. Treat
26955 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26956 are shown with --help and --usage only if they are not used for
26957 the command itself.
26958 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26959 'h' and 'u'.
26960
26961 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26962 const into "longarg". Change the type of "shortarg" to int.
26963
f806d18e 269642005-07-17 Yoshinori Okuji <okuji@enbug.org>
26965
26966 * boot/i386/pc/boot.S (boot_drive_check): New label.
26967
26968 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26969 macro.
26970
26971 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26972 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26973
e293232b 269742005-07-17 Yoshinori Okuji <okuji@enbug.org>
26975
26976 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26977 When turning off Gate A20, skip the check and return immediately,
26978 because this is not fatal usually.
26979
ebedfd00 269802005-07-17 Yoshinori Okuji <okuji@enbug.org>
26981
26982 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26983 be 0x7C00 instead of 0x8000.
26984
26985 * boot/i386/pc/pxeboot.S: Rewritten.
26986
26987 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26988 EXT_C.
26989 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26990 result.
26991
654fc59f 269922005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26993
26994 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26995 robustness. This routine now supports a BIOS call and System
26996 Control Port A to modify the gate A20.
26997
26998 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26999 Increased to 0x440.
27000
09f9923f 270012005-07-12 Hollis Blanchard <hollis@penguinppc.org>
27002
27003 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
27004 device path and resulting ihandle.
27005 (grub_ofdisk_close): dprintf the ihandle being closed.
27006 (grub_ofdisk_read): dprintf function parameters.
27007 * kern/mm.c (grub_mm_init_region): Likewise.
27008 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
27009 (grub_linux_boot): dprintf the Linux entry point, initrd address and
27010 size, and boot arguments.
27011 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
27012 before loading into memory.
27013 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
27014 before loading into memory.
27015
7ef504d8 270162005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
27017
27018 * kern/mm.c: Added much documentation.
27019 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
27020 8, set to 5 instead of 8.
27021
e0f050c2 270222005-07-10 Yoshinori Okuji <okuji@enbug.org>
27023
27024 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
27025
27026 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
27027 (grub_mkdevicemap_SOURCES): New variable.
27028
27029 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
27030 lib/device.c of GRUB Legacy.
27031
7224189a 270322005-07-10 Yoshinori Okuji <okuji@enbug.org>
27033
27034 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
27035 instead of PATH is NULL.
27036
68c864eb 270372005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
27038
27039 * commands/cmp.c (BUFFER_SIZE): New macro.
27040 (grub_cmd_cmp): Close the right file at the right time. Compare
27041 only data just read. Don't report files of different size as
27042 identical. Dynamically allocate buffers. Move variable
27043 declarations at the beginning of function.
27044
e6f3e614 270452005-07-09 Yoshinori Okuji <okuji@enbug.org>
27046
27047 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
27048 reverse.
27049
f8f1559a 270502004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
27051
27052 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
27053 when backspace is pressed at beginning of line.
27054
39c9d41d 270552005-07-03 Yoshinori Okuji <okuji@enbug.org>
27056
27057 * DISTLIST: Added genfslist.sh.
27058
27059 * normal/main.c (fs_module_list): New variable.
27060 (autoload_fs_module): New function.
27061 (read_fs_list): Likewise.
27062 (grub_normal_execute): Call read_fs_list.
27063
27064 * kern/fs.c (grub_fs_autoload_hook): New variable.
27065 (grub_fs_probe): Added support for auto-loading.
27066
27067 * include/grub/normal.h (struct grub_fs_module_list): New struct.
27068 (grub_fs_module_list_t): New type.
27069
27070 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
27071 (grub_fs_autoload_hook): New prototype.
27072
27073 * genfslist.sh: New file.
f19dbdb7 27074
39c9d41d 27075 * genmk.rb: Added a rule to generate a filesystem list.
27076
121c1d83 270772005-06-30 Marco Gerards <metgerards@student.han.nl>
27078
27079 * configure.ac: Fix the test for cross-compiling.
27080
27081 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
27082 define GRUB_UTIL anymore.
27083
27084 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
27085 so this function works on other systems than just big endian.
27086 (load_modules): Likewise.
27087 (add_segments): Likewise.
27088
e75d76e1 270892005-06-23 Hollis Blanchard <hollis@penguinppc.org>
27090
27091 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
27092 contains `l' modifier, get a long from va_arg().
27093
50b5a0a7 270942005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
27095
27096 * kern/mm.c (grub_free): If the next free block which is being
27097 merged is the first free block, set the first block to the block
27098 being freed.
27099 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
27100
89371b20 271012005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27102
27103 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
27104 `grub_ieee1275_chosen'.
27105
168d6e58 271062005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27107
27108 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
27109 (grub_ieee1275_chosen): New variable.
27110 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
27111 `chosen'.
27112 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
27113 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27114 Rename first argument to `phandle' for consistency.
27115 (grub_ieee1275_get_property_length): Likewise.
27116 (grub_ieee1275_next_property): Likewise. Change type of first argument
27117 to grub_ieee1275_phandle_t.
27118 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
27119 Move export next to declaration.
27120 (grub_ieee1275_chosen): New variable.
27121 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
27122 Correct cosmetic typo.
27123 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
27124 `grub_ieee1275_chosen'.
27125 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
27126 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
27127 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
27128 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
27129 `grub_ieee1275_chosen'.
27130
ca5baa3f 271312005-05-10 Hollis Blanchard <hollis@penguinppc.org>
27132
27133 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
27134 /chosen/bootargs.
27135 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
27136 /chosen/bootargs as "variable=value" pairs.
27137
708b345f 271382005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
27139
27140 * include/grub/misc.h (grub_dprintf): New macro.
27141 (grub_real_dprintf): New prototype.
27142 (grub_strword): Likewise.
27143 (grub_iswordseparator): Likewise.
27144 * kern/misc.c (grub_real_dprintf): New function.
27145 (grub_strword): Likewise.
27146 (grub_iswordseparator): Likewise.
27147
f4c5e67c 271482005-04-30 Hollis Blanchard <hollis@penguinppc.org>
27149
27150 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
27151 (roundup): Remove macro.
27152 (grub_ieee1275_flags): Make static.
27153 (grub_ieee1275_realmode): Remove.
27154 (grub_ieee1275_test_flag): New function.
27155 (grub_ieee1275_set_flag): Likewise.
27156 (find_options): Rename to `grub_ieee1275_find_options'; update
27157 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
27158 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
27159 (cmain): New prototype.
27160 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
27161 `grub_ieee1275_flags' directly.
27162 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
27163 machine/biosdisk.h.
27164 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
27165 Don't include grub/machine/init.h.
27166 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
27167 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27168 Remove prototype.
27169 (grub_ieee1275_realmode): Likewise.
27170 (grub_ieee1275_flag): New enum.
27171 (grub_ieee1275_test_flag): New prototype.
27172 (grub_ieee1275_set_flag): New prototype.
27173 * include/grub/powerpc/ieee1275/init.h: Remove file.
27174 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
27175 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
27176 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
27177 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
27178 comment.
27179 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
27180 `grub_ieee1275_test_flag'.
27181 (grub_ieee1275_encode_devname): Likewise.
27182
ed16607e 271832005-04-21 Hollis Blanchard <hollis@penguinppc.org>
27184
27185 * include/grub/powerpc/ieee1275/ieee1275.h
27186 (grub_ieee1275_encode_devname): New prototype.
27187 (grub_ieee1275_get_filename): Likewise.
27188 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
27189 function.
27190 (grub_set_prefix): Likewise.
27191 (grub_machine_init): Call grub_set_prefix.
27192 * kern/powerpc/ieee1275/openfw.c: Fix typos.
27193 (grub_parse_type): New enum.
27194 (grub_ieee1275_get_devargs): New function.
27195 (grub_ieee1275_get_devname): Likewise.
27196 (grub_ieee1275_parse_args): Likewise.
27197 (grub_ieee1275_get_filename): Likewise.
27198 (grub_ieee1275_encode_devname): Likewise.
27199
be369920 272002005-03-30 Marco Gerards <metgerards@student.han.nl>
27201
27202 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
27203 `grub_loader_unset'.
27204
a5ce3a4a 272052005-03-26 Hollis Blanchard <hollis@penguinppc.org>
27206
27207 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
27208 instead of grub_ieee1275_interpret.
27209 (grub_halt_init): New function.
27210 (grub_halt_fini): Likewise.
27211 (GRUB_MOD_INIT): Correct message grammar.
27212 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
27213 instead of grub_ieee1275_interpret.
27214 (grub_reboot_init): New function.
27215 (grub_reboot_fini): Likewise.
27216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
27217 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
27218 util/i386/pc/misc.c with commands/ieee1275/halt.c,
27219 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
27220 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
27221 function.
27222 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
27223 Add prototype.
27224 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
27225 prototype.
27226 (grub_halt): Likewise.
27227 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
27228 (cmain): Remove __attribute__((unused)).
27229 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
27230 (grub_heap_len): Likewise.
27231 (grub_machine_fini): New function.
27232 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
27233 (grub_halt): Likewise.
27234 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
27235 function.
27236 * util/powerpc/ieee1275/misc.c: New file.
27237
0058f771 272382005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27239
27240 * DISTLIST: New file.
27241 * gendistlist.sh: Likewise.
f19dbdb7 27242
0058f771 27243 * Makefile.in (COMMON_DISTFILES): Removed.
27244 (BOOT_DISTFILES): Likewise.
27245 (CONF_DISTFILES): Likewise.
27246 (DISK_DISTFILES): Likewise.
27247 (FS_DISTFILES): Likewise.
27248 (INCLUDE_DISTFILES): Likewise.
27249 (KERN_DISTFILES): Likewise.
27250 (LOADER_DISTFILES): Likewise.
27251 (TERM_DISTFILES): Likewise.
27252 (UTIL_DISTFILES): Likewise.
27253 (DISTFILES): Likewise.
27254 (uninstall): Uninstall files in $(pkgdata_DATA).
27255 (DISTLIST): New target.
27256 (distdir): Use the contents of the file DISTLIST to get a list of
27257 distributed files.
27258
46b3b8a5 272592005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27260
27261 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
27262 descriptor. This is ported from GRUB Legacy.
27263
27264 * gencmdlist.sh: Added an extra semicolon to make it work with
27265 old sed versions. Reported by Robert Bihlmeyer
27266 <robbe@orcus.priv.at>.
27267
5822ff87 272682005-03-08 Yoshinori Okuji <okuji@enbug.org>
27269
27270 Automatic loading of commands is supported.
f19dbdb7 27271
5822ff87 27272 * normal/main.c (read_command_list): New function.
27273 (grub_normal_execute): Call read_command_list.
27274
27275 * normal/command.c (grub_register_command): Return zero or CMD.
27276 Allocate CMD->NAME from the heap.
27277 Initialize CMD->MODULE_NAME to zero.
27278 Find the same name as well. If the same command is found and it is
27279 a dummy command, overwrite members. If it is not a dummy command,
27280 return zero.
27281 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
27282 (grub_command_find): If a dummy command is found, load a module
27283 and retry to find a command only once.
27284
27285 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
27286 make sure that each command is loaded.
27287
27288 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
27289 macro.
27290 (struct grub_command): Remove const from the member `name'.
27291 Add a new member `module_name'.
27292 (grub_register_command): Return grub_command_t.
27293
27294 * commands/help.c (grub_cmd_help): Call grub_command_find to make
27295 sure that each command is loaded.
27296
27297 * genmk.rb (PModule::rule): Specify a module name without the
27298 suffix ".mod" to gencmdlist.sh.
27299
7b1f4b57 273002005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27301
27302 * gencmdlist.sh: New file.
f19dbdb7 27303
7b1f4b57 27304 * genmk.rb (PModule::rule): Generate a rule for a command list.
27305 Clean command.lst.
27306 Generate command.lst from $(COMMANDFILES).
27307
27308 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
27309 (DATA): Added $(pkgdata_DATA).
27310 (install-local): Install files in $(pkgdata_DATA).
27311
062aaf39 273122005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27313
27314 * term/i386/pc/vga.c (debug_command): Removed.
27315 (GRUB_MOD_INIT): Do not register the command "debug".
27316
27317 From Hollis Blanchard:
27318 * commands/configfile.c: New file.
27319 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27320 commands/configfile.c.
27321 (pkgdata_MODULES): Added configfile.mod.
27322 (configfile_mod_SOURCES): New variable.
27323 (configfile_mod_CFLAGS): Likewise.
27324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27325 commands/configfile.c.
27326 (pkgdata_MODULES): Added configfile.mod.
27327 (configfile_mod_SOURCES): New variable.
27328 (configfile_mod_CFLAGS): Likewise.
27329 * util/grub-emu.c (main): Call grub_configfile_init and
27330 grub_configfile_fini.
27331 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
27332 prototype.
27333 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 27334
cee01aa6 273352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27336
27337 * normal/arg.c (grub_arg_show_help): Do not show the bug report
27338 address.
27339
27340 * commands/help.c (grub_cmd_help): Do not print newlines after
27341 the last command in print_command_help.
27342
93f3a1d8 273432005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27344
27345 * commands/default.h: New file.
27346 * commands/timeout.h: Likewise.
27347 * normal/context.c: Likewise.
f19dbdb7 27348
93f3a1d8 27349 * util/misc.c: Do not include sys/times.h.
27350 Include sys/time.h and grub/machine/time.h.
27351 (grub_get_rtc): Rewritten with gettimeofday.
27352
27353 * util/grub-emu.c (main): Call grub_default_init and
27354 grub_timeout_init before grub_normal_init, and call
27355 grub_timeout_fini and grub_default_fini after grub_main.
27356
27357 * util/console.c (grub_ncurses_checkkey): Return the read
27358 character or -1.
27359
27360 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
27361 timeouts.
27362
27363 * normal/main.c (read_config_file): Push MENU. If this fails,
27364 print an error and wait for a user input.
27365 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
27366 If a menu is empty or an error occurs, pop MENU.
27367 (grub_normal_execute): Pop and free MENU after grub_menu_run
27368 returns.
27369
27370 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
27371
27372 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
27373 include time.h.
27374 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27375 without GRUB_UTIL.
27376 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
27377 time.h.
27378 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27379 without GRUB_UTIL.
27380
27381 * include/grub/normal.h (struct grub_menu_list): New struct.
27382 (grub_menu_list_t): New type.
27383 (struct grub_context): New struct.
27384 (grub_context_t): New type.
27385 (grub_register_command): Got rid of EXPORT_FUNC.
27386 (grub_unregister_command): Likewise.
27387 (grub_context_get): New prototype.
27388 (grub_context_get_current_menu): Likewise.
27389 (grub_context_push_menu): Likewise.
27390 (grub_context_pop_menu): Likewise.
27391 [GRUB_UTIL] (grub_default_init): Likewise.
27392 [GRUB_UTIL] (grub_default_fini): Likewise.
27393 [GRUB_UTIL] (grub_timeout_init): Likewise.
27394 [GRUB_UTIL] (grub_timeout_fini): Likewise.
27395
27396 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
27397 commands/timeout.c and normal/context.c.
27398 (pkgdata_MODULES): Added default.mod and timeout.mod.
27399 (normal_mod_SOURCES): Added normal/context.c.
27400 (default_mod_SOURCES): New variable.
27401 (default_mod_CFLAGS): Likewise.
27402 (timeout_mod_SOURCES): Likewise.
27403 (timeout_mod_CFLAGS): Likewise.
27404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27405 conf/i386-pc.rmk.
27406 (pkgdata_MODULES): Added default.mod and timeout.mod.
27407 (normal_mod_SOURCES): Added normal/context.c.
27408 (default_mod_SOURCES): New variable.
27409 (default_mod_CFLAGS): Likewise.
27410 (timeout_mod_SOURCES): Likewise.
27411 (timeout_mod_CFLAGS): Likewise.
27412
27413 * Makefile.in (all-local): Added $(MKFILES).
27414
4ed2e1dd 274152005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27416
27417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27418 (grub_emu_SOURCES): Likewise.
27419 (pkgdata_MODULES): Add `sun.mod'.
27420 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27422 `partmap/sun.c'.
27423 (pkgdata_MODULES): Add `sun.mod'.
27424 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27425 * include/grub/partition.h (grub_sun_partition_map_init): New
27426 prototype.
27427 (grub_sun_partition_map_fini): Likewise.
27428 * partmap/sun.c: New file.
27429 * util/grub-emu.c (main): Initialize and de-initialize the sun
27430 partitionmap support.
27431
4d4e372e 274322005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27433
27434 This implements an Emacs-like menu entry editor.
f19dbdb7 27435
4d4e372e 27436 * normal/menu_entry.c: New file.
f19dbdb7 27437
4d4e372e 27438 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27439 characters to ASCII.
27440 (saved_char): New variable.
27441 (grub_ncurses_checkkey): Rewritten completely.
27442 (grub_ncurses_getkey): Likewise.
27443 (grub_ncurses_init): Call raw instead of cbreak.
27444
27445 * normal/menu.c (print_entry): Do not put a space.
27446 (init_page): Renamed to ...
27447 (grub_menu_init_page): ... this. All callers changed.
27448 (edit_menu_entry): Removed.
27449 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27450
27451 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27452
27453 * kern/misc.c (grub_vprintf): Call grub_refresh.
27454
27455 * normal/menu.c (DISP_LEFT): Renamed to ...
27456 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27457 * normal/menu.c (DISP_UP): Renamed to ...
27458 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27459 * normal/menu.c (DISP_RIGHT): Renamed to ...
27460 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27461 * normal/menu.c (DISP_DOWN): Renamed to ...
27462 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27463 * normal/menu.c (DISP_HLINE): Renamed to ...
27464 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27465 * normal/menu.c (DISP_VLINE): Renamed to ...
27466 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27467 * normal/menu.c (DISP_UL): Renamed to ...
27468 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27469 * normal/menu.c (DISP_UR): Renamed to ...
27470 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27471 * normal/menu.c (DISP_LL): Renamed to ...
27472 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27473 * normal/menu.c (DISP_LR): Renamed to ...
27474 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27475 * normal/menu.c (TERM_WIDTH): Renamed to ...
27476 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27477 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27478 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27479 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27480 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27481 * normal/menu.c (TERM_MARGIN): Renamed to ...
27482 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27483 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27484 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27485 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27486 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27487 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27488 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27489 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27490 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27491 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27492 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27493 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27494 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27495 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27496 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27497 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27498 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27499 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27500 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27501 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27502 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27503 All callers changed.
27504
27505 * include/grub/normal.h: New prototype.
27506
27507 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27508 normal/menu_entry.c.
27509 (normal_mod_SOURCES): Likewise.
27510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27511 (normal_mod_SOURCES): Likewise.
27512
e6b92c8a 275132005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27514
27515 * include/grub/normal.h (grub_halt_init): New prototype.
27516 (grub_halt_fini): Likewise.
27517 (grub_reboot_init): Likewise.
27518 (grub_reboot_fini): Likewise.
27519
27520 * util/grub-emu.c: Include signal.h.
27521 (main_env): New global variable.
27522 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27523 catch C-c.
27524 (grub_machine_fini): New function.
27525 (main): Call grub_halt_init and grub_reboot_init before
27526 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27527 Call setjmp with MAIN_ENV to go back afterwards.
27528 Call grub_machine_fini right before return.
27529
27530 * include/grub/util/misc.h: Include setjmp.h.
27531 (main_env): New prototype.
27532
27533 * include/grub/kernel.h (grub_machine_fini): New prototype.
27534 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27535 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27536
27537 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27538 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27539 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 27540
e6b92c8a 27541 * util/i386/pc/misc.c: New file.
f19dbdb7 27542
e6b92c8a 27543 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27544 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27545 commands/i386/pc/reboot.c.
27546
c642636f 275472005-02-14 Guillem Jover <guillem@hadrons.org>
27548
27549 * include/grub/dl.h (grub_dl_check_header): New prototype.
27550 (grub_arch_dl_check_header): Change return type to grub_err_t,
27551 remove size parameter and export function. Update all callers.
27552 * kern/dl.c (grub_dl_check_header): New function.
27553 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27554 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27555 are inside the core.
27556 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27557 independent ELF header checks.
27558 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27559 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27560 `grub_dl_check_header' instead of explicit checks. Check for the
27561 ELF type.
27562 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27563 `grub_dl_check_header' instead of explicit checks. Remove arch
27564 specific ELF header checks.
27565
e6b92c8a 27566 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27567 argument SIZE.
27568
5eabe94b 275692005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27570
27571 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27572 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27573
1b14a681 275742005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27575
27576 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 27577 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 27578 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 27579 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 27580 * partmap/amiga.c (amiga_partition_map_iterate): Return
27581 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27582 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27583
aca108aa 275842005-02-01 Guillem Jover <guillem@hadrons.org>
27585
27586 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27587 help info.
27588
c9f9c556 275892005-01-31 Marco Gerards <metgerards@student.han.nl>
27590
27591 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27592 Removed prototype.
27593 (grub_rescue_cmd_linux): New prototype.
27594 (grub_rescue_cmd_initrd): Likewise.
27595 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27596 `bi_rec'.
27597 (grub_linux_release_mem): Release the memory for the initrd.
27598 (grub_load_linux): Renamed from this...
27599 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27600 Changed `entry' not to be static. Loop over memory regions to
27601 find another one when the default fails.
27602 (grub_rescue_cmd_initrd): New function.
27603 (grub_linux_init): Remove function.
27604 (grub_linux_fini): Likewise.
27605 (GRUB_MOD_INIT): Register `initrd'.
27606 (GRUB_MOD_FINI): Unregister `initrd'.
27607 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27608 Function removed.
27609 (grub_linux_normal_fini): Likewise.
27610 (GRUB_MOD_INIT): Register `initrd'.
27611 (GRUB_MOD_FINI): Unregister `initrd'.
27612
990cf3aa 276132005-01-31 Marco Gerards <metgerards@student.han.nl>
27614
27615 * commands/help.c: New file.
27616 * normal/arg.c (show_help): Renamed to...
27617 (grub_arg_show_help): ... this.
27618 * commands/i386/pc/halt.c: New file.
27619 * commands/i386/pc/reboot.c: Likewise.
27620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27621 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27622 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27623 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27624 variables.
27625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27626 `commands/help.c'.
27627 (pkgdata_MODULES): Add `help.mod'.
27628 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27629 * grub/i386/pc/init.h (grub_reboot): New prototype.
27630 (grub_halt): Likewise.
27631 * include/grub/normal.h (grub_arg_show_help): New prototype.
27632 (grub_help_init): Likewise.
27633 (grub_help_fini): Likewise.
27634 * util/grub-emu.c (main): Initialize and deinitialize the help
27635 command.
27636
27637 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27638
27639 * normal/command.c (grub_command_init): Fixed the description of
27640 the `set' and `unset' commands.
27641
276422005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 27643
27644 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27645 function.
27646 * commands/ieee1275/halt.c: New file.
27647 * commands/ieee1275/reboot.c: Likewise.
27648 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27649 `__attribute__ ((unused))'. Some GCS related fixed.
27650 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27651 (grub_suspend_fini): Likewise.
27652 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27653 and `halt.mod'.
27654 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27655 (halt_mod_CFLAGS): New variables.
27656 * include/grub/powerpc/ieee1275/ieee1275.h
27657 (grub_ieee1275_interpret): New prototype.
27658
1ab09cc7 276592005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27660
27661 * include/grub/misc.h (memmove): New prototype.
27662 (memcpy): Likewise.
27663
8b8cbdb2 276642005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27665
27666 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27667 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27668
e3741a27 276692005-01-22 Marco Gerards <metgerards@student.han.nl>
27670
27671 * kern/misc.c (grub_strndup): Function rewritten.
27672
776bd780 276732005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27674
27675 * normal/menu.c (TERM_WIDTH): Macro redefined.
27676 (TERM_TOP_BORDER_Y): Likewise.
27677 (draw_border): Replaced while-loop by a for-loop. Make the number
27678 of lines consistent with the number of lines displayed in
27679 print_entries. Added a margin below the rectangle.
27680 (print_entry): Make the entry fit in the rectangle.
27681 (print_entries): Display the scroll arrows next to the right
27682 border.
27683
78026bce 276842005-01-21 Marco Gerards <metgerards@student.han.nl>
27685
27686 * fs/minix.c (grub_minix_find_file): Reserve more space for
27687 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27688 `grub_strncpy' to copy `path' into it.
27689
67bbaf0f 276902005-01-21 Marco Gerards <metgerards@student.han.nl>
27691
27692 Add the loopback device, a device via which files can be accessed
27693 as devices.
f19dbdb7 27694
67bbaf0f 27695 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27696 (pkgdata_MODULES): Add loopback.mod.
27697 (loopback_mod_SOURCES): New variable.
27698 (loopback_mod_CFLAGS): Likewise.
27699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27700 `disk/loopback.c'.
27701 (pkgdata_MODULES): Add loopback.mod.
27702 (loopback_mod_SOURCES): New variable.
27703 (loopback_mod_CFLAGS): Likewise.
27704 * disk/loopback.c: new file.
27705 * include/grub/normal.h (grub_loop_init): New prototype.
27706 (grub_loop_fini): New prototype.
27707 * util/grub-emu.c (main): Initialize and de-initialize loopback
27708 support.
27709 * include/grub/disk.h (grub_disk_dev_id): Add
27710 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27711
6f1c18bd 277122005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27713
27714 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27715 function.
27716 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27717 (suspend_mod_SOURCES): New variable.
27718 (suspend_mod_CFLAGS): Likewise.
27719 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27720 New prototype.
27721 * commands/ieee1275/suspend.c: New file.
27722
b38551da 277232005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27724
27725 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 27726 ((unused))' to `__attribute__ ((used))'.
b38551da 27727 (GRUB_MOD_FINI): Likewise.
27728 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27729 * genmk.rb (PModule): Assign space to common symbols when linking
27730 modules.
27731
777aff39 277322005-01-20 Marco Gerards <metgerards@student.han.nl>
27733
27734 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27735 `unsigned' arguments to `grub_size_t'.
27736 (grub_malloc): Likewise.
27737 (grub_realloc): Likewise.
27738 (grub_memalign): Likewise.
27739 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27740 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27741 * util/misc.c (grub_malloc): Likewise.
27742 (grub_realloc): Likewise.
27743 * kern/mm.c (get_header_from_pointer): Change the casts to
27744 `unsigned' into a cast to `grub_size_t'.
27745
27746 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27747 point to `currnode' when `currnode' is changed.
27748
27749 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27750 Schottelius <nico-linux@schottelius.org>.
27751
d0ff18e1 277522005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27753
27754 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27755 (note_path): Remove variable.
27756 (GRUB_IEEE1275_NOTE_NAME): New macro.
27757 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27758 (grub_ieee1275_note_hdr): New structure.
27759 (grub_ieee1275_note_desc): Likewise.
27760 (grub_ieee1275_note): Likewise.
27761 (load_note): Remove `dir' argument. All callers updated. Remove
27762 `note_img' and `path'. Do not load a file from `note_path'.
27763 Initialize a struct grub_ieee1275_note and write that to `out'.
27764 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27765
4ca7004c 277662005-01-05 Marco Gerards <metgerards@student.han.nl>
27767
27768 * util/misc.c (grub_util_read_image): Revert last change. It
27769 called `grub_util_read_at', which seeks from the beginning of the
27770 file.
27771
0b412211 277722005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27773
27774 * TODO: Add note about endianness in grub-mkimage.
27775 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27776 section.
27777 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27778 (grub_mkimage_SOURCES): New target.
27779 * include/grub/kernel.h (grub_start_addr): Remove variable.
27780 (grub_end_addr): Likewise.
27781 (grub_total_module_size): Likewise.
27782 (grub_kernel_image_size): Likewise.
27783 (GRUB_MODULE_MAGIC): New constant.
27784 (grub_module_info): New structure.
27785 (grub_arch_modules_addr): New prototype.
27786 (grub_get_end_addr): Remove prototype.
27787 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27788 * include/grub/powerpc/ieee1275/kernel.h: New file.
27789 * include/grub/util/misc.h (grub_util_get_fp_size): New
27790 prototype.
27791 (grub_util_read_at): Likewise.
27792 (grub_util_write_image_at): Likewise.
27793 * kern/main.c (grub_get_end_addr): Remove function.
27794 (grub_load_modules): Call grub_arch_modules_addr instead of using
27795 grub_end_addr. Look for a grub_module_info struct in memory. Use
27796 the grub_module_info fields instead of calling grub_get_end_addr
27797 as loop conditions. Move grub_add_unused_region code here.
27798 (grub_add_unused_region): Remove function.
27799 * kern/i386/pc/init.c: Include grub/cache.h.
27800 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27801 one call to add_mem_region.
27802 (grub_arch_modules_addr): New function.
27803 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27804 (grub_total_module_size): Likewise.
27805 Include grub/machine/kernel.h.
27806 (grub_arch_modules_addr): New function.
27807 * util/grub-emu.c (grub_end_addr): Remove variable.
27808 (grub_total_module_size): Likewise.
27809 (grub_arch_modules_addr): New function.
27810 * util/misc.c: Include unistd.h.
27811 (grub_util_get_fp_size): New function.
27812 (grub_util_read_at): Likewise.
27813 (grub_util_write_image_at): Likewise.
27814 (grub_util_read_image): Call grub_util_read_at.
27815 (grub_util_write_image): Call grub_util_write_image_at.
27816 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27817 additional memory in kernel_img for a struct grub_module_info.
27818 Fill in that grub_module_info.
27819 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27820
458786f8 278212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27822
27823 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27824 New function.
27825 * include/grub/powerpc/ieee1275/ieee1275.h
27826 (grub_ieee1275_milliseconds): New prototype.
27827 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27828 Change to 1000.
27829 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27830 grub_ieee1275_milliseconds.
27831
ac507d1b 278322005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27833
27834 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27835 variable.
27836 (find_options): New function.
27837 (cmain): Call find_options.
27838 * include/grub/powerpc/ieee1275/ieee1275.h
27839 (grub_ieee1275_realmode): New extern variable.
27840 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27841 grub_map if grub_ieee1275_realmode is false.
27842
6b8fd1c4 278432004-12-29 Marco Gerards <metgerards@student.han.nl>
27844
27845 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27846 lines are inserted and make it work like readline. Reported by
27847 Vincent Pelletier <subdino2004@yahoo.fr>.
27848
8514a1e0 278492004-12-28 Marco Gerards <metgerards@student.han.nl>
27850
27851 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27852
27853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27854 `kern/powerpc/cache.S'.
27855
924b6140 278562004-12-27 Marco Gerards <metgerards@student.han.nl>
27857
27858 * genmk.rb: Handle the `Program' class in the main loop. Written
27859 by Johan Rydberg <jrydberg@gnu.org>.
27860 (Program): New class.
27861 (programs): New variable.
27862 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27863 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27864 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27865 (help_arch): Function removed.
27866 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27867 `powerpc/libgcc.h' and `loader.h'.
27868 (pkgdata_PROGRAMS): New variable.
27869 (sbin_UTILITIES): Variable removed.
27870 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27871 (grubof_SOURCES): Variable re-defined so it only includes the
27872 core functionality.
27873 (grubof_CFLAGS): Remove `-DGRUBOF'.
27874 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27875 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27876 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27877 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27878 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27879 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27880 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27881 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27882 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27883 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27884 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27885 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27886 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27887 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27888 (pc_mod_CFLAGS): New variables.
27889 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27890 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27891 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27892 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27893 Moved from here...
27894 * include/grub/i386/pc/init.h (grub_os_area_addr)
27895 (rub_os_area_size): ... to here.
27896 * include/grub/powerpc/ieee1275/ieee1275.h
27897 (grub_ieee1275_entry_fn): Export symbol.
27898 * include/grub/powerpc/ieee1275/init.h: New file.
27899 * include/grub/powerpc/libgcc.h: Likewise.
27900 * include/grub/cache.h: Likewise.
27901 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27902 <hollis@penguinppc.org>.
27903 * kern/dl.c: Include <grub/cache.h>.
27904 (grub_dl_flush_cache): New function.
27905 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27906 for this module.
27907 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27908 (grub_console_init): Removed prototypes.
27909 (grub_machine_init): Don't initialize the modules anymore.
27910 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27911 static.
27912 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27913 Macro undef removed.
27914 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27915 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27916 relocation `R_PPC_REL32'. Return an error when the relocation is
27917 unknown.
27918 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27919 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27920 * util/misc.c (grub_arch_sync_caches): Likewise.
27921
e4b47e0c 279222004-12-19 Marco Gerards <metgerards@student.han.nl>
27923
27924 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27925 `symlist.c', add `grubof_symlist.c'.
27926 (symlist.c): Variable removed.
27927 (grubof_HEADERS): Variable added.
27928 (grubof_symlist.c): New target.
27929 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27930 `kernel_img_HEADERS'.
27931 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27932 * kern/powerpc/dl.c: New file.
27933 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27934 Function removed.
27935 (grub_arch_dl_relocate_symbols): Likewise.
27936 (grub_register_exported_symbols): Likewise.
27937
4ceb3636 279382004-12-13 Marco Gerards <metgerards@student.han.nl>
27939
27940 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27941 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27942 to fail instead. Reported by Vincent Pelletier
27943 <subdino2004@yahoo.fr>.
27944
27945 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27946 it is not allocated. Reported by Vincent Pelletier
27947 <subdino2004@yahoo.fr>.
27948
27949 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27950 output so the output looks better.
f19dbdb7 27951
3f1578fe 279522004-12-04 Marco Gerards <metgerards@student.han.nl>
27953
27954 Modulize the partition map support and add support for the amiga
27955 partition map.
f19dbdb7 27956
3f1578fe 27957 * commands/ls.c: Include <grub/partition.h> instead of
27958 <grub/machine/partition.h>.
27959 * kern/disk.c: Likewise.
27960 * kern/rescue.c: Likewise.
27961 * loader/i386/pc/chainloader.c: Likewise.
27962 * normal/cmdline.c: Likewise.
27963 * kern/powerpc/ieee1275/init.c: Likewise.
27964 (grub_machine_init): Call `grub_pc_partition_map_init',
27965 `grub_amiga_partition_map_init' and
27966 `grub_apple_partition_map_init'.
27967 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27968 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27969 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27970 `partition.h' and `pc_partition.h'.
27971 (grub_setup_SOURCES): Remove
27972 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27973 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27974 (grub_emu_SOURCES): Likewise.
27975 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27976 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27977 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27979 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27980 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27981 (grubof_SOURCES): Likewise.
27982 * disk/i386/pc/partition.c: File removed.
27983 * disk/powerpc/ieee1275/partition.c: Likewise.
27984 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27985 * include/grub/i386/pc/partition.h: Likewise.
27986 * kern/partition.c: New file.
27987 * partmap/amiga.c: Likewise.
27988 * partmap/apple.c: Likewise.
27989 * partmap/pc.c: Likewise.
27990 * include/grub/partition.h: Likewise..
27991 * include/grub/pc_partition.h: Likewise.
27992 * util/grub-emu.c: Include <grub/partition.h> instead of
27993 <grub/machine/partition.h>.
27994 (main): Call `grub_pc_partition_map_init',
27995 `grub_amiga_partition_map_init' and
27996 `grub_apple_partition_map_init' and deinitialize afterwards.
27997 * util/i386/pc/biosdisk.c: Include `#include
27998 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27999 `<grub/machine/partition.h>'.
28000 * util/i386/pc/grub-setup.c: Likewise.
28001 * util/i386/pc/biosdisk.c: Likewise.
28002 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
28003 partition information in case of a PC partition.
28004 * util/i386/pc/grub-setup.c: Include `#include
28005 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
28006 `<grub/machine/partition.h>'.
28007 (setup): Only access the PC specific partition information in case
28008 of a PC partition.
28009
0ef4ced9 280102004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 28011
0ef4ced9 28012 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
28013 (grub_longjmp): Likewise.
28014 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
28015 20.
28016 * normal/powerpc/setjmp.S: New file.
28017 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28018 `normal/powerpc/setjmp.S'.
28019 (grubof_CFLAGS): Add `-DGRUBOF'.
28020 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
28021 [GRUB_UTIL && !GRUBOF].
f19dbdb7 28022
19950e29 280232004-11-16 Marco Gerards <metgerards@student.han.nl>
28024
28025 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
28026 property named `name'. Correctly handle the error returned by
28027 `grub_ieee1275_finddevice' if a device can not be opened.
28028
a2fea427 280292004-11-02 Hollis Blanchard <hollis@penguinppc.org>
28030
28031 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
28032 `actual' for negativity.
28033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
28034 kern/fshelp.c.
28035
41ea0ea3 280362004-11-01 Marco Gerards <metgerards@student.han.nl>
28037
28038 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
28039 (PAGE_OFFSET): New macro.
28040 (CRTC_ADDR_PORT): Likewise.
28041 (CRTC_DATA_PORT): Likewise.
28042 (START_ADDR_HIGH_REGISTER): Likewise.
28043 (START_ADDR_LOW_REGISTER): Likewise.
28044 (GRAPHICS_ADDR_PORT): Likewise.
28045 (GRAPHICS_DATA_PORT): Likewise.
28046 (READ_MAP_REGISTER): Likewise.
28047 (INPUT_STATUS1_REGISTER): Likewise.
28048 (INPUT_STATUS1_VERTR_BIT): Likewise.
28049 (page): New variable.
28050 (wait_vretrace): New function.
28051 (set_read_map): Likewise.
28052 (set_start_address): Likewise.
28053 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
28054 the right page.
28055 (check_vga_mem): Take the page into account.
28056 (write_char): Likewise.
28057 (write_cursor): Likewise.
28058 (scroll_up): Likewise. Copy the page to the page that is not
28059 shown and switch between both pages.
28060 (grub_vga_putchar): Fix off by one error.
28061 (grub_vga_cls): Wait for the vertical retrace. Take the page into
28062 account.
28063
ad0bd20b 280642004-11-01 Marco Gerards <metgerards@student.han.nl>
28065
28066 Add support for iso9660 (including rockridge).
f19dbdb7 28067
ad0bd20b 28068 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28069 (iso9660_mod_SOURCES): New variable.
28070 (iso9660_mod_CFLAGS): Likewise.
28071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28072 * include/grub/fs.h (grub_iso9660_init): New prototype.
28073 * util/grub-emu.c (main): Call `grub_iso9660_init'.
28074 * fs/iso9660.c: New file.
28075
28076 * include/grub/misc.h (grub_strncat): New prototype.
28077 * kern/misc.c (grub_strncat): New function.
f19dbdb7 28078
ad0bd20b 28079 * fs/hfs.c (grub_hfs_mount): Translate the error
28080 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
28081 * fs/jfs.c (grub_jfs_mount): Likewise.
28082 * fs/ufs.c (grub_ufs_mount): Likewise.
28083
a5477a59 280842004-10-28 Hollis Blanchard <hollis@penguinppc.org>
28085
28086 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
28087 which initialized BAT registers.
28088 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
28089 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28090 Move from here...
28091 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
28092 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28093 ... to here.
28094 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
28095 (grub_mapclaim): Likewise.
28096 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
28097 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
28098 hand.
28099
9304c1f8 281002004-10-19 Hollis Blanchard <hollis@penguinppc.org>
28101
28102 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
28103 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
28104 -ffreestanding and -msoft-float.
28105
86f4ae25 281062004-10-15 Hollis Blanchard <hollis@penguinppc.org>
28107
28108 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
28109 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
28110 set in grub_ieee1275_flags.
28111
38912228 281122004-10-14 Hollis Blanchard <hollis@penguinppc.org>
28113
28114 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
28115 prototype.
28116 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
28117 grub_console_init first.
28118 Change the memory range used for grub_ieee1275_claim and
28119 grub_mm_init_region.
28120 Print an error message if the claim fails.
28121 Include <grub/misc.h>.
28122
d1923dc8 281232004-10-13 Hollis Blanchard <hollis@penguinppc.org>
28124
28125 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
28126 Call grub_children_iterate for device nodes of type `scsi',
28127 `ide', or `ata'.
28128 (grub_ofdisk_open): Remove manual device alias resolution.
28129 Fix memory leak when device cannot be opened.
f19dbdb7 28130 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 28131 (grub_children_iterate): New prototype.
28132 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
28133 New function.
28134 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28135 Return -1 if args.size was -1.
28136
4512e4f3 281372004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28138
28139 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
28140 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
28141 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
28142 Open Firmware's memory for it; claim memory from _start to _end.
28143 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
28144 (_end): New extern.
28145 (_start): Zero BSS from __bss_start to _end.
28146 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28147 New extern.
28148 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
28149
4d61feb0 281502004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28151
ad0bd20b 28152 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
28153 -1 if args.base was -1.
4d61feb0 28154
026fa2f9 281552004-10-08 Hollis Blanchard <hollis@penguinppc.org>
28156
28157 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
28158 escape sequence instead of a literal ^L. Also call
28159 grub_ofconsole_gotoxy.
28160
9f2220ef 281612004-10-03 Hollis Blanchard <hollis@penguinppc.org>
28162
28163 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
28164 void * arguments to grub_addr_t. All callers updated. Also make
28165 the `result' argument optional.
28166 (grub_ieee1275_release): change void * arguments to grub_addr_t.
28167 All callers updated.
28168
8a572cd7 281692004-09-22 Hollis Blanchard <hollis@penguinppc.org>
28170
28171 * commands/ls.c (grub_ls_list_files): Use the string following the
28172 initial ')', if present, as the filesystem path.
28173 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
28174
28175 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
28176
18aa81f2 281772004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
28178
28179 Make the source code of the menu interface more readable.
f19dbdb7 28180
18aa81f2 28181 * normal/menu.c: Include grub/mm.h.
28182 (TERM_WIDTH): New macro.
28183 (TERM_HEIGHT): Likewise.
28184 (TERM_INFO_HEIGHT): Likewise.
28185 (TERM_MARGIN): Likewise.
28186 (TERM_SCROLL_WIDTH): Likewise.
28187 (TERM_TOP_BORDER_Y): Likewise.
28188 (TERM_LEFT_BORDER_X): Likewise.
28189 (TERM_BORDER_WIDTH): Likewise.
28190 (TERM_MESSAGE_HEIGHT): Likewise.
28191 (TERM_BORDER_HEIGHT): Likewise.
28192 (TERM_NUM_ENTRIES): Likewise.
28193 (TERM_FIRST_ENTRY_Y): Likewise.
28194 (TERM_ENTRY_WIDTH): Likewise.
28195 (TERM_CURSOR_X): Likewise.
28196 (draw_border): Use macros instead of magic numbers.
28197 (print_entry): Likewise.
28198 (print_entries): Likewise.
28199 (run_menu): Likewise. Also, handle the key 'e'.
28200 (run_menu_entry): Ignore empty command lines.
28201 (print_message): Added a new argument EDIT. If EDIT is true,
28202 print a different message.
28203 (init_page): Likewise.
28204 (edit_menu_entry): New function. Not implemented yet.
28205
b47efe30 282062004-09-17 Marco Gerards <metgerards@student.han.nl>
28207
28208 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
28209 can be loaded from normal mode.
f19dbdb7 28210
b47efe30 28211 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
28212 `multiboot.mod'.
28213 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
28214 (multiboot_mod_CFLAGS): New variables.
28215 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 28216 * loader/i386/pc/multiboot_normal.c: Likewise.
28217
b47efe30 28218 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
28219 attribute `unused'.
f19dbdb7 28220
b47efe30 28221 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
28222 `fdiro' to read the mode information from instead of `diro'.
28223
28224 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
28225 looking up a symlink.
28226
28227 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
28228 macro.
28229 * normal/command.c (grub_command_execute): Don't parse the
28230 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
28231 flags of the command.
28232
28233 * normal/menu.c (grub_menu_run): Fix typo.
28234
da75ac71 282352004-09-14 Hollis Blanchard <hollis@penguinppc.org>
28236
28237 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
28238
28239 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
28240 `y + 1' instead of `y - 1'.
28241
28242 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 28243
062b24c2 282442004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
28245
28246 From Hollis Blanchard <hollis@penguinppc.org>:
28247 * kern/misc.c (memmove): New alias for grub_memmove.
28248 (memcmp): New alias for grub_memcmp.
28249 (memset): New alias for grub_memset.
f19dbdb7 28250 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 28251 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 28252 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 28253 (grub_ieee1275_get_property): Likewise.
f19dbdb7 28254
8ddad845 282552004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
28256
28257 Added normal mode command `chainloader' as module chain.mod, which
28258 depends on normal.mod and _chain.mod.
f19dbdb7 28259
8ddad845 28260 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
28261 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
28262 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
28263 Deleted prototype.
28264 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
28265 but arguments parsing moved to ...
28266 (grub_chainloader_cmd): ... here. New function.
28267 * include/grub/i386/pc/chainloader.h: New file.
28268 * loader/i386/pc/chainloader_normal.c: Likewise.
28269
2c1f4ce3 282702004-09-11 Marco Gerards <metgerards@student.han.nl>
28271
28272 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
28273 (grub_mkimage_LDFLAGS): Likewise.
28274 (grub_emu_SOURCES): Likewise.
28275 (kernel_img_HEADERS): Added fshelp.h.
28276 * fs/ext2.c: Include <grub/fshelp.h>.
28277 (FILETYPE_REG): New macro.
28278 (FILETYPE_INO_REG): Likewise.
28279 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
28280 Changed all users.
28281 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
28282 all users.
28283 (grub_fshelp_node): New struct.
28284 (grub_ext2_data): Added member `diropen'. Changed member `inode'
28285 to a pointer.
28286 (grub_ext2_get_file_block): Removed function.
28287 (grub_ext2_read_block): New function.
28288 (grub_ext2_read_file): Replaced parameter `data' by `node'.
28289 This function was written.
28290 (grub_ext2_mount): Read the root inode. Create a diropen struct.
28291 (grub_ext2_find_file): Removed function.
28292 (grub_ext2_read_symlink): New function.
28293 (grub_ext2_iterate_dir): Likewise.
28294 (grub_ext2_open): Rewritten.
28295 (grub_ext2_dir): Rewritten.
28296 * include/grub/fshelp.h: New file.
28297 * fs/fshelp.c: Likewise.
28298
3c52136a 282992004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
28300
28301 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
28302 (print_message): Add a missing newline.
28303 (run_menu): Added timeout support.
28304 (run_menu_entry): New local function.
28305 (grub_menu_run): Added support for booting.
28306
28307 * kern/loader.c (grub_loader_is_loaded): New function.
28308
28309 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
28310 (grub_get_rtc): Exported.
28311
28312 * include/grub/i386/pc/time.h: Include grub/symbol.h.
28313 (grub_get_rtc): Exported.
28314
28315 * include/grub/normal.h (struct grub_command_list): Remove
28316 constant from the member `command'.
28317
28318 * include/grub/loader.h (grub_loader_is_loaded): Declared.
28319
28320 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
28321
28322 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
28323
aa033560 283242004-08-28 Marco Gerards <metgerards@student.han.nl>
28325
28326 Add support for the JFS filesystem.
28327
28328 * fs/jfs.c: New file.
28329 * include/grub/fs.h (grub_jfs_init): New prototype.
28330 (grub_jfs_fini): New prototype.
28331 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
28332 (grub_emu_SOURCES): Likewise.
28333 (pkgdata_MODULES): Add jfs.mod.
28334 (jfs_mod_SOURCES): New variable.
28335 (jfs_mod_CFLAGS): Likewise.
28336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
28337 (grubof_SOURCES): Likewise.
28338 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
28339
28340 * fs/fat.c (grub_fat_find_dir): Convert the filename little
28341 endian to the host endian.
28342 (grub_fat_utf16_to_utf8): Move function from there...
28343 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 28344 the endianness of the source string anymore.
aa033560 28345 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
28346
94bc45af 283472004-08-24 Marco Gerards <metgerards@student.han.nl>
28348
28349 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
28350 (grub_boot_fini) [GRUB_UTIL]: Likewise.
28351 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
28352 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 28353
94bc45af 28354 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
28355 (grub_hfs_iterate_dir): Make the function static. Add prototypes
28356 for `node_found' and `it_dir'.
28357 (grub_hfs_dir): Add prototype for `dir_hook'.
28358
28359 * fs/minix.c (grub_minix_get_file_block): Add prototype for
28360 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
28361 and `indir32' to silence a gcc warning.
28362
28363 * include/grub/fs.h (grub_hfs_init): New prototype.
28364 (grub_hfs_fini): Likewise.
f19dbdb7 28365
28366
97543f08 283672004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
28368
28369 Each disk device has its own id now. This is useful to make use
28370 of multiple disk devices.
f19dbdb7 28371
97543f08 28372 * include/grub/disk.h (grub_disk_dev_id): New enum.
28373 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
28374 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
28375
28376 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
28377 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28378
28379 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
28380 GRUB_DISK_DEVICE_OFDISK_ID as an id.
28381
28382 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
28383 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28384
28385 * include/grub/disk.h (struct grub_disk_dev): Added a new member
28386 "id" which is used by the cache manager.
28387
28388 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
28389 of just "GRUB".
28390
64372eb4 283912004-08-18 Marco Gerards <metgerards@student.han.nl>
28392
28393 * fs/hfs.c: New file.
28394 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
28395 (grub_emu_SOURCES): Likewise.
28396 (pkgdata_MODULES): Add hfs.mod.
28397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
28398 (grubof_SOURCES): Likewise.
28399 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
28400
28401 * include/grub/misc.h (grub_strncasecmp): Add prototype.
28402 * kern/misc.c (grub_strncasecmp): Add function.
28403
cc61b58f 284042004-08-14 Marco Gerards <metgerards@student.han.nl>
28405
28406 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28407 with parentheses.
28408
28409 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28410 (grub_ext2_dir): In case the directory entry type is unknown, read
28411 it from the inode.
28412
0ef123f6 284132004-08-02 Peter Bruin <pjbruin@dds.nl>
28414
28415 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28416 grub_load_linux instead of grub_rescue_cmd_linux as second
28417 argument of grub_rescue_register_command.
28418
28419 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28420
a447c5df 284212004-07-27 Marco Gerards <metgerards@student.han.nl>
28422
28423 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28424 function.
28425 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28426 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28427 `loader/powerpc/ieee1275/linux.c',
28428 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28429 * include/grub/powerpc/ieee1275/ieee1275.h
28430 (grub_ieee1275_release): New prototype.
28431 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28432 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28433 normal, boot, linux and linux_normal.
28434 * loader/powerpc/ieee1275/linux.c: New file.
28435 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28436
5a9e3546 284372004-07-12 Marco Gerards <metgerards@student.han.nl>
28438
28439 * normal/arg.c (grub_arg_parse): Correct error handling after
28440 reallocating the argumentlist (check if `argl' is not null instead
28441 of checking if `args' is not null).
28442 * kern/mm.c (grub_realloc): Return the same pointer when using the
28443 same region, instead of returning the header address.
28444
e15199cb 284452004-07-11 Marco Gerards <metgerards@student.han.nl>
28446
28447 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28448 one block instead of two when looking for the initial partition.
28449 (grub_partition_probe): Initialize the local variable `p' with 0.
28450 Use base 10 for the grub_strtoul call.
28451 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28452 need for one local variable.
28453 (grub_strtoul): Don't add the new value to `num', instead of that
28454 just assign it.
28455
020616c2 284562004-07-11 Marco Gerards <metgerards@student.han.nl>
28457
28458 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28459 (pxeboot_img_SOURCES): New variable.
28460 (pxeboot_img_ASFLAGS): Likewise.
28461 (pxeboot_img_LDFLAGS): Likewise.
28462 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28463 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28464 <lode_leroy@hotmail.com>.
28465
6c51eb64 284662004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28467
28468 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28469 there was no input.
28470
cfb12aff 284712004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28472
28473 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28474 the history buffer logic.
28475
6eabba74 284762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28477
28478 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28479 (FILETYPE_INO_SYMLINK): New macros.
28480 (grub_ext2_find_file): Check if the node is a directory using the
28481 inode stat information instead of using the filetype in the
28482 dirent. Exclude the first character of an absolute symlink.
28483 (grub_ext2_dir): Mask out the filetype part of the mode member of
28484 the inode.
28485
66e19ef8 284862004-05-24 Marco Gerards <metgerards@student.han.nl>
28487
28488 Add support for UFS version 1 and 2. Add support for the minix
28489 filesystem version 1 and 2, both the variants with 14 and 30 long
28490 filenames.
f19dbdb7 28491
66e19ef8 28492 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28493 fs/minix.c.
28494 (grub_emu_SOURCES): Likewise.
28495 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28496 (ufs_mod_SOURCES): New variable.
28497 (ufs_mod_CFLAGS): Likewise.
28498 (minix_mod_SOURCES): Likewise.
28499 (minix_mod_CFLAGS): Likewise.
28500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28501 fs/minix.c.
28502 (grubof_SOURCES): Likewise.
28503 * fs/ufs.c: New file.
28504 * fs/minix.c: New file.
28505 * include/grub/fs.h (grub_ufs_init): New prototype.
28506 (grub_ufs_fini): Likewise.
28507 (grub_minix_init): Likewise.
28508 (grub_minix_fini): Likewise.
28509 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28510 minix fs.
28511
cc2e748a 285122004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28513
28514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28515 commands/ls.c, commands/terminal.c, commands/boot.c,
28516 commands/cmp.c and commands/cat.c.
28517 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28518
28519 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28520 "env.h"
28521
4b13b216 285222004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28523
28524 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28525 and grub_, respectively. Because the conversion is trivial and
28526 mechanical, I omit the details here. Please refer to the CVS
28527 if you need more information.
28528
6a142551 285292004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28530
28531 * include/pupa: Renamed to ...
28532 * include/grub: ... this.
28533 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28534 * util/i386/pc/grub-mkimage.c: ... this.
28535 * util/i386/pc/pupa-setup.c: Renamed to ...
28536 * util/i386/pc/grub-setup.c: ... this.
28537 * util/pupa-emu.c: Renamed to ...
28538 * util/grub-emu.c: ... this.
28539
e56cdf21 285402004-03-29 Marco Gerards <metgerards@student.han.nl>
28541
28542 Add support for the newworld apple macintosh (PPC). This has been
28543 tested on the powerbook 2000 only. It only adds support for
28544 generic ieee1275 functions, console and disk support. This should
28545 be easy to port to other architectures with support for Open
28546 Firmware.
f19dbdb7 28547
e56cdf21 28548 * configure.ac: Accept the powerpc as host_cpu. In the case of
28549 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28550 specific tests are only executed while building for the i386.
28551 Inverse test for crosscompile.
28552 * genmk.rb (Utility): Allow assembler files.
28553 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28554 * conf/powerpc-ieee1275.rmk: New file.
28555 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28556 * disk/powerpc/ieee1275/partition.c: Likewise.
28557 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28558 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28559 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28560 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28561 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28562 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28563 * include/pupa/powerpc/ieee1275/loader.h
28564 * include/pupa/powerpc/setjmp.h: Likewise.
28565 * include/pupa/powerpc/types.h: Likewise.
28566 * kern/powerpc/ieee1275/init.c: Likewise.
28567 * kern/powerpc/ieee1275/openfw.c: Likewise.
28568 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28569
28570 These files were written by Johan Rydberg
28571 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 28572
e56cdf21 28573 * boot/powerpc/ieee1275/cmain.c: New file.
28574 * boot/powerpc/ieee1275/crt0.S: Likewise.
28575 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28576 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28577
8c8cc205 285782004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28579
28580 * Makefile.in: Update copyright.
28581 * genmodsrc.sh: Likewise.
28582 * gensymlist.sh: Likewise.
28583 * term/i386/pc/vga.c: Indent correctly.
28584
28585 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28586 bugreporting address.
28587 * util/i386/pc/pupa-setup.c (usage): Likewise,
28588 (main): Call pupa_ext2_init and pupa_ext2_fini.
28589
f19dbdb7 28590 * fs/fat.c (log2): Renamed to ...
8c8cc205 28591 (fat_log2): ... this.
28592 All callers changed.
28593 * kern/misc.c (memcpy): Alias to pupa_memmove.
28594 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28595 lvalue cast.
28596 * util/console.c (pupa_ncurses_fini): Return 0.
28597
28598 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28599 Move fail label here.
28600 [__GNU__]: Don't warn when using stat.
28601 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28602 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28603 long int. Use strtol instead of strtoul.
f19dbdb7 28604
db1771cf 286052004-03-14 Marco Gerards <metgerards@student.han.nl>
28606
28607 * commands/boot.c: New file.
28608 * commands/cat.c: Likewise.
28609 * commands/cmp.c: Likewise.
28610 * commands/ls.c: Likewise.
28611 * commands/terminal.c: Likewise.
28612 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28613 (pupa_register_command): Changed interface to match the new
28614 argument parser.
28615 (pupa_command_execute): Changed (almost rewritten) so it uses
28616 pupa_split_command. Added support for setting variables using the
28617 syntax `foo=bar'.
28618 (rescue_command): Changed to work with the new argument parser.
28619 (terminal_command): Moved from here to commands/terminal.c.
28620 (set_command): New function.
28621 (unset_command): New function.
28622 (insmod_command): New function.
28623 (rmmod_command): New function.
28624 (lsmod_command): New function.
28625 (pupa_command_init): Don't initialize the command terminal
28626 anymore. Initialize the commands set, unset, insmod, rmmod and
28627 lsmod.
28628 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28629 (kernel_img_HEADERS): Add arg.h and env.h.
28630 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28631 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28632 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28633 normal/arg.c.
28634 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28635 terminal.mod.
28636 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28637 (boot_mod_SOURCES): New variable.
28638 (terminal_mod_SOURCES): Likewise.
28639 (ls_mod_SOURCES): Likewise.
28640 (cmp_mod_SOURCES): Likewise.
28641 (cat_mod_SOURCES): Likewise.
28642
28643 * normal/arg.c: New file.
28644 * kern/env.c: Likewise.
28645 * include/pupa/arg.h: Likewise.
28646 * include/pupa/env.h: Likewise.
28647 * font/manager.c (font_command): Changed to match argument parsing
28648 interface changes.
28649 (PUPA_MOD_INIT): Likewise.
28650 * hello/hello.c (pupa_cmd_hello): Likewise.
28651 (PUPA_MOD_INIT): Likewise.
28652 * include/pupa/disk.h: Include <pupa/device.h>.
28653 (pupa_print_partinfo): New prototype.
28654 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28655 (pupa_dl_get_prefix): Likewise.
28656 * include/pupa/misc.h: Include <pupa/err.h>.
28657 (pupa_isgraph): New prototype.
28658 (pupa_isdigit): Likewise.
28659 (pupa_split_cmdline): Likewise.
28660 * include/pupa/normal.h: Include <pupa/arg.h>.
28661 (pupa_command): Changed the prototype of the member `func' to
28662 match the argument parsing interface. Added member `options'.
28663 (pupa_register_command): Updated to match function.
28664 (pupa_arg_parse): New prototype.
28665 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28666 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28667 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28668 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28669 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28670 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28671 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28672 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28673 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28674 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28675 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28676 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28677 * kern/disk.c: Include <pupa/file.h>.
28678 (pupa_print_partinfo): New function.
28679 * kern/dl.c: Include <pupa/env.h>.
28680 (pupa_dl_dir): Variable removed.
28681 (pupa_dl_load): Use the environment variable `prefix' instead of
28682 the variable pupa_dl_dir.
28683 (pupa_dl_set_prefix): Function removed.
28684 (pupa_dl_get_prefix): Likewise.
28685 * kern/i386/pc/init.c: Include <pupa/env.h>.
28686 (pupa_machine_init): Use the environment variable `prefix' instead of
28687 using pupa_dl_set_prefix to set the prefix.
28688 * kern/main.c: Include <pupa/env.h>.
28689 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28690 using pupa_dl_get_prefix to get the prefix.
28691 * kern/misc.c: Include <pupa/env.h>.
28692 (pupa_isdigit): New function.
28693 (pupa_isgraph): Likewise.
28694 (pupa_ftoa): Likewise.
28695 (pupa_vsprintf): Added support for printing values of the type
28696 `double'. Make it possible to format variable output when using
28697 formatting like `%1.2%f'.
28698 (pupa_split_cmdline): New function.
28699 * kern/rescue.c: Include <pupa/env.h>.
28700 (next_word): Removed function.
28701 (pupa_rescue_cmd_prefix): Likewise.
28702 (pupa_rescue_cmd_set): New function.
28703 (pupa_rescue_cmd_unset): New function.
28704 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28705 split the command line instead of splitting it here. Added
28706 support for setting variables using the syntax `foo=bar'. Don't
28707 initialize the prefix command anymore. Initialized the set and
28708 unset commands.
28709 * normal/cmdline.c: Include <pupa/env.h>.
28710 (pupa_tab_complete): Added prototypes for print_simple_completion,
28711 print_partition_completion, add_completion, iterate_commands,
28712 iterate_dev, iterate_part and iterate_dir. Moved code to print
28713 partition information from here to kern/disk.c.
fe6b695a 28714 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 28715 * normal/main.c: Include <pupa/env.h>.
28716 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28717 instead of using pupa_dl_get_prefix to get the prefix.
28718 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28719 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28720 warning.
28721 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28722 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28723 ((unused))' to silence a gcc warning.
28724 (pupa_vga_setcolor): Likewise.
28725 (debug_command): Changed to match argument parsing
28726 interface changes.
28727 * util/pupa-emu.c: Include <pupa/env.h>.
28728 (options): Added 0's for unused fields to silence a gcc warning.
28729 (argp): Likewise.
28730 (main): Use the environment variable `prefix' instead of using
28731 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28732 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28733 and terminal.
28734
28735 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28736 * util/misc.c: Include <malloc.h>.
28737 (pupa_malloc): Rewritten so errors are correctly reported.
28738 (pupa_realloc): Likewise.
28739 (pupa_memalign): Likewise.
28740 (pupa_mm_init_region): Declare unused variables with
28741 `__attribute__ ((unused))' to silence a gcc warning.
28742 * normal/i386/setjmp.S: Remove tab at the end of the file to
28743 silence a gcc warning.
28744 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28745 variables with `__attribute__ ((unused))' to silence a gcc
28746 warning.
28747 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28748 local variable i unsigned to silence a gcc warning.
28749
28750 * kern/term.c: Include <pupa/misc.h>.
28751 (pupa_more_lines): New variable.
28752 (pupa_more): Likewise.
28753 (pupa_putcode): When the pager is active pause at the end of every
28754 screen.
28755 (pupa_set_more): New function.
28756 * include/pupa/term.h (pupa_set_more): New prototype.
28757
28758
3b1139cb 287592004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28760
28761 Now this project is GRUB 2 rather than PUPA. The location of
28762 the CVS repository was moved to GRUB's.
f19dbdb7 28763
3b1139cb 28764 * configure.ac: Use bug-grub as the reporting address.
28765 Use GRUB instead of PUPA.
28766 Change the version number to 1.90.
28767
8367695c 287682004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28769
28770 * genkernsyms.sh: Updated copyright information.
28771 * genmk.rb: Likewise.
28772 * genmodsrc.sh: Likewise.
28773 * gensymlist.sh: Likewise.
28774 * boot/i386/pc/boot.S: Likewise.
28775 * boot/i386/pc/diskboot.S: Likewise.
28776 * disk/i386/pc/biosdisk.c: Likewise.
28777 * disk/i386/pc/partition.c: Likewise.
28778 * font/manager.c: Likewise.
28779 * fs/ext2.c: Likewise.
28780 * fs/fat.c: Likewise.
28781 * include/pupa/boot.h: Likewise.
28782 * include/pupa/device.h: Likewise.
28783 * include/pupa/disk.h: Likewise.
28784 * include/pupa/dl.h: Likewise.
28785 * include/pupa/elf.h: Likewise.
28786 * include/pupa/err.h: Likewise.
28787 * include/pupa/file.h: Likewise.
28788 * include/pupa/font.h: Likewise.
28789 * include/pupa/fs.h: Likewise.
28790 * include/pupa/kernel.h: Likewise.
28791 * include/pupa/loader.h: Likewise.
28792 * include/pupa/misc.h: Likewise.
28793 * include/pupa/mm.h: Likewise.
28794 * include/pupa/net.h: Likewise.
28795 * include/pupa/normal.h: Likewise.
28796 * include/pupa/rescue.h: Likewise.
28797 * include/pupa/setjmp.h: Likewise.
28798 * include/pupa/symbol.h: Likewise.
28799 * include/pupa/term.h: Likewise.
28800 * include/pupa/types.h: Likewise.
28801 * include/pupa/i386/setjmp.h: Likewise.
28802 * include/pupa/i386/types.h: Likewise.
28803 * include/pupa/i386/pc/biosdisk.h: Likewise.
28804 * include/pupa/i386/pc/boot.h: Likewise.
28805 * include/pupa/i386/pc/console.h: Likewise.
28806 * include/pupa/i386/pc/init.h: Likewise.
28807 * include/pupa/i386/pc/kernel.h: Likewise.
28808 * include/pupa/i386/pc/linux.h: Likewise.
28809 * include/pupa/i386/pc/loader.h: Likewise.
28810 * include/pupa/i386/pc/memory.h: Likewise.
28811 * include/pupa/i386/pc/multiboot.h: Likewise.
28812 * include/pupa/i386/pc/partition.h: Likewise.
28813 * include/pupa/i386/pc/time.h: Likewise.
28814 * include/pupa/i386/pc/vga.h: Likewise.
28815 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28816 * include/pupa/util/getroot.h: Likewise.
28817 * include/pupa/util/misc.h: Likewise.
28818 * include/pupa/util/resolve.h: Likewise.
28819 * kern/device.c: Likewise.
28820 * kern/disk.c: Likewise.
28821 * kern/dl.c: Likewise.
28822 * kern/err.c: Likewise.
28823 * kern/file.c: Likewise.
28824 * kern/fs.c: Likewise.
28825 * kern/loader.c: Likewise.
28826 * kern/main.c: Likewise.
28827 * kern/misc.c: Likewise.
28828 * kern/mm.c: Likewise.
28829 * kern/rescue.c: Likewise.
28830 * kern/term.c: Likewise.
28831 * kern/i386/dl.c: Likewise.
28832 * kern/i386/pc/init.c: Likewise.
28833 * kern/i386/pc/lzo1x.S: Likewise.
28834 * kern/i386/pc/startup.S: Likewise.
28835 * loader/i386/pc/chainloader.c: Likewise.
28836 * loader/i386/pc/linux.c: Likewise.
28837 * loader/i386/pc/multiboot.c: Likewise.
28838 * normal/cmdline.c: Likewise.
28839 * normal/command.c: Likewise.
28840 * normal/main.c: Likewise.
28841 * normal/menu.c: Likewise.
28842 * normal/i386/setjmp.S: Likewise.
28843 * term/i386/pc/console.c: Likewise.
28844 * term/i386/pc/vga.c: Likewise.
28845 * util/console.c: Likewise.
28846 * util/genmoddep.c: Likewise.
28847 * util/misc.c: Likewise.
28848 * util/pupa-emu.c: Likewise.
28849 * util/resolve.c: Likewise.
28850 * util/unifont2pff.rb: Likewise.
28851 * util/i386/pc/biosdisk.c: Likewise.
28852 * util/i386/pc/getroot.c: Likewise.
28853 * util/i386/pc/pupa-mkimage.c: Likewise.
28854 * util/i386/pc/pupa-setup.c: Likewise.
28855
e6eced71 288562004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28857
28858 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28859 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28860 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28861 reading and reset it after reading.
28862 (pupa_ext2_close): Return PUPA_ERR_NONE.
28863
28864 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28865 Correct value.
28866 (struct linux_kernel_header): Add kernel_version and
28867 initrd_addr_max.
28868 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28869 pupa_file_read succeeds.
28870 (pupa_rescue_cmd_initrd): Implement.
28871
5aded270 288722003-12-03 Marco Gerards <metgerards@student.han.nl>
28873
28874 * fs/ext2.c (pupa_ext2_label): New function.
28875 (pupa_ext2_fs): Added label.
28876 * fs/fat.c (pupa_fat_label): New function.
28877 (pupa_fat_fs): Added label.
28878 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28879
28880 * kern/misc.c (pupa_strndup): New function.
28881 * include/pupa/misc.h (pupa_strndup): New prototype.
28882
28883 * include/pupa/normal.h: Include <pupa/err.h>.
28884 (pupa_set_history): New prototype.
28885 (pupa_iterate_commands): New prototype.
28886 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28887 <pupa/disk.h>, <pupa/file.h>.
28888 (hist_size): New variable.
28889 (hist_lines): Likewise.
28890 (hist_end): Likewise.
28891 (hist_used): Likewise.
28892 (pupa_set_history): New function.
28893 (pupa_history_get): Likewise.
28894 (pupa_history_add): Likewise.
28895 (pupa_history_replace): Likewise.
28896 (pupa_tab_complete): Likewise.
28897 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28898 completion shows partitionnames while completing partitions, this
28899 feature was suggested by Jeff Bailey.
28900 * normal/command.c (pupa_iterate_commands): New function.
28901 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28902 (pupa_normal_init): Initialize history buffer.
28903 (PUPA_MOD_INIT): Likewise.
28904 (pupa_normal_fini): Free the history buffer.
28905 (PUPA_MOD_FINI): Likewise.
28906
28907 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28908 key.
28909
28910 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28911 * configure.ac [i386]: Check for regparam bug.
28912 (NESTED_FUNC_ATTR) [! i386]: Defined.
28913
1f7315a3 289142003-11-17 Marco Gerards <metgerards@student.han.nl>
28915
28916 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28917 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28918 (pupa_emu_SOURCES): New variable.
28919 (pupa_emu_LDFLAGS): Likewise.
28920 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28921 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28922 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28923 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28924 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28925 (pupa_jmp_buf): New typedef.
28926 (pupa_setjmp) [PUPA_UTIL]: New macro.
28927 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28928 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28929 (pupa_refresh): New prototype.
28930 * include/pupa/util/getroot.h: New file.
28931 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28932 it.
28933 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28934 (pupa_rescue_cmd_cat): Likewise.
28935 (pupa_rescue_cmd_ls): Likewise.
28936 (pupa_rescue_cmd_testload): Likewise.
28937 (pupa_rescue_cmd_lsmod): Likewise.
28938 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28939 * normal/menu.c (run_menu): Likewise.
28940 * kern/term.c (pupa_cls): Likewise.
28941 (pupa_refresh): New function.
28942 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28943 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28944 * util/console.c: New file.
f19dbdb7 28945
1f7315a3 28946 * util/i386/pc/getroot.c: New file.
28947 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28948 (pupa_putchar): New function.
28949 (pupa_refresh): Likewise.
28950 (xgetcwd): Function moved to ...
28951 (strip_extra_slashes): Likewise.
28952 (get_prefix): Likewise.
f19dbdb7 28953 * util/i386/pc/getroot.c: ... here.
1f7315a3 28954 (find_root_device): Function moved and renamed to...
28955 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28956 Changed all callers.
28957 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28958 and renamed to...
28959 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28960 Changed all callers.
28961 * util/misc.c (pupa_memalign): New function.
28962 (pupa_mm_init_region): Likewise.
28963 (pupa_register_exported_symbols): Likewise.
28964 (pupa_putchar): Function removed.
28965 * util/pupa-emu.c: New file.
28966
9a5c1ade 289672003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28968
28969 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28970 (_multiboot_mod_SOURCES): New variable.
28971 (_multiboot_mod_CFLAGS): Likewise.
28972 * loader/i386/pc/multiboot.c: New file.
28973 * include/pupa/i386/pc/multiboot.h: Likewise.
28974 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28975 (pupa_multiboot_real_boot): New function.
28976 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28977 (pupa_multiboot_real_boot): New prototype.
28978 (pupa_rescue_cmd_multiboot): Likewise
28979 (pupa_rescue_cmd_module): Likewise.
28980
28981 * kern/loader.c (pupa_loader_set): Continue when
28982 pupa_loader_unload_func() fails.
28983 (pupa_loader_unset): New function.
28984 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28985
28986 * kern/misc.c (pupa_stpcpy): New function.
28987 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28988
8e72a9c0 289892003-11-12 Marco Gerards <metgerards@student.han.nl>
28990
28991 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28992 for available extensions.
28993
28994 * include/pupa/i386/pc/time.h: New file.
28995 * kern/disk.c: Include <pupa/machine/time.h>.
28996 (PUPA_CACHE_TIMEOUT): New macro.
28997 (pupa_last_time): New variable.
28998 (pupa_disk_open): Flush the cache when there was a timeout.
28999 (pupa_disk_close): Reset the timer.
29000 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
29001 pupa_currticks.
29002 * util/misc.c: Include <sys/times.h>
29003 (pupa_get_rtc): New function.
29004
c4adbd32 290052003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
29006
29007 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
29008 as blocks.
29009 (pupa_ext2_get_file_block): Use blocks member.
29010
29011 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
29012 first block. Return -1 instead of pupa_errno on error.
29013
bfd30f06 290142003-10-27 Marco Gerards <metgerards@student.han.nl>
29015
29016 * README: In the pupa-mkimage example use _chain instead of chain
29017 and ext2 instead of fat.
29018 * TODO: Replace ext2fs with jfs as an example. Add an item for
29019 adding journal playback for ext2fs.
29020 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
29021 (pkgdata_MODULES): Added ext2.mod.
29022 (ext2_mod_SOURCES): New variable.
29023 (ext2_mod_CFLAGS): Likewise.
29024 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
29025 * include/pupa/misc.h (pupa_strncpy): New prototype.
29026 (pupa_strcat): Likewise.
29027 (pupa_strncmp): Likewise.
29028 * kern/misc.c (pupa_strcat): Enable function.
29029 (pupa_strncpy): New function.
29030 (pupa_strncmp): Likewise.
29031 * fs/ext2.c: New file.
f19dbdb7 29032
bfd30f06 29033 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
29034 when the read failed before retrying.
29035 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
29036 (_FILE_OFFSET_BITS): Likewise.
29037 * configure.ac: Added AC_SYS_LARGEFILE.
29038
98d15063 290392003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29040
29041 * genmk.rb (PModule#rule): Make sure to get only symbol names
29042 from the output of nm.
59cad637 29043 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 29044
18d9c7cd 290452003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29046
29047 I forgot to check in these changes for a long time. This adds
29048 incomplete support for VGA console, and this is still very
29049 buggy. Also, a lot of consideration is required for I18N,
29050 UNICODE, and VGA font issues. Therefore, assume that this is
29051 such that "better than nothing".
f19dbdb7 29052
18d9c7cd 29053 * font/manager.c: New file.
29054 * include/pupa/font.h: Likewise.
29055 * include/pupa/i386/pc/vga.h: Likewise.
29056 * term/i386/pc/vga.c: Likewise.
29057 * util/unifont2pff.rb: Likewise.
29058
29059 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
29060 (pkgdata_MODULES): Added vga.mod and font.mod.
29061 (vga_mod_SOURCES): New variables.
29062 (vga_mod_CFLAGS): Likewise.
29063 (font_mod_SOURCES): Likewise.
29064 (font_mod_CFLAGS): Likewise.
29065
29066 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
29067
29068 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 29069 (struct pupa_term): Added init and fini.
18d9c7cd 29070 Changed the argument of putchar to pupa_uint32_t.
29071
29072 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
29073 (pupa_console_real_putchar): New prototype.
29074 (pupa_console_putchar): Removed.
29075 (pupa_console_checkkey): Exported.
29076 (pupa_console_getkey): Likewise.
29077
29078 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
29079 characters.
29080
29081 * kern/term.c (pupa_term_set_current): Rewritten.
29082 (pupa_putchar): Likewise.
29083 (pupa_putcode): New function.
29084
29085 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
29086 (pupa_console_real_putchar): ... this.
29087 (pupa_vga_set_mode): New function.
29088 (pupa_vga_get_font): Likewise.
29089
29090 * normal/command.c: Include pupa/term.h.
29091 (terminal_command): New function.
29092 (pupa_command_init): Register the command "terminal".
29093
29094 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
29095 (DISP_UP): Likewise.
29096 (DISP_RIGHT): Likewise.
29097 (DISP_DOWN): Likewise.
29098 (DISP_HLINE): Likewise.
29099 (DISP_VLINE): Likewise.
29100 (DISP_UL): Likewise.
29101 (DISP_UR): Likewise.
29102 (DISP_LL): Likewise.
29103 (DISP_LR): Likewise.
29104
29105 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 29106
977329f5 291072003-02-08 NIIBE Yutaka <gniibe@m17n.org>
29108
29109 * util/resolve.c (pupa_util_resolve_dependencies): BUG
29110 FIX. Reverse the path_list.
29111
29112 * include/pupa/normal.h: Export pupa_register_command and
29113 pupa_unregister_command.
29114
29115 * hello/hello.c (pupa_cmd_hello): New module.
29116 * conf/i386-pc.rmk: Added hello.mod.
29117
1f5ab428 291182003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
29119
29120 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 29121
1f5ab428 29122 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
29123 (compress_kernel): New variable.
29124 (generate_image): Heavily modified to support compressing a
29125 large part of the core image.
29126
29127 * util/misc.c (pupa_util_read_image): Fix a file descriptor
29128 leak.
29129 (pupa_util_load_image): New function.
29130
29131 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
29132 (pupa_compressed_size): New variable.
29133 (codestart): Enable Gate A20 here.
29134 Decompress the compressed part of the core image.
29135 Rearrange the code to put functions and variables which are
29136 required for initialization in the non-compressed part.
29137 Include lzo1x.S.
29138
29139 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
29140 here.
29141
29142 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
29143
f19dbdb7 29144 * include/pupa/i386/pc/kernel.h
1f5ab428 29145 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
29146 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
29147 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29148 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29149 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
29150
29151 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
29152
29153 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
29154 (Utility#rule): Likewise.
29155
29156 * configure.ac: Check if LZO is available.
29157
ce5bf700 291582003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
29159
29160 * include/pupa/normal.h: New file.
29161 * include/pupa/setjmp.h: Likewise.
29162 * include/pupa/i386/setjmp.h: Likewise.
29163 * normal/cmdline.c: Likewise.
29164 * normal/command.c: Likewise.
29165 * normal/main.c: Likewise.
29166 * normal/menu.c: Likewise.
29167 * normal/i386/setjmp.S: Likewise.
f19dbdb7 29168
ce5bf700 29169 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
29170 (pupa_rescue_cmd_initrd): Likewise.
29171
29172 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
29173 Likewise.
29174
29175 * kern/i386/pc/startup.S (translation_table): New variable.
29176 (translate_keycode): New function.
29177 (pupa_console_getkey): Call translate_keycode.
29178
29179 * kern/rescue.c (attempt_normal_mode): New function.
29180 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
29181 it failed, print a message.
29182
29183 * kern/mm.c (pupa_real_malloc): Print more information when a
29184 free magic is broken.
29185 (pupa_free): If the first free header is not free actually, set
29186 it to P.
29187
29188 * kern/main.c (pupa_load_normal_mode): Just load the module
29189 "normal".
29190 (pupa_main): Don't print the message
29191 "Entering into rescue mode..." here.
29192
29193 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
29194 Declared.
29195 (pupa_rescue_cmd_initrd): Likewise.
29196 (pupa_rescue_cmd_initrd): Likewise.
29197
29198 * include/pupa/symbol.h (FUNCTION): Specify the type.
29199 (VARIABLE): Likewise.
29200
29201 * include/pupa/err.h (pupa_err_t): Added
29202 PUPA_ERR_UNKNOWN_COMMAND.
29203
29204 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
29205 (pupa_dl_get_prefix): Likewise.
29206
29207 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
29208 Added _chain.mod and _linux.mod instead of chain.mod and
29209 linux.mod.
29210 (chain_mod_SOURCES): Renamed to ...
29211 (_chain_mod_SOURCES): ... this.
29212 (chain_mod_CFLAGS): Renamed to ...
29213 (_chain_mod_CFLAGS): ... this.
29214 (linux_mod_SOURCES): Renamed to ...
29215 (_linux_mod_SOURCES): ... this.
29216 (linux_mod_CFLAGS): Renamed to ...
29217 (_linux_mod_CFLAGS): ... this.
29218 (normal_mod_SOURCES): New variable.
29219 (normal_mod_CFLAGS): Likewise.
29220 (normal_mod_ASFLAGS): Likewise.
29221
292222003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
29223
29224 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
29225 possible.
29226
fe6b695a 29227 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 29228 recursively.
29229 (pupa_dl_unref): Unrefer depending modules recursively.
29230 Don't call pupa_dl_unload implicitly, because PUPA can crash if
29231 a module is unloaded before one depending on that module is
29232 unloaded.
29233 (pupa_dl_unload): Unload depending modules explicitly,
29234 if possible.
29235
c04da074 292362003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
29237
29238 * include/pupa/i386/pc/linux.h: New file.
29239 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 29240
c04da074 29241 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
29242 Removed.
29243 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
29244 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
29245 of PUPA_CHAINLOADER_BOOT_SECTOR.
29246
29247 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
29248 (pupa_linux_prot_size): New variable.
29249 (pupa_linux_tmp_addr): Likewise.
29250 (pupa_linux_real_addr): Likewise.
29251 (pupa_linux_boot_zimage): New function.
29252 (pupa_linux_boot_bzimage): Likewise.
29253
29254 * kern/i386/pc/init.c (struct mem_region): New structure.
29255 (MAX_REGIONS): New macro.
29256 (mem_regions): New variable.
29257 (num_regions): Likewise.
29258 (pupa_os_area_addr): Likewise.
29259 (pupa_os_area_size): Likewise.
29260 (pupa_lower_mem): Likewise.
29261 (pupa_upper_mem): Likewise.
29262 (add_mem_region): New function.
29263 (compact_mem_regions): Likewise.
29264 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
29265 the size of the conventional memory and that of so-called upper
29266 memory (before the first memory hole).
29267 Instead of adding each found region to free memory, use
29268 add_mem_region and add them after removing overlaps.
29269 Also, add only 1/4 of the upper memory to free memory. The rest
29270 is used for loading OS images. Maybe this is ad hoc, but this
29271 makes it much easier to relocate OS images when booting.
29272
29273 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
29274 (pupa_enter_rescue_mode): Don't register initrd and module.
29275
29276 * kern/mm.c: Include pupa/dl.h.
29277
29278 * kern/main.c: Include pupa/file.h and pupa/device.h.
29279
29280 * kern/loader.c (pupa_loader_load_module_func): Removed.
29281 (pupa_loader_load_module): Likewise.
29282
29283 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
29284 ``.o''.
29285
29286 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
29287 (pupa_linux_tmp_addr): Likewise.
29288 (pupa_linux_real_addr): Likewise.
29289 (pupa_linux_boot_zimage): Likewise.
29290 (pupa_linux_boot_bzimage): Likewise.
29291
29292 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
29293 (pupa_upper_mem): Likewise.
29294 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
29295 module is too dangerous.
29296
29297 * include/pupa/loader.h (pupa_os_area_addr): Declared.
29298 (pupa_os_area_size): Likewise.
29299 (pupa_loader_set): Remove the first argument. Loader doesn't
29300 manage modules or initrd any longer.
29301 (pupa_loader_load_module): Removed.
29302
29303 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
29304 (linux_mod_SOURCES): New variable.
29305 (linux_mod_CFLAGS): Likewise.
29306
a13f9237 293072003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
29308
29309 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
29310 the length of a blocklist correctly.
29311
29312 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
29313 Use ioctl only if the OS file is a block device.
29314 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
29315 not very useful for normal files.
29316
29317 * kern/main.c (pupa_set_root_dev): New function.
29318 (pupa_load_normal_mode): Likewise.
29319 (pupa_main): Call those above.
29320
29321 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
29322 pupa_uint16_t.
29323
29324 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
29325
a5ffe966 293262003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29327
29328 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
29329 (setup): Configure the installed partition information and the
29330 dl prefix.
29331
29332 * loader/i386/pc/chainloader.c (my_mod): New variable.
29333 (pupa_chainloader_unload): New function.
29334 (pupa_rescue_cmd_chainloader): Refer itself.
29335 (PUPA_MOD_INIT): Save its own module in MY_MOD.
29336
29337 * kern/i386/pc/startup.S (install_partition): Removed.
29338 (version_string): Likewise.
29339 (config_file): Likewise.
29340 (pupa_install_dos_part): New variable.
29341 (pupa_install_bsd_part): Likewise.
29342 (pupa_prefix): Likewise.
29343 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
29344
29345 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
29346 and pupa/misc.h.
29347 (make_install_device): New function.
29348 (pupa_machine_init): Set the dl prefix.
29349
29350 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
29351 (buf): Renamed to ...
29352 (linebuf): ... this.
29353 (pupa_rescue_cmd_prefix): New function.
29354 (pupa_rescue_cmd_insmod): Likewise.
29355 (pupa_rescue_cmd_rmmod): Likewise.
29356 (pupa_rescue_cmd_lsmod): Likewise.
29357 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
29358 rmmod and lsmod.
29359
29360 * kern/mm.c (pupa_memalign): If failed even after invalidating
29361 disk caches, unload unneeded modules and retry.
29362
29363 * kern/misc.c (pupa_memmove): New function.
29364 (pupa_memcpy): Removed.
29365 (pupa_strcpy): New function.
29366 (pupa_itoa): Made static.
29367
29368 * kern/dl.c (pupa_dl_iterate): New function.
29369 (pupa_dl_ref): Likewise.
29370 (pupa_dl_unref): Likewise.
29371 (pupa_dl_unload): Return if succeeded or not.
29372 (pupa_dl_unload_unneeded): New function.
29373 (pupa_dl_unload_all): Likewise.
29374 (pupa_dl_init): Renamed to ...
29375 (pupa_dl_set_prefix): ... this.
29376 (pupa_dl_get_prefix): New function.
29377
29378 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
29379 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
29380 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29381 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29382 (pupa_install_dos_part): Declared.
29383 (pupa_install_bsd_part): Likewise.
29384 (pupa_prefix): Likewise.
29385 (pupa_boot_drive): Likewise.
29386
29387 * include/pupa/types.h: Fix a typo.
29388
29389 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
29390 pupa_memmove.
29391 (pupa_memmove): Declared.
29392 (pupa_strcpy): Likewise.
29393
29394 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
29395 pupa_mod_init takes one argument, its own module.
29396 (pupa_dl_unload_unneeded): Declared.
29397 (pupa_dl_unload_all): Likewise.
29398 (pupa_dl_ref): Likewise.
29399 (pupa_dl_unref): Likewise.
29400 (pupa_dl_iterate): Likewise.
29401 (pupa_dl_init): Renamed to ...
29402 (pupa_dl_set_prefix): ... this.
29403 (pupa_dl_get_prefix): Declared.
29404
29405 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 29406 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 29407 unloaded.
29408 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29409 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29410
29411 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29412 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29413
012d7999 294142003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29415
29416 * util/i386/pc/pupa-setup.c (setup): Define the internal
29417 function find_first_partition_start at the top level, because GCC
29418 3.0.x cannot compile internal functions in deeper scopes
29419 correctly.
29420 (find_root_device): Use lstat instead of stat.
29421 Don't follow symbolic links.
29422 Fix the path-constructing code.
29423
29424 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29425 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29426 by a BLKGETSIZE ioctl first, because block devices don't fill
29427 the member st_mode of the structure stat on Linux.
29428 [__linux__] (linux_find_partition): Use a temporary buffer
29429 REAL_DEV for the working space. Copy it to DEV before returning.
29430 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29431 buffer cache consistent.
29432 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29433 strncmp. The previous value was merely wrong.
29434 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29435
29436 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29437 FAT size is 12. The previous value was merely wrong.
29438
29439 * kern/main.c (pupa_main): Don't split the starting message from
29440 newlines.
29441
29442 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29443 LF, because BIOS goes crazy about character attributes in this
29444 case.
29445
1cc73a62 294462003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29447
29448 * include/i386/pc/util/biosdisk.h: New file.
29449 * util/i386/pc/biosdisk.c: Likewise.
29450 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 29451
1cc73a62 29452 * Makefile.in (INCLUDE_DISTFILES): Added
29453 include/pupa/i386/pc/util/biosdisk.h.
29454 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29455 directory util/i386/pc.
29456 (install-local): Added a rule for sbin_UTILITIES.
29457 (uninstall): Likewise.
29458
29459 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29460
29461 * util/misc.c (xrealloc): New function.
29462 (pupa_malloc): Likewise.
29463 (pupa_free): Likewise.
29464 (pupa_realloc): Likewise.
29465 (pupa_stop): Likewise.
29466 (pupa_putchar): Likewise.
29467
29468 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29469
29470 * include/pupa/util/misc.h (xrealloc): Declared.
29471
29472 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29473 macro.
29474 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29475 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29476
29477 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29478 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29479
29480 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29481 way should be implemented.
29482 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29483
29484 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29485 the size of NAME for safety.
29486 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29487 0x88.
29488
29489 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29490 (pupa_setup_SOURCES): Likewise.
29491
29492 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29493
08b70fe8 294942002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29495
29496 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29497 bunch of pushl's from pusha, because this destroys the return
29498 value.
29499
62ddcc8f 295002002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29501
29502 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29503 This means that any missing prototypes could be fatal. Also, you
29504 must take care when writing assembly code. See the comments at
29505 the beginning of startup.S, for more details.
f19dbdb7 29506
62ddcc8f 29507 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29508 compilation mechanism.
29509 (pupa_chainloader_real_boot): Likewise.
29510 (pupa_biosdisk_rw_int13_extensions): Likewise.
29511 (pupa_biosdisk_rw_standard): Likewise.
29512 (pupa_biosdisk_check_int13_extensions): Likewise.
29513 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29514 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29515 (pupa_get_memsize): Likewise.
29516 (pupa_get_mmap_entry): Likewise.
29517 (pupa_console_putchar): Likewise.
29518 (pupa_console_setcursor): Likewise.
29519 (pupa_getrtsecs): Use pushl instead of push.
29520
29521 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29522 memory instead of the stack for a mmap entry, because some
29523 BIOSes may ignore the maximum size and overflow.
29524
29525 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29526
29527 * genmk.rb (PModule#rule): Compile automatically generated
29528 sources with module-specific CFLAGS as well as other sources.
29529
9962ed99 295302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29531
29532 * configure.ac: Check ld.
29533 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29534 respectively, before checking endianness and sizes.
29535
29536 * Makefile.in (LD): New variable.
f19dbdb7 29537
abdfc3c5 295382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29539
29540 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29541
6a161fa9 295422002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29543
29544 * Changelog: New file.
29545